在使用plt.rc(...)
更改 matplotlib 的选项后,我无法"更新"图形。
(我正在与IPython的交互模式下使用Python 3.6.8。
这是我正在尝试做的事情(一个最小的例子(:
In [1]: %matplotlib tk
In [2]: import matplotlib.pyplot as plt
In [3]: plt.rc('axes', labelsize=5)
In [4]: fig = plt.figure()
In [5]: plt.plot([1,2,3], [4,5,6])
Out[5]: [<matplotlib.lines.Line2D at 0x7ffb128accc0>]
In [6]: fig.get_axes()[0].set_xlabel('This is the x label')
Out[6]: Text(0.5, 23.52222222222222, 'This is the x label')
In [7]: plt.rc('axes', labelsize=20)
In [8]: fig.canvas.draw()
这将生成一个具有非常小的 x 轴标签的图。不幸的是,在之后
plt.rc('axes', labelsize=20)
fig.canvas.draw()
标签大小不会更新。
根据这个文件,我认为fig.canvas.draw()
会做到这一点。
背景:我有几个腌制的人物对象,加载后需要调整。
大多数 rcParameters 在创建相应对象时生效。创建轴后更改轴属性不起作用。
当然,您可以创建一个新的图形和轴。或者,您可以通过其 API 更改现有艺术家的属性。例如
fig.get_axes()[0].title.set_fontsize(20)
在这种情况下。