11

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

这个怎么做?

4

2 回答 2

13

您需要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)

在此处输入图像描述

于 2013-10-28T11:28:06.737 回答
12

可能不鼓励使用 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)
于 2018-11-28T22:01:15.843 回答