拥有如下基本图表:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([1,2,3,4,5,6])
f, ax = plt.subplots()
ax.plot(y)
plt.show()
...有没有办法创建一个小箭头,让我们说,进入障碍点" 3"和" 5"?我有这个需要,因为我使用金融系列,我想用小箭头突出显示一些事件发生的点(根据布尔出现的真实/错误列表)。因此,在我上面提到的情况下,并发列表将是[False, False, True, False, True, False]
,但我想这足以将矢量乘以原始数组,以便我得到标记正确的高度。
Here是一个更复杂的网络示例,可以提供视觉概念。提前致谢
答案 0 :(得分:1)
在matplotlib中,您可以使用文本注释annotate your graph suitably。下面的代码显示了一个简单的示例,其中我在线性图中注释了第三个点。显然,如果您在自己的代码中执行此操作,则可以提供更智能的方法来选择箭头点和文本的x,y协调。
import matplotlib.pyplot as plt
import numpy as np
y = np.array([1,2,3,4,5,6])
f, ax = plt.subplots()
ax.plot(y, linestyle='None', marker='o')
for i in [2, 3, 4]:
ax.annotate('', xy=(i-1, i), xytext=(i-1,i+0.5),
arrowprops=dict(facecolor='black',
width=1,
shrink=0.1))
plt.margins(0.1)
plt.show()
编辑我修改了代码,将文本注释删除为空字符串。