matplotlibrc rcParams针对Jupyter内联图进行了修改

时间:2017-03-07 19:26:37

标签: python matplotlib ipython jupyter

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

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

1 个答案:

答案 0 :(得分:2)

某些rcParameter是专门为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"})