为Matplotlib创建默认值集

phy*_*ael 6 python default matplotlib presentation

我经常为自己的研究制作情节,并且所有的默认设置都很好,但是经常需要切换到为谈话/演示而设计的情节; 我手动设置所有字体大小更大,以便于阅读:

plot(xdata, ydata)
xlabel("x-axis data", fontsize=20)
ax = gca()
for labeltick in ax.xaxis.get_majorticklabels() + ax.yaxis.get_majorticklabels():
        labeltick.set_fontsize(15)
Run Code Online (Sandbox Code Playgroud)

等等.

由于文档和问题,如这一次我知道如何控制默认情况下,当我启动matplotlib绘制参数.我想快速写一些东西(mpl_defaults.py):

import matplotlib as mpl
def plot_for_talks():
    mpl.rcParams['font.size'] = 20
    mpl.rcParams['figure.subplot.left'] = .2
    mpl.rcParams['figure.subplot.right'] = .8
    mpl.rcParams['figure.subplot.bottom'] = .2
    mpl.rcParams['figure.subplot.top'] = .8
Run Code Online (Sandbox Code Playgroud)

然后我的绘图代码可以包括

import mpl_defaults
plot_for_talks()
Run Code Online (Sandbox Code Playgroud)

我的问题:有没有更合适的方法来做到这一点?也许已经内置的东西?

Kab*_*bie 4

尝试这个:

import matplotlib as mpl    
mpl.rc('figure.subplot', left=.2, right=.8, bottom=.2, top=.8)
Run Code Online (Sandbox Code Playgroud)

并且应该有一个“site-packages/matplotlib/mpl-data/matplotlibrc”文件,如文档 5.1 中所述。

使用 mpl.matplotlib_fname() 获取 rc 文件路径,并修改它以使设置永久有效。

  • @vgm64:那么你的解决方案就足够好了。mpl.rcdefaults() 将恢复标准 matplotlib 默认设置。因此您可以将所有设置写入 mysettings.py 等文件中。而且您不必将设置调用放在函数中,只需将它们写入顶部范围即可。当你想切换到“演示”模式时:“import mysettings”,切换回:“mpl.rcdefaults()”,再次“演示”模式:reload(mysettings) (2认同)