我正在使用ipython
matplotlib
。是否可以为matplotlib
绘图配置默认背景颜色? curent(白色)颜色必须来自某个地方。是否可以将其覆盖为#CCCCCC
?
注意:默认情况下,我不是指给定ipython笔记本的默认值。我的意思是matplotlib
安装的默认值。
@Ffisegydd建议的解决方案有效。但是,在设置axes.facecolor : F4EAEA
后,我仍然会在情节周围出现白边:
我怎样摆脱那些?
现在我在我的/etc/matplotlibrc
中设置了以下内容,并且每次更改后我都重新启动了ipython notebook;
axes.facecolor : F4EAEA
figure.facecolor : F4EAEA
figure.edgecolor : F4EAEA
savefig.facecolor : F4EAEA
savefig.edgecolor : F4EAEA
该图与原始屏幕截图相同。即情节周围有白色条纹。
我正在使用ipython,我在~/.config/ipython/profile_nbserver/static/custom/custom.css
div.output_area {
border-radius: 4px;
background: #F4EAEA !important;
border: thin solid #4a4a4a;
}
答案 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])
交互式绘图的facecolor和保存的内容之间还有一个区别;如果您想在结果文件中获得统一的背景,则还必须将facecolor
传递给f.savefig
。
您可以使用rcParams
字典中的以下字段更改默认值:
import matplotlib as mpl
mpl.rcParams["figure.facecolor"]
mpl.rcParams["axes.facecolor"]
mpl.rcParams["savefig.facecolor"]
请注意,这在IPython笔记本中有一个意外的工作,带有内联后端,其中您在单元格下方看到的图形的“已保存”版本不受figure
参数控制,而是由{{{ 1}}参数。