Python 在绘图的x记号中显示值和索引
我想使用Python 在绘图的x记号中显示值和索引,python,matplotlib,plot,Python,Matplotlib,Plot,我想使用plot(x,y)来绘制一些东西,并且能够在绘图上看到x 比如说 x = [10,30,100,120] y = [16,17,19,3] plot(x,y) 将显示 从图上看,很难知道每个点的原始索引是什么。例如,我想在看点(100,19)时知道它是索引2,因为x[2]=100和y[2]=19。 如何在matplotlib中执行此操作。 我查看了twiny()函数,但这似乎只是添加了另一个轴,而忽略了x中点之间的距离。以下是我的解决方案: import matplotlib.pyp
plot(x,y)
来绘制一些东西,并且能够在绘图上看到x
比如说
x = [10,30,100,120]
y = [16,17,19,3]
plot(x,y)
将显示
从图上看,很难知道每个点的原始索引是什么。例如,我想在看点(100,19)时知道它是索引2,因为x[2]=100
和y[2]=19
。
如何在matplotlib中执行此操作。
我查看了twiny()函数,但这似乎只是添加了另一个轴,而忽略了x中点之间的距离。以下是我的解决方案:
import matplotlib.pyplot as plt
x = [10,30,100,120]
y = [16,17,19,3]
plt.plot(x,y);
for i, (a, b) in enumerate(zip(x, y)):
plt.annotate(str(i), xy=(a, b), textcoords="offset points", xytext=(0, 12),
horizontalalignment='center', verticalalignment='center')
plt.xlim(0, 130)
plt.ylim(0, 22)
它的作用:它在y
和x
数组中枚举,将索引存储在变量i
中,并将x
和y
的各自值存储在变量a
和b
中。然后在坐标(a,b)
处注释索引i
,使文本在y轴上偏移12个像素,以避免注释覆盖曲线
结果是:
对于非常大的图形,即1000个点,它可能运行缓慢,否则这是可以的。谢谢