带有注释的matplotlib图上的竞争标记集

时间:2018-02-26 07:11:28

标签: python matplotlib

鉴于以下使用matplotlib的{​​{1}}代码段:

annotations

我们最终得到重叠/竞争 labels = ['Point-%d' %i for i in range(0,10)] outMat = np.array([(-20 + 20*x + 20*np.sin(math.pi * 2 * x), -30 + x*30 + np.sin(math.pi * 2 * x)) for x in range(0,10)]) fig = plt.figure() plt.title(title) ax = fig.subplots(1,1) for i in range(outMat.shape[0]): ax.annotate(labels[i],outMat[i],(outMat[i][0],outMat[i][1])) plt.scatter(outMat[:,0],outMat[:,1]) fig.show() y刻度标签:

根据输入xx值的范围,从[0.0到250.0]正确缩放的刻度应为值。目前还不清楚为什么有0.2个增量的[0.0-1.0]刻度标记:这里的请求是删除那些虚假标记。

enter image description here

摘录中需要更改哪些内容?

1 个答案:

答案 0 :(得分:2)

问题是您在图中添加了一个子图,这会添加另一组标签。您只能使用plt.subplots

来阻止此操作
import numpy as np
fig, ax = plt.subplots(1,1)
labels = ['Point-%d' %i for i in range(0,10)]
outMat = np.array([(-20 + 20*x + 20*np.sin(np.pi * 2 * x), -30 + x*30 + np.sin(np.pi * 2 * x)) for x in range(0,10)])
plt.scatter(outMat[:,0],outMat[:,1])
for i in range(outMat.shape[0]):
    ax.annotate(labels[i],outMat[i],(outMat[i][0],outMat[i][1]))
plt.title("title")
plt.show()