我使用下面的代码生成了一个雷达图: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 -雷达图工作正常
我怎样才能把两张雷达图放在另一张上面?或者,当其他子图显示不同类型的图表时,我如何将雷达插入到子图中?
发布于 2016-09-27 23:15:37
由于您在Radar chart with multiple scales on multiple axes中使用的是HYRY的答案中给出的Radar类,下面是一个使用它的解决方案:
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]相对于整个图形的大小。
这样做之后,我不知道您为什么选择使用一个用于显示多个scale的类,因为您似乎只有一个scale(在labels数组中重复6次),所以我必须假设您有一个很好的理由。
https://stackoverflow.com/questions/39719439
复制相似问题