如何将Matplotlib矩形边缘设为指定宽度之外?
为了将Matplotlib矩形边缘设为指定宽度之外,我们可以采取以下步骤 –
- 设置图形大小并调整子图之间和周围的填充。
- 创建一个新图或激活现有图。
- 将ax添加到图中作为子图排列的一部分。
- 初始化变量line_width以将矩形设置在指定宽度之外。使用变量xy,w和h作为矩形的中心,宽度和高度。
- 获取一个带有xy锚点和其高度和宽度的矩形实例。
- 获取偏移量transformbox实例。
- 添加一个艺术家路径r(第5步)。
- 获取一个OffsetBox实例的容器。
- 将注释框ab添加到容器框中。
- 要显示图形,请使用show()方法。
范例
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
from matplotlib.offsetbox import AnnotationBbox, AuxTransformBox
plt.rcParams["figure.figsize"] = [7.50,3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1, 6, 8, 6])
line_width = 7
xy,w,h = (1, 3),2,2
r = Rectangle(xy,w,h,fc ='green',ec ='orange',lw = 3)
offsetbox = AuxTransformBox(ax.transData)
offsetbox.add_artist(r)
ab = AnnotationBbox(offsetbox,(xy[0] + w /, xy[1] + w /),
boxcoords =“data”,pad = 0.52,fontsize = line_width,
bboxprops = dict(facecolor =“none”,edgecolor ='r',
lw =line_width))
ax.add_artist(ab)
plt.show()