简介
在本实验中,你将学习如何使用 Matplotlib 绘制带有方向箭头的椭圆。椭圆是数据可视化中常用的一种形状,用于表示数据。通过在椭圆上添加方向箭头,可以提供有关数据方向的额外信息。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到笔记本标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入 Matplotlib 并创建图形和坐标轴
首先,你需要导入 Matplotlib 并创建一个图形和坐标轴。图形和坐标轴是你绘图的容器。
import matplotlib.pyplot as plt
## 创建一个图形和坐标轴
fig, ax = plt.subplots(subplot_kw={"aspect": "equal"})
创建一个椭圆
接下来,你需要使用 Ellipse 类创建一个椭圆。你可以指定椭圆的中心、宽度和高度,以及旋转角度。
from matplotlib.patches import Ellipse
ellipse = Ellipse(
xy=(2, 4),
width=30,
height=20,
angle=35,
facecolor="none",
edgecolor="b"
)
ax.add_patch(ellipse)
添加方向箭头
你可以通过在短轴的端点处绘制一个标记来向椭圆添加方向箭头。你可以使用 get_co_vertices() 方法获取椭圆顶点的坐标。然后,你可以使用 Affine2D() 类旋转该标记以匹配椭圆的角度。
from matplotlib.markers import MarkerStyle
from matplotlib.transforms import Affine2D
## 在短轴的端点处绘制一个箭头标记
vertices = ellipse.get_co_vertices()
t = Affine2D().rotate_deg(ellipse.angle)
ax.plot(
vertices[0][0],
vertices[0][1],
color="b",
marker=MarkerStyle(">", "full", t),
markersize=10
)
反转方向箭头
如果你想反转方向箭头,可以将标记类型从 > 切换为 <。
## 要反转方向箭头,将标记类型从 > 切换为 <。
ax.plot(
vertices[0][0],
vertices[0][1],
color="b",
marker=MarkerStyle("<", "full", t),
markersize=10
)
显示绘图
最后,你可以使用 show() 方法来显示绘图。
plt.show()
总结
恭喜你!你已经学会了如何使用 Matplotlib 绘制带有方向箭头的椭圆。这项技术对于可视化具有方向的数据很有用。