使 matplotlib 图形识别 rc 参数的更改



在使用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) 

在这种情况下。

最新更新