python - matplotlib 在 IPython 中不使用 matplotlibrc 文件

标签 python matplotlib ipython

我最近从 matplotlib v1.5.3 从 v2.0.0 升级,但通过此更改,matplotlib 在绘制图形时似乎不再使用我编辑的 matplotlibrc 文件。当我打开 matplotlibrc 文件时,我看到我的更改实际上已实现,但是当我输入 matplotlib.rcParams 时,这些更改不会显示。我认为它可能正在查看不同的 matplotlibrc 文件,因此运行了 matplotlib.matplotlib_fname(),但这指向我编辑的 matplotlibrc 文件的同一目录。

有人知道这是怎么回事吗?

仅供引用,我正在 Python 2.7.12 和 IPython 5.1.0 中运行 matplotlib 2.0.0。要在 IPython 中打开 matplotlib,我首先使用命令 %matplotlib

最佳答案

对我来说,问题是 matplotlibrc 正在工作,然后 iPython 是 overriding it在单元格的末端。检查这一点的方法是导入 matplotlib 并在同一单元格中打印 plt.rcParams 字典,然后再次运行同一单元格。如果它在调用之间发生变化,iPython 将覆盖它。

修复方法是添加

c.InteractiveShellApp.matplotlib = 'inline'
c.InlineBackend.rc = {}

到您的ipython_config.py。第二行告诉 iPython 不要更新 rParams 字典。

关于python - matplotlib 在 IPython 中不使用 matplotlibrc 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41862315/

相关文章:

python - 从图中删除颜色条

python - 在 matplotlib 子图之间添加垂直线

Python - 覆盖类变量的初始化

python - pip 和 virtualenv 有什么好处?

python - 使用 __pycache__ 时 pytest 会隐藏警告

python - 如果超过特定范围,是否可以更改绘图中的线条颜色?

python - 从另一个 .ipynb 文件导入函数

python - 如何知道ipython下运行的是哪个python?

python - 在 Pandas DATAFRAME 中移动列

python - 从 str 中提取字符并使用 Pandas 重新格式化数据帧