使用 pyplot 显示数字而不是点

use*_*249 1 arrays numbers point matplotlib

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

我找到了一种方法来记录我的观点,但实际上我想要的只是数字。

我怎样才能做到这一点?

Imp*_*est 6

您可以将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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

为了使绘图自动缩放到值所在的范围,您可以添加不可见的散点图

x,y =zip(*xy)
plt.scatter(x,y, alpha=0) 
Run Code Online (Sandbox Code Playgroud)

或者,如果数字真的很小,最好是看不见的图

x,y =zip(*xy)
plt.plot(x,y, alpha=0.0) 
Run Code Online (Sandbox Code Playgroud)