我有一个图,看起来像:
现在,我想基于两个X坐标在X轴上方添加一些其他信息。
例如,将值1376和1837连接起来并对其进行注释(我知道它看起来很烂,但只是您有个主意。当然,文本的位置也不理想):
并且将有几个可以重叠的区域。我尝试使用plt.arrow(1376, 0, 1837, 0)
进行操作,但箭头并没有在1837年停止。它一直在X轴的末端。我也使用基本的文本注释工具进行了尝试,但是我从未得到想要的东西。另一种解决方案是将信息添加到标题下方的图形顶部。因此,您关于顶部或底部的任何想法都可能会有所帮助。
最佳答案
一个可能的解决方案,尽管这是一个手动过程,并不理想(如果您有很多这样的话,可能会有些乏味),只是在图上画一条额外的线。您可以指定要在其间绘制线条的x坐标,而y坐标将是图形上的垂直位置。
import matplotlib.pyplot as plt
import numpy as np
# create some data
x = np.arange(0,10,0.1)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x,y)
ax.plot([2,4],[-1,-1], color="red", lw=1) # add the line
ax.annotate('Test 1', xy=(2.5, -0.95)) # add text above the line
# increase the thickness of the line using lw =
ax.plot([6,8],[-1,-1], color="red", lw=3)
ax.annotate('Test 2', xy=(6.5, -0.95))
plt.show()
结果如下图所示: