我有一个像这样的python代码:
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
img = mpimg.imread('xxx.png')
fig = plt.figure(figsize=(8,10))
ax1 = fig.add_axes([0., 0.92, 0.1, 0.08])
ax1.imshow(img)
ax1.axvline(0.5, 0, 1, color='gray')
plt.show()
运行此代码会在轴区域显示img。 但是,vline没有出现。
如果我删除该行:ax1.imshow(img)
并再次运行,我会看到vline。
有什么建议吗?
答案 0 :(得分:1)
你的线可能是在左手y轴上画出来的。 x
的{{1}}坐标位于数据坐标中。 ax.axvline
的x轴限制将是图像x方向上的像素数。因此,ax.imshow
坐标0.5将位于x
最左侧像素的中心。
尝试将axvline的imshow
坐标增加到更大的数字,您可能会看到它。
来自axvline
docs:
x
考虑这个例子:
x : scalar, optional, default: 0
x position in data coordinates of the vertical line.
注意左手y轴的蓝线。