3

我使用此代码生成雷达图:Radar chart with multiple scales on multiple axes;现在我想将此图表放在 2x1 数字设置的右下角。使用下面的代码:

fig = pl.figure(figsize=(5, 5))

titles = ['A','B','C','D','E','F']
parameters_list = ['','2','','4','','6','','8','','10']
labels = [parameters_list, parameters_list, parameters_list,parameters_list,parameters_list,parameters_list]
radar = Radar(fig, titles, labels)

pl.subplot(2, 1, 1)
radar.plot([1, 3, 2, 5, 4, 9],  "-", lw=2, color="r", alpha=0.4, label="first")
pl.subplot(2, 1, 2)
radar.plot([3, 6, 4, 1, 1, 2],  "-", lw=2, color="y", alpha=0.4, label="second")

这会产生两个空白框,而我想获得两个雷达图,一个在另一个之上(请参见下面的链接)。

[1]: http: //i.stack.imgur.com/oaXzf.png - 两个空白框

如果我尝试创建单个雷达图,则代码可以正常工作(请参阅下面的代码和链接):

fig = pl.figure(figsize=(5, 5))
titles = ['A','B','C','D','E','F']
parameters_list = ['','2','','4','','6','','8','','10']
labels = [parameters_list, parameters_list, parameters_list,parameters_list,parameters_list,parameters_list]
radar = Radar(fig, titles, labels)

radar.plot([1, 3, 2, 5, 4, 9],  "-", lw=2, color="r", alpha=0.4, label="first")
radar.ax.legend()

[2]: http://i.stack.imgur.com/LnL6e.png - 雷达图正常工作

我怎样才能让两个雷达图一个在另一个之上?或者如何在其他子图中显示不同类型的图表时将雷达插入子图中?

4

1 回答 1

0

由于您使用的Radar是 HYRY 在Radar chart 中的答案中给出的类,在多个轴上具有多个比例,所以这里有一个使用它的解决方案:

fig = pl.figure(figsize=(5, 5))

titles = ['A','B','C','D','E','F']
parameters_list = ['','2','','4','','6','','8','','10']
labels = [parameters_list, parameters_list, parameters_list,parameters_list,parameters_list,parameters_list]

radar = Radar(fig, titles, labels, rect=[0.0, 0.55, 0.5, 0.45])
radar.plot([1, 3, 2, 5, 4, 9],  "-", lw=2, color="r", alpha=0.4, label="first")

radar = Radar(fig, titles, labels, rect=[0.0, 0.0, 0.5, 0.45])
radar.plot([3, 6, 4, 1, 1, 2],  "-", lw=2, color="y", alpha=0.4, label="second")

结果:

在此处输入图像描述

rect我在该类中使用了可选参数,它提供了[left, bottom, width, height]相对于完整图形的大小。

这样做之后,我不知道你为什么选择使用一个用于显示多个比例的类,因为你似乎只有一个比例(在labels数组中重复 6 次),所以我必须假设你有一个好理由。

于 2016-09-27T15:15:36.513 回答