我尝试用ax.annotate
注解一个线图,如下所示。
import numpy as np
import matplotlib.pyplot as plt
x_start = 0
x_end = 200
y_start = 20
y_end = 20
fig, ax = plt.subplots(figsize=(5,5),dpi=600)
ax.plot(np.asarray([i for i in range(0,1000)]))
ax.annotate('', xy=(x_start, y_start), xytext=(x_end, y_end), xycoords='data', textcoords='data',
arrowprops={'arrowstyle': '|-|'})
plt.show()
其中给出了一个图(放大)
虽然我将x_start
指定为0
,将x_end
指定为200
,但在x轴上,实际的start大于0
,实际的end小于200
。
如何正确地将此注解与设置的坐标对齐?
1条答案
按热度按时间rbl8hiat1#
默认情况下,箭头两端收缩2点(请参见doc)。您可以将
shrinkA
和shrinkB
设置为0以与x轴对齐:输出: