为Matplotlib创建默认值集合
我经常需要为自己的研究制作图表,默认的设置都挺好的,但有时候我需要制作适合演讲或展示的图表;为了让大家更容易阅读,我会手动把所有的字体大小调得大一点:
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)
等等。
多亏了文档和像这样的提问,我知道在启动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
然后我的绘图代码就可以直接包含
import mpl_defaults
plot_for_talks()
我的问题是:有没有更合适的方法来做到这一点?也许已经有内置的功能可以使用?
2 个回答
4
如果你通过文件夹来管理不同的展示模式,可以在每个项目的文件夹里放一个matplotlibrc文件。这样,matplotlib就会使用当前文件夹里的那个文件。
4
试试这个:
import matplotlib as mpl
mpl.rc('figure.subplot', left=.2, right=.8, bottom=.2, top=.8)
这里面应该有一个"site-packages/matplotlib/mpl-data/matplotlibrc"的文件,这在文档5.1里有说明。
你可以用mpl.matplotlib_fname()这个命令来找到你的rc文件的路径,然后修改它,这样设置就会一直生效。