使用新的rc参数重新绘制一个matplotlib图形。

5

有没有一种方便的方法来使用新的rcParams更新已经存在的matplotlib图形?背景是我想以不同的属性(例如线宽、字体等)导出图形。是否有类似于“重绘()”选项的东西?谢谢!


你能不能在每个图之前不设置rcParams? - DavidG
不可以,因为屏幕上的图形不一定要与导出的图形相同。 - mneuner
1个回答

1

使用fig.canvas.draw()

参见如何更新matplotlib中的图表?如何使用Python的matplotlib重新绘制图像?

在Jupyter笔记本中:

%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib as mpl

mpl.rcParams['figure.figsize']=(5,5)
mpl.rcParams['font.size']=50

fig = plt.figure()
x = [1,2,3]
y = [3,4,5]

plt.plot(x,y,label='data')
plt.legend()
plt.show()

mpl.rcParams['font.size']=5
fig.canvas.draw()
fig.savefig('saved.png')

from IPython.display import Image
Image('saved.png')

enter image description here


1
我在重新编写您的代码时遇到了困难。第二个图总是与第一个图具有相同的字体大小。我正在使用Python 3.9.10、matplotlib 3.5.3和jupyterlab 3.4.5。 - eco

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接