使用数字作为matplotlib图标记

lov*_*eed 9 python matplotlib

我有一个1-D numpy数组,我想要绘制,我希望绘图标记是一个数字,显示元素的位置.例如,如果我的数组是,[2.5,4,3]那么我希望绘图在点(0,2.5)处为0,在(1,4)处为1,在(2,3)处为2,依此类推.

这该怎么做?

HYR*_*YRY 11

你需要pylab.text()在for循环中调用:

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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


小智 6

可能不建议使用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)
Run Code Online (Sandbox Code Playgroud)