【问题标题】:matplotlibrc rcParams modified for Jupyter inline plots为 Jupyter 内联图修改的 matplotlibrc rcParams
【发布时间】:2017-03-07 19:26:36
【问题描述】:

我已经多次看到这个问题出现了,但我认为随着 jupyter/ipython 的更新,这些信息会发生变化。我目前正在运行 python 3.5、jupyter(最新)和 matplotlib 2.0。
%matplotlib inline 绘图具有在导入 matplotlibrc 文件后设置的自定义属性。其中最烦人的是figure.facecolor 属性设置为透明,这在复制/粘贴绘图时会造成严重破坏,因此我必须在笔记本中重置此属性。我似乎找不到此属性的更改位置,或者是否可以在某处创建配置文件来更改这些特殊的 inline 绘图设置

我的问题是,是否可以更改这些设置,如果可以,我该怎么做?

【问题讨论】:

  • 所以问题是如何避免每次都在笔记本顶部输入plt.rcParams["figure.facecolor"] = "white"。对吗?
  • 是的,这是正确的

标签: python matplotlib ipython jupyter


【解决方案1】:

一些 rcParameters 是专门为inline 后端设置的。那些是

{'figure.figsize': (6.0,4.0),  
 'figure.facecolor': (1,1,1,0), # play nicely with white background in the Qt and notebook
 'figure.edgecolor': (1,1,1,0),      
 'font.size': 10, # 12pt labels get cutoff on 6x4 logplots, so use 10pt.
 'figure.dpi': 72, # 72 dpi matches SVG/qtconsole
 'figure.subplot.bottom' : .125 # 10pt still needs a little more room on the xlabel
  }

他们所在的地方是ipykernel/pylab/config.py 文件。 可以编辑此文件以获得所需的行为,例如通过将 facecolor 更改为 'figure.facecolor': (1,1,1,1)(无透明度)。

另一个选项如下:

rcParameters 被定义为InlineBackend 类的一部分,特别是InlineBackend.rc 属性,它是traitlets.Dict 对象。

可以使用ipython configuration system 进行更改,如下所示。

从命令行输入ipython profile create,它将在~/.ipython 中生成默认配置文件。在主配置文件~/.ipython/ipython_config.py 中包含以下行:

c.InlineBackend.rc.update({"figure.facecolor": "white"})

【讨论】:

  • 是否有 ipython 命令设置/强制 matplotlib 使用其默认主题?
  • @steven 在运行时你可以调用plt.rcdefaults()。是这个意思吗?
  • 我实际上是在问一个 ipython 命令之类的东西而不导入 matplotlib。有没有? github.com/microsoft/vscode-python/issues/7114
  • @steven 为什么不更改答案中的ipython_config.py
  • 但是我应该包含什么命令?只需添加plt.rcdefaults() ?
猜你喜欢
  • 2018-06-27
  • 2016-08-05
  • 1970-01-01
  • 2021-04-07
  • 1970-01-01
  • 2016-07-21
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
相关资源
最近更新 更多