在matplotlib中的垂直和水平线

我不明白为什么我无法在指定的限制下创build水平和垂直的线条。 我想通过这个框来限制数据。 但是,双方似乎不遵守我的指示。 为什么是这样?

# CREATING A BOUNDING BOX # BOTTOM HORIZONTAL plt.axhline(y=.4, xmin=0.25, xmax=0.402, linewidth=2, color = 'k') # RIGHT VERTICAL plt.axvline(x=0.402, ymin=0.4, ymax = 0.615, linewidth=2, color='k') # LEFT VERTICAL plt.axvline(x=0.1, ymin=0.58, ymax = 0.79, linewidth=2, color='k') plt.show() 

在这里输入图像说明

您正在调用的pyplot函数, axhline()axvline()绘制横跨轴范围的一部分的线,而不考虑坐标。 参数xminymin使用值0.0作为轴的最小值,1.0作为轴的最大值。

相反,使用plt.plot((x1, x2), (y1, y2), 'k-')从点(x1,y1)到点(x2,y2)绘制一条线。 请参阅pyplot.plot

如果要添加边界框,请使用矩形:

 ax = plt.gca() r = matplotlib.patches.Rectangle((.5, .5), .25, .1, fill=False) ax.add_artist(r) 

Rectangle文档