matplotlib 在图片上画包围框
时间: 2024-09-29 13:06:35 浏览: 45
利用matplotlib为图片上添加触发事件进行交互
Matplotlib是一个强大的数据可视化库,用于Python中创建静态、动态、交互式的数据图形。如果你想在matplotlib生成的图像上添加矩形或边界框(通常称为“bounding box”),你可以使用`plt.axvline()`或`plt.axhline()`函数来绘制水平线或垂直线作为边框的参考,然后结合`annotate()`函数来添加文本标签。
例如,下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
# 创建一个基础图像
x = [0, 1, 2, 3]
y = [0, 1, 4, 9]
plt.plot(x, y)
# 添加一条垂直边框
bbox_props = dict(boxstyle="rarrow", fc="w", ec="0.5", lw=2)
t = "这是边框说明"
xytext=(0.75, 0.9), # 文本的位置
xy=(2, 8), # 矩形的位置
arrowprops=dict(arrowstyle="->")
plt.annotate(t, xy, xytext, bbox=bbox_props, arrowprops=arrowprops)
# 显示图像
plt.show()
```
在这个例子中,`bbox_props`字典设置了边框的样式,`xy`和`xytext`定义了文本和边框的位置。`annotate()`函数会将文本放置在指定位置,并连接到该位置通过箭头指向的位置。
阅读全文