我有一个1-D numpy数组,我想要绘制,我希望绘图标记是一个数字,显示元素的位置。例如,如果我的数组是[2.5,4,3]
,那么我希望绘图在点(0,2.5)处为0,在(1,4)处为1,在(2,3)处为2,依此类推。
怎么做?
答案 0 :(得分:11)
你需要在for循环中调用pylab.text()
:
import pylab as pl
xs = [0, 1, 2]
ys = [2.5, 4, 3]
pl.plot(xs, ys, "-o")
for x, y in zip(xs, ys):
pl.text(x, y, str(x), color="red", fontsize=12)
pl.margins(0.1)
答案 1 :(得分:3)
可能不建议使用pylab(我必须查看pylab是什么)。
import matplotlib.pyplot as plt
xs = [0, 1, 2]
ys = [2.5, 4, 3]
plt.plot(xs, ys, "-o")
for x, y in zip(xs, ys):
plt.text(x, y, str(x), color="red", fontsize=12)