Matplotlib 修改绘图背景:纯色、透明度与图片背景设置
在 Matplotlib 数据可视化中,修改绘图背景是提升图表美观度的常用手段。本文通过实际代码示例,详细讲解如何设置纯色背景、调整背景透明度,以及如何将图片作为绘图背景。主要涉及 set_facecolor、set_alpha 以及 imshow 等核心函数的应用。
准备工作:数据加载与基础绘图
为了演示背景修改效果,首先使用 pandas 库读取西雅图天气数据集(seattleWeather.csv),并提取降水(PRCP)、最高温(TMAX)和最低温(TMIN)数据。随后利用 matplotlib.pyplot 创建散点图。
import matplotlib.pyplot as plt
import pandas as pd
# 读取数据
weather_data = pd.read_csv("seattleWeather.csv")
print(weather_data.head())
# 提取绘图所需数据
PRCP = weather_data['PRCP']
TMAX = weather_data['TMAX']
TMIN = weather_data['TMIN']
设置纯色背景
Matplotlib 提供了两种等效的方法来更改坐标轴的背景颜色:通过 set() 函数传入 facecolor 参数,或直接调用 set_facecolor() 函数。两者在底层调用相同的逻辑。
ax = plt.axes()
ax.set_facecolor("orange")
# 或者使用以下等效方式
# ax.set(facecolor = "orange")
plt.scatter(TMIN, PRCP)
plt.show()
控制背景透明度
除了颜色,还可以利用 set_alpha() 参数控制背景的不透明度。该参数取值范围通常为 0.0 到 1.0,其中 1.0 表示完全不透明,0.0 表示完全透明。
1. 橙色背景,完全不透明
将坐标轴背景设为橙色,并设置透明度为 1.0,确保背景颜色清晰可见。
fig = plt.figure()
fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.6)
ax = fig.add_subplot(111)
ax.patch.set_facecolor('orange')
ax.patch.set_alpha(1.0)
plt.scatter(TMIN, PRCP)
plt.show()
2. 橙色背景,完全透明
若将坐标轴背景的 alpha 值设为 0.0,则绘图区域本身背景将变为透明,显示出画布(Figure)的背景色(此处为蓝色)。
fig = plt.figure()
fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.6)
ax = fig.add_subplot(111)
ax.patch.set_facecolor('orange')
ax.patch.set_alpha(0.0)
plt.scatter(TMIN, PRCP)
plt.show()
使用图片作为绘图背景
除了纯色,还可以将本地图片加载为绘图背景。使用 plt.imread() 读取图像文件,并通过 ax.imshow() 显示。默认情况下,Matplotlib 以图像左上角为原点,可以通过 extent 参数指定图像在坐标系中的显示范围。
extent 参数的顺序为:[horizontal_min, horizontal_max, vertical_min, vertical_max]。
# 加载图像
img = plt.imread("rain.jpg")
fig, ax = plt.subplots()
# 显示图像并指定范围
ax.imshow(img, extent=[-5, 80, -5, 30])
# 在背景上绘制散点图
plt.scatter(TMIN, PRCP, color="#ebb734")
plt.show()
以上就是在 Matplotlib 中更改绘图背景颜色的详细内容,更多关于 Matplotlib 数据可视化技巧的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













