Jupyter重新加载自定义mplstyles
问题描述:
我想为matplotlib中的图开发自定义样式。出于这个原因,我有一个定制样式表(my_style.mpstyle
)位于默认目录(~/.config/matplotlib/styles
)。我可以在没有问题的情况下使用Python脚本完成此任务,但最近我发现自己更多地使用了Jupyter。尽管样式表通常可以工作,但是我遇到这样的问题,除非重新启动内核,否则不会考虑样式表中的更改 - 在执行单元时是否有重新加载样式表的方式,以便我可以使用Jupyter开发样式?Jupyter重新加载自定义mplstyles
谢谢。
答
我通过定义PYTHONSTARTUP file来解决这个问题。这是一个包含一组python命令(通常为import
语句)的文件,每次启动python解释器时都会自动执行该命令,即使在启动jupyter应用程序或重新启动内核时也是如此。
这是我的启动文件的一部分,它导入pyplot并设置样式表。
try:
import matplotlib.pyplot as plt
print('import matplotlib.pyplot as plt')
except:
print('Could not import matplotlib.pyplot')
try:
plt.style.use('mystylesheet')
except:
print('No mpl style sheet set; could not find "mystylesheet"')
为了使Python执行的启动文件,你需要定义环境变量PYTHONSTARTUP=full/path/to/startupfile
。在Linux中,这很容易;只是修改.bashrc
包括
export PYTHONSTARTUP="full/path/to/startupfile"
对于windows它是一个涉及多一点,当然过程从一个版本到另一个变化。看起来总结了几个版本的过程的Here is one website。