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