我可以访问图形实例fig = pylab.gcf()
,并且我知道在该图形中有一个图例,我可以通过myLegend = fig.gca().legend_
进行访问。现在我想要更改图例的属性。其中一些我可以通过像myLegend.set_frame_on(True)
这样的设置器进行访问。
当图例被创建时,它接受许多关键字参数:
class matplotlib.legend.Legend(parent, handles, labels, loc=None, numpoints=None, markerscale=None, scatterpoints=None, scatteryoffsets=None, prop=None, fontsize=None, borderpad=None, labelspacing=None, handlelength=None, handleheight=None, handletextpad=None, borderaxespad=None, columnspacing=None, ncol=1, mode=None, fancybox=None, shadow=None, title=None, framealpha=None, bbox_to_anchor=None, bbox_transform=None, frameon=None, handler_map=None)
如何在图例创建后修改所有关键字参数?
其中一个有问题的参数是numpoints
(图例中的标记数,默认为2)。以下是我想要更改它的示例:
这展示了我想要如何编程
import pylab
pylab.plot(0,0,'ro', label = 'one point')
pylab.legend(loc = "lower left")
# no modifications above this line
setattr(pylab.gcf().gca().legend_, 'numpoints',1)
pylab.show()
这展示了我希望它看起来的样子。
import pylab
pylab.plot(0,0,'ro', label = 'one point')
pylab.legend(numpoints = 1, loc = "lower left")
pylab.show()
我已经检查了源代码,发现一个名为numpoint的变量被更改了,但大写字母没有被更新到屏幕上。我错过了什么吗?