如何更改剧情背景颜色?
我正在matplotlib散点图,需要改变实际阴谋的背景为黑色。 我知道如何改变剧情的脸色使用:
fig = plt.figure() fig.patch.set_facecolor('black')
我的问题是,这改变了阴谋周围空间的颜色。 如何更改剧情的实际背景颜色?
如果已经有axes
对象,例如如果使用了f, ax = plt.subplot()
或plt.subplots()
,或者只能通过ax = plt.gca()
获取当前轴,则可以直接使用它的方法, set_facecolor
:
ax.set_facecolor('red') ax.set_facecolor((1, 0, 0))
像这样的东西? 使用axisbg
关键字来axisbg
:
>>> 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')
(当然,不是散点图,也不是黑色背景。)
一种方法是在脚本中手动设置轴背景色的默认值(请参阅定制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'
如果你已经有了axes
对象,就像在Nick T的答案中一样 ,你也可以使用
ax.patch.set_facecolor('black')
其他答案中的一个build议是使用ax.set_axis_bgcolor("red")
。 但是,这是贬值。
还有build议使用ax.patch.set_facecolor("red")
。 虽然这工作正常,更简单的解决scheme是使用