我有一个图,看起来像:

python - 在X轴上方或图形顶部添加特征-LMLPHP

现在,我想基于两个X坐标在X轴上方添加一些其他信息。

例如,将值1376和1837连接起来并对其进行注释(我知道它看起来很烂,但只是您有个主意。当然,文本的位置也不理想):

python - 在X轴上方或图形顶部添加特征-LMLPHP

并且将有几个可以重叠的区域。我尝试使用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()


结果如下图所示:

python - 在X轴上方或图形顶部添加特征-LMLPHP

09-27 08:15