我开始使用matplot并管理一些基本情节,但现在我发现很难发现如何做我现在需要的东西:(
我的实际问题是如何将一个全局 Headers 和全局图例放在带有子图的图形上 .
我正在做2x3子图,我有很多不同颜色的图(大约200个) . 为了区分(大多数)我写的东西
def style(i, total):
return dict(color=jet(i/total),
linestyle=["-", "--", "-.", ":"][i%4],
marker=["+", "*", "1", "2", "3", "4", "s"][i%7])
fig=plt.figure()
p0=fig.add_subplot(321)
for i, y in enumerate(data):
p0.plot(x, trans0(y), "-", label=i, **style(i, total))
# and more subplots with other transN functions
(对此有什么想法?:))每个子图都有相同的样式功能 .
现在我正试图获得所有子图的全局 Headers ,以及解释所有样式的全球传奇 . 此外,我需要使字体很小,以适应那里的所有200种样式(我不需要完全独特的样式,但至少有一些尝试)
有人可以帮我解决这个任务吗?
4 回答
Global title :在较新版本的matplotlib中,可以使用Figure.suptitle() .
除了orbeckst answer之外,人们可能还希望将子图移位 . 这是一个OOP风格的MWE:
得到:
对于图例标签,可以使用下面的内容 . Legendlabels是保存的情节线 . modFreq是与绘图线对应的实际标签的名称 . 然后第三个参数是图例的位置 . 最后,你可以传递任何参数,因为我在这里,但主要需要前三个 . 此外,如果在plot命令中正确设置标签,则应该如此 . 要使用location参数调用图例,它会在每个行中找到标签 . 我有更好的运气制作我自己的传奇如下 . 似乎在所有情况下都无法正常工作的情况下工作 . 如果您不理解,请告诉我:
您还可以使用腿来更改图例或几乎任何图例的参数 .
上述评论中所述的全球 Headers 可以通过根据提供的链接添加文本来完成:http://matplotlib.sourceforge.net/examples/pylab_examples/newscalarformatter_demo.html
suptitle
似乎是要走的路,但是对于它的 Value ,figure
有一个transFigure
属性,你可以使用: