Matplotlib 是一个广泛使用的 Python 绘图库,用于创建静态、动态和交互式的图表。在同一图表上绘制多个图形可以通过多种方式实现,以下是一些基础概念和相关信息:
在同一 Figure 中创建多个 Axes,每个 Axes 可以独立绘制不同的图形。
应用场景:比较多个数据集或展示不同类型的图表。
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建 Figure 和子图
fig, axs = plt.subplots(2, 1, figsize=(8, 6))
# 在第一个子图上绘制正弦曲线
axs[0].plot(x, y1, label='Sine')
axs[0].set_title('Sine Wave')
axs[0].legend()
# 在第二个子图上绘制余弦曲线
axs[1].plot(x, y2, label='Cosine', color='red')
axs[1].set_title('Cosine Wave')
axs[1].legend()
plt.tight_layout()
plt.show()
多个子图可以共享同一个轴,便于比较数据。
应用场景:时间序列数据的对比分析。
fig, axs = plt.subplots(2, 1, sharex=True, figsize=(8, 6))
# 在第一个子图上绘制正弦曲线
axs[0].plot(x, y1, label='Sine')
axs[0].set_title('Sine Wave')
axs[0].legend()
# 在第二个子图上绘制余弦曲线
axs[1].plot(x, y2, label='Cosine', color='red')
axs[1].set_title('Cosine Wave')
axs[1].legend()
plt.tight_layout()
plt.show()
在同一 Axes 上绘制多个图形,通过调整透明度或颜色进行区分。
应用场景:展示数据的分布和趋势。
fig, ax = plt.subplots(figsize=(8, 6))
# 绘制正弦曲线
ax.plot(x, y1, label='Sine')
# 绘制余弦曲线
ax.plot(x, y2, label='Cosine', color='red')
ax.set_title('Sine and Cosine Waves')
ax.legend()
plt.show()
原因:多个图形在同一区域绘制,导致视觉上的重叠。
解决方法:
alpha
参数)。fig, ax = plt.subplots(figsize=(8, 6))
ax.plot(x, y1, label='Sine', alpha=0.7)
ax.plot(x, y2, label='Cosine', color='red', alpha=0.7)
ax.set_title('Sine and Cosine Waves')
ax.legend()
plt.show()
通过上述方法,可以有效地在同一图表上绘制多个图形,并解决常见的视觉重叠问题。
云+社区沙龙online [云原生技术实践]
云+社区沙龙online第6期[开源之道]
腾讯云数据湖专题直播
腾讯位置服务技术沙龙
Techo Day 第二期
DBTalk
云+社区技术沙龙[第14期]
云原生正发声
领取专属 10元无门槛券
手把手带您无忧上云