我需要"突出显示"我的图表/图表的x轴上的一些位置发生了重大事件。由于图表/图表实际上到处都是我不想在图表/图表区域内添加vlines
,而是在图表/图表区域的顶部添加箭头或线条,我在以书面提及事件时可以参考的数字(例如(A))。
我设法绘制了vlines,但标签根本不可见。最重要的是我想要箭头而不是线条,因为读者会更清楚......
我现在如何策划
plt.vlines(
x = position[0],
ymin = axis_ymax,
ymax = axis_ymax + int(axis_ymax * 0.05),
linestyles = 'solid',
label = '(A)'
).set_clip_on(False)
答案 0 :(得分:7)
您可以使用ax.annotate
用箭头标注图表中的点。
使用ax.annotate
,您可以选择注释,箭头的坐标(xy
),文本坐标(xytext
)以及您希望箭头指向的任何属性有(arrowprops
)。
import numpy as np
import matplotlib.pyplot as plt
# Generate some data
x = np.linspace(0, 10, 1000)
y = np.sin(np.exp(0.3*x))
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_ylim(-2,2)
ax.annotate('First maxima',
xy=(np.pi/2., 2),
xytext=(np.pi/2., 2.3),
arrowprops = dict(facecolor='black', shrink=0.05))
plt.show()