使用不同的matplotlibrc进行savefig

时间:2017-12-08 18:09:59

标签: matplotlib themes jupyter-notebook

我正在使用Jupyter Notebook,其matplotlibrc样式与使用jupyterthemes的主题集保持一致。如果我想将它导出到PNG以在我的其他文档中使用它,那么该绘图样式看起来并不好。

当我执行matplotlibrc时,如何指定其他savefig

2 个答案:

答案 0 :(得分:2)

大多数matplotlib样式设置在创建它们所应用的对象时应用 因此,您需要创建两个不同的图,一个具有笔记本的通常样式,另一个具有样式文件中的样式。后者将成为拯救者。

一个不错的解决方案是在函数中创建一个图。然后,您可以在上下文with plt.style.context(<your style>):中调用此函数,以使图形具有不同的样式。

import matplotlib.pyplot as plt

def plot():
    fig, ax = plt.subplots()
    ax.plot([2,3,4], label="label")
    ax.legend()

# Plot with general style of the notebook    
plot()

# Plot with your chosen style for saved figures
with plt.style.context('ggplot'):
    plot()
    plt.savefig("dark.png")
    #plt.close(plt.gcf()) # if you don't want to show this figure on screen

plt.show()

enter image description here

此处相关:matplotlib customizing指南。

答案 1 :(得分:1)

细读matplotlib/__init__.py会显示一些用于管理rcParams的函数。要从文件更新rcParams,请使用matplotlib.rc_file

import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.rc_file('/tmp/matplotlibrc')
plt.plot([0,1], [0,10])
plt.savefig('/tmp/out.png')
含有/tmp/matplotlibrc

lines.linewidth   : 10     # line width in points
lines.linestyle   : --     # dashed line

的产率 enter image description here

PS。事后看来,找到rc_file后,Google搜索显示已记录here