更改matplotlib图的默认背景颜色

时间:2014-08-11 15:12:02

标签: matplotlib ipython

我正在使用ipython matplotlib。是否可以为matplotlib绘图配置默认背景颜色? curent(白色)颜色必须来自某个地方。是否可以将其覆盖为#CCCCCC

注意:默认情况下,我不是指给定ipython笔记本的默认值。我的意思是matplotlib安装的默认值。

@Ffisegydd建议的解决方案有效。但是,在设置axes.facecolor : F4EAEA后,我仍然会在情节周围出现白边:

enter image description here

我怎样摆脱那些?

更新:

现在我在我的/etc/matplotlibrc中设置了以下内容,并且每次更改后我都重新启动了ipython notebook;

axes.facecolor      : F4EAEA   
figure.facecolor : F4EAEA  
figure.edgecolor : F4EAEA   
savefig.facecolor : F4EAEA    
savefig.edgecolor : F4EAEA    

该图与原始屏幕截图相同。即情节周围有白色条纹。

UPDATE2:

我正在使用ipython,我在~/.config/ipython/profile_nbserver/static/custom/custom.css

中有以下自定义css
div.output_area {
  border-radius: 4px;
  background: #F4EAEA !important;
  border: thin solid #4a4a4a;
}

2 个答案:

答案 0 :(得分:11)

您可以通过各种方式customise matplotlib

如果您希望在整个计算机上进行自定义,则matplotlib会使用“matplotlibrc”配置文件作为默认设置。

如果您想编辑它以更改默认轴facecolor(背景技术术语),那么您需要取消注释并调整此行:

#axes.facecolor : white # axes background color

如果您希望将背景颜色设置为#CCCCCC,则应将该行更改为:

axes.facecolor : CCCCCC # axes background color

N.B。如果您重新安装matplotlib,将被覆盖。为防止这种情况,您可以将其保存在“HOME / .matplotlib / matplotlibrc”中作为示例注释状态。

如果您希望暂时将其更改为其他颜色,只需在脚本顶部添加以下内容:

import matplotlib as mpl

mpl.rcParams['axes.facecolor'] = '111111' # Or any suitable colour...

如果您希望修改单个matplotlib.axes对象,请使用ax.set_axis_bgcolor('...')

答案 1 :(得分:10)

您需要设置轴图形背景颜色:

f = plt.figure(facecolor=".6")
ax = f.add_subplot(111, axisbg=".6")
ax.plot([0, 1, 2], [1, 0, 2])

enter image description here

交互式绘图的facecolor和保存的内容之间还有一个区别;如果您想在结果文件中获得统一的背景,则还必须将facecolor传递给f.savefig

您可以使用rcParams字典中的以下字段更改默认值:

import matplotlib as mpl
mpl.rcParams["figure.facecolor"]
mpl.rcParams["axes.facecolor"]
mpl.rcParams["savefig.facecolor"]

请注意,这在IPython笔记本中有一个意外的工作,带有内联后端,其中您在单元格下方看到的图形的“已保存”版本不受figure参数控制,而是由{{{ 1}}参数。