【python 的各种模块】 如何用matplotlib来画多个图形,子图,以及图中图
在Python中,可以使用matplotlib库来绘制多个图形、子图以及图中图。以下是一个示例代码,展示了如何使用matplotlib来创建包含子图的复合图形,以及如何在一个图形内嵌套另一个图形。
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建一个复合图形,包含两个子图
fig, (ax1, ax2) = plt.subplots(2)
# 在第一个子图上绘制正弦波
ax1.plot(x, y1)
ax1.set_title('Sine Wave')
# 在第二个子图上绘制余弦波
ax2.plot(x, y2)
ax2.set_title('Cosine Wave')
# 在图中图的情况下,在第一个子图中创建一个新的子图
ax_inner = ax1.inset_axes((0.2, 0.2, 0.4, 0.4)) # 设置子图的位置和大小
ax_inner.plot(x[25:75], y1[25:75]) # 绘制中间图的数据
ax_inner.set_xlim(5, 45) # 设置中间图的x轴范围
ax_inner.set_ylim(-1, 1) # 设置中间图的y轴范围
ax_inner.set_title('Zoomed In Sine Wave')
# 显示图形
plt.show()
这段代码首先导入了matplotlib.pyplot和numpy模块。然后创建了两组数据,分别用于绘制正弦和余弦波。接着,使用plt.subplots(2)
创建了一个包含两个子图的复合图形。最后,在每个子图上绘制了相应的波形,并在第一个子图中添加了一个嵌套的子图来显示数据的放大视图。使用plt.show()
显示了最终的图形。
评论已关闭