Matplotlib 中如何设置绘图背景颜色

Jinku Hu 2024年2月15日
  1. 设置特定图的背景色
  2. Matplotlib 设置多个绘图的默认图背景色
Matplotlib 中如何设置绘图背景颜色

axes 对象的 set_facecolor(color) 方法设置背景颜色,或者换句话说,设置相应 plot 的外观颜色。

Matplotlib 设置绘图背景色

设置特定图的背景色

在调用 set_facecolor() 方法之前,我们需要获取 axes 对象。

1. 类似于 Matlab 的 API

plt.plot(x, y)
ax = plt.gca()

完整的示例代码:

import matplotlib.pyplot as plt

plt.plot(range(5), range(5, 10))

ax = plt.gca()
ax.set_facecolor("m")
plt.show()

2. 以面向对象的方法创建图形和轴

可以一起创建图和轴对象,

fig, ax = plt.subplots()

或者先创建 figure,然后再初始化 axes

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

完整的示例代码:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(1)

ax.plot(range(5), range(5, 10))

ax.set_facecolor("m")
plt.show()

或者,

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

ax.plot(range(5), range(5, 10))

ax.set_facecolor("m")
plt.show()

Matplotlib 设置多个绘图的默认图背景色

如果我们需要为多个绘图设置默认背景色,可以在 rcParams 对象中设置 axes.facecolor 属性。

plt.rcParams["axes.facecolor"] = color

完整的示例代码:

import matplotlib.pyplot as plt

plt.rcParams["axes.facecolor"] = "m"

plt.subplot(1, 2, 1)
plt.plot(range(5), range(5, 10))

plt.subplot(1, 2, 2)
plt.plot(range(5), range(10, 5, -1))

plt.show()

Matplotlib 设置绘图背景 Color_rcParams

如你所见,两个图的背景色是相同的。

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 创始人。Jinku 在机器人和汽车行业工作了8多年。他在自动测试、远程测试及从耐久性测试中创建报告时磨练了自己的编程技能。他拥有电气/电子工程背景,但他也扩展了自己的兴趣到嵌入式电子、嵌入式编程以及前端和后端编程。

LinkedIn Facebook

相关文章 - Matplotlib Color