3 回答

TA贡献1735条经验 获得超5个赞
使用您通过以下方法之一创建set_facecolor(color)的axesobject方法:
您一起创建了图形和轴
fig, ax = plt.subplots(nrows=1, ncols=1)
您创建了一个图形,然后再创建一个轴
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1) # nrows, ncols, index
您使用了有状态的API(如果您要做的事情不只是几行,尤其是如果您有多个绘图,则上述面向对象的方法可以使生活更轻松,因为您可以引用特定的图形,在某些轴上绘图并自定义要么)
plt.plot(...)
ax = plt.gca()
然后,您可以使用set_facecolor:
ax.set_facecolor('xkcd:salmon')
ax.set_facecolor((1.0, 0.47, 0.42))
轴上带有粉红色背景的示例图
作为颜色的补充:
matplotlib.colors
Matplotlib可识别以下格式以指定颜色:
浮动值的RGB或RGBA元组[0, 1](例如(0.1, 0.2, 0.5)或(0.1, 0.2, 0.5, 0.3));
十六进制RGB或RGBA字符串(例如'#0F0F0F'或'#0F0F0F0F');
浮点值的字符串表示形式,[0, 1]包括灰度值(例如'0.5');
之一{'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'};
X11 / CSS4颜色名称;
来自xkcd颜色调查的名字; 以'xkcd:'(例如'xkcd:sky blue')为前缀;
其中之一{'tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan'}是“ T10”分类调色板中的Tableau颜色(这是默认颜色周期);
“ CN”颜色规范,即“ C”后跟一位数字,这是默认属性周期(matplotlib.rcParams['axes.prop_cycle'])的索引;该索引在艺术家创建时发生,如果循环不包含颜色,则默认为黑色。
除“ CN”外,所有颜色的字符串规格均不区分大小写。

TA贡献1862条经验 获得超7个赞
像这样吗 使用axisbg关键字subplot:
>>> from matplotlib.figure import Figure
>>> from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
>>> figure = Figure()
>>> canvas = FigureCanvas(figure)
>>> axes = figure.add_subplot(1, 1, 1, axisbg='red')
>>> axes.plot([1,2,3])
[<matplotlib.lines.Line2D object at 0x2827e50>]
>>> canvas.print_figure('red-bg.png')
(授予的,不是散点图,也不是黑色背景。)

TA贡献1824条经验 获得超8个赞
一种方法是在脚本中手动设置轴背景色的默认值(请参阅自定义matplotlib):
import matplotlib.pyplot as plt
plt.rcParams['axes.facecolor'] = 'black'
这与Nick T的方法相反,后者更改了特定axes对象的背景颜色。如果您要制作多个具有相似样式的不同绘图,并且不想一直更改其他axes对象,则重置默认值很有用。
注意:相当于
fig = plt.figure()
fig.patch.set_facecolor('black')
从您的问题是:
plt.rcParams['figure.facecolor'] = 'black'
添加回答
举报