Python里plt.text()方法在图上标注,为什么没画在坐标轴里?

如下这段代码(我在jupyter notebook里运行)

from matplotlib import pyplot as plt

#fig=plt.figure()

for n in range(12):

plt.text(X[n][0],X[n][1],n,color='r',fontsize=25)

实际显示效果是如下,为何没显示在坐标轴里,数据见下面:
Python里plt.text()方法在图上标注,为什么没画在坐标轴里?

里面的X数据如下:
Python里plt.text()方法在图上标注,为什么没画在坐标轴里?


回答:

plt.text() 默认是在 data coordinates 上绘制的。而你的代码上来就直接 plt.text(),默认的 data coordinates 范围是 [0, 1],你的坐标又超出了这个范围,自然会绘制到 axes 外面去。

所以最简单的方式是,在前面指定坐标范围:

python">fig, ax = plt.subplots()

# +1/-1是为了将 text 包括在 axes 里,这个可以随意调整

ax.set_xlim(X[:, 0].min() - 1, X[:, 0].max() + 1)

ax.set_ylim(X[:, 1].min() - 1, X[:, 1].max() + 1)

for n in range(2):

ax.text(X[n, 0], X[n, 1], n, color='r', fontsize=25)

以上是 Python里plt.text()方法在图上标注,为什么没画在坐标轴里? 的全部内容, 来源链接: utcz.com/p/938137.html

回到顶部