使用pyplot显示数字而不是点数

时间:2017-06-19 12:12:39

标签: arrays matplotlib numbers point

我有一个nx2维数组,用两个坐标x,y表示n个点。使用pyplot,我想显示我的点数n,而不仅仅是点数,无法知道是什么。

我找到了传达我的观点的方法,但我真正想要的只是数字。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用plt.text将数字作为文字放在图中。要使数字显示在坐标的确切位置,您可以使用ha="center", va="center"将文本居中对齐。

import numpy as np; np.random.seed(2)
import matplotlib.pyplot as plt

xy = np.random.rand(10,2)

plt.figure()
for i, ((x,y),) in enumerate(zip(xy)):
    plt.text(x,y,i, ha="center", va="center")

plt.show()

enter image description here

为了使绘图自动调整到值的范围,您可以添加不可见的散点图

x,y =zip(*xy)
plt.scatter(x,y, alpha=0) 

或者,如果数字真的很小,那么隐形情节会更好

x,y =zip(*xy)
plt.plot(x,y, alpha=0.0)