Matplotlib 中如何设置绘图背景颜色
    
    Jinku Hu
    2024年2月15日
    
    Matplotlib
    Matplotlib Color
    Matplotlib rcParams
    
 
轴 axes 对象的 set_facecolor(color) 方法设置背景颜色,或者换句话说,设置相应 plot 的外观颜色。

设置特定图的背景色
在调用 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()

如你所见,两个图的背景色是相同的。
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
作者: Jinku Hu
    
