我最近从v2.0.0升级了matplotlib v1.5.3,但是在这个改变的情况下,似乎matplotlib在绘制数字时不再使用我编辑过的matplotlibrc文件。当我打开matplotlibrc文件时,我发现我的更改实际上已实现,但是当我键入matplotlib.rcParams
时,不会显示这些更改。考虑到它可能正在查看不同的matplotlibrc文件,我运行matplotlib.matplotlib_fname()
,但这指向我编辑的matplotlibrc文件的同一目录。
有谁知道这里发生了什么?
仅供参考,我使用IPython 5.1.0在Python 2.7.12中运行matplotlib 2.0.0。要在IPython中打开matplotlib,我首先使用命令%matplotlib
。
答案 0 :(得分:1)
在matplotlib 2.0.0中,Linux上matplotlibrc
文件的默认位置已从
~/.matplotlib/matplotlibrc
到
~/.config/matplotlib/matplotlibrc
尝试将自定义文件移动到那里,看看它是否有效。当我从1.5.3移动到2.0.0时,这对我有用。
有关如何找到正确的matplotlibrc文件的详细信息,请参阅docs。
答案 1 :(得分:0)
对我来说,问题在于matplotlibrc 正在工作,然后iPython在单元格末尾overriding it处。检查此方法的方法是导入matplotlib并在同一单元格中打印plt.rcParams
字典,然后再次运行同一单元格。如果在两次调用之间发生变化,则iPython会覆盖它。
解决方法是添加
c.InteractiveShellApp.matplotlib = 'inline'
c.InlineBackend.rc = {}
您的ipython_config.py
。第二行告诉iPython不要更新rParams字典。