在子图中使用雷达图

Use radar chart in a subplot

我用这段代码制作了雷达图: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")

这会产生两个空白框,而我想要得到两个雷达图,一个在另一个上方(参见下面的 link)。

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

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

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 - 雷达图工作正常

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

由于您使用的是 HYRY 在 Radar chart with multiple scales on multiple axes 中的回答中给出的 Radar class,这里有一个使用它的解决方案:

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")

结果:

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

这样做之后,我不知道您为什么选择使用用于显示多个比例尺的 class,因为您似乎只有一个比例尺(在 [= 中重复了 6 次) 14=] 数组),所以我必须假设你有充分的理由。