【发布时间】:2018-08-12 12:06:51
【问题描述】:
我想知道如何永久更改 matplotlib.rcParams 而不是每次打开 jupyter notebook 时都指示它。 (比如将配置文件更改为默认值)。
谢谢
【问题讨论】:
我想知道如何永久更改 matplotlib.rcParams 而不是每次打开 jupyter notebook 时都指示它。 (比如将配置文件更改为默认值)。
谢谢
【问题讨论】:
简短回答,也供个人参考……
我还是更喜欢在代码中指示它。但是,不必对每个参数都执行此操作,因为它可以在调用 style 文件的一行中完成。
无论如何,这里有几种方法,从最永久更改到最软和微妙的参数更改方式:
更改matplotlibrc文件中的默认参数,你可以找到它的位置:
import matplotlib as mpl
mpl.get_configdir()
通过修改~/.ipython/profile_default/ipython_kernel_config.py 中的选项或您的配置文件所在的任何位置(ipython locate profile 查找)更改 matplotlib 默认选项在 iPython 中的加载方式(有关详细信息,请参阅this answer)
您可以创建自己的自定义 rcParams 文件并将它们存储在 .config/matplotlib/stylelib/*.mplstyle 或 os.path.join(matplotlib.get_configdir(), stylelib) 所在的任何位置。
文件应采用以下格式,类似于matplotlibrc,例如my_dark.mplstyle:
axes.labelcolor: white
axes.facecolor : 333333
axes.edgecolor : white
ytick.color : white
xtick.color : white
text.color : white
figure.facecolor : 0D0D0D
这是一个带有白色轴和白色刻度标签的深色背景样式示例...
要使用它,在你的情节之前,调用:
import matplotlib.pyplot as plt
plt.style.use("my_dark")
# Note that matplotlib has already several default styles you can chose from
您可以同时使用几个样式来覆盖样式,最后一个覆盖其前身的参数。这对于保持例如通过覆盖所有与颜色相关的参数,来自特定样式(纸状、演示文稿)的字体变量,但同时在顶部切换暗模式。
类似plt.style.use(["paper_fonts", "my_dark"])
更多信息在他们的documentation。
您还可以使用上下文管理器,我认为这个选项非常棒,可以执行以下操作:
import matplotlib as mpl
import matplotlib.pyplot as plt
with mpl.rc_context(rc={'text.usetex': True}, fname='screen.rc'):
plt.plot(x, a)
plt.plot(x, b)
在这里,我们使用了文件screen.rc 中定义的第一组参数,然后仅针对plt.plot(x,a) 调整text.usetex 值,而plt.plot(x, b) 将使用另一组(此处为默认值)rc 参数。
再次,请参阅the doc 了解更多信息。
【讨论】: