我想增加绘图的总字体大小,然后将其重置为默认值。如果我通过plt.rcParams.update()
增加fontsize,并通过plt.rcParams.update()
减少fontsize,那么一切都很好。但是,如果我通过plt.rcParams = plt.rcParamsDefault.copy()
重置参数,fontsize将不会减小到原始值。同样,在尝试了此重置之后,即使使用plt.rcParams.update()
,我也无法再减小fontsize。我正在使用PyCharm,但这种行为甚至出现在普通的IPython控制台中
Python是否正在访问另一个“隐藏”参数集?我应该以不同的方式更改绘图参数吗
规范:Python 3.7.6、matplotlib 3.1.2、IPython 7.11.1
考虑这个极小的例子:
import numpy as np
import matplotlib.pyplot as plt
plt.ion()
np.random.seed(999)
data = np.random.random((10,10))
plt.figure()
plt.imshow(data)
plt.rcParams.update({'font.size': 30})
plt.figure()
plt.imshow(data)
bug = False
if bug:
plt.rcParams = plt.rcParamsDefault.copy()
plt.ion()
else:
plt.rcParams.update({'font.size': 10})
plt.figure()
plt.imshow(data)
根据rcParams documentation报告:
plt.rcParams.update()
函数李>plt.rcParams['font.size'] = 10
matplotlibrc
文件默认值)的操作如下所示李>plt.rcdefaults() # from matplotlib defaults
plt.rc_file_defaults() # from file
你能试试这些更新和重置功能吗?我怀疑update函数可能正在重写当前或文件默认值。我还记得在IPython控制台中读到rcParams的行为不同,但我现在找不到引用
恢复默认参数的两个选项:
plt.rcdefaults()
(如@ilke444's answer中所述)plt.rcParams.update(plt.rcParamsDefault)
这是因为您只需将一些新字典分配给变量。它不会更新原始版本。要理解这一点,需要一个简单的案例
相关问题 更多 >
编程相关推荐