散点图移动标签

时间:2018-03-14 10:39:08

标签: python label scatter annotate

我创建了一些大型端口的地图。使用' x'并且' y'纬度和经度以及'文字'端口名称。

x,y = map(lonA, latA)
map.scatter(x, y, s=Size, c=color, marker='o', label = 'Ports',alpha=0.65, zorder=2)
for i in range (0,n):
  plt.annotate(text[i],xy=(x[i],y[i]),ha='right')

我绘制的点(较大端口的较大点)与标签重叠。如何将它们绘制得更远,以提高可读性? enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用xytext参数调整文字位置:

plt.annotate(text[i],xy=(x[i],y[i]),xytext=(x[i]+10,y[i]+10), ha='right')

在这里,我将x添加到你的xy位置。 有关更多信息,请在此处查看建议: https://matplotlib.org/users/annotations_intro.html

答案 1 :(得分:0)

@KiralySandor你是对的,但你需要将textcoordinates改为数据。

for i in range (0,n):
  plt.annotate(text[i],xy=(x[i],y[i]),textcoords='data',xytext=(x[i]-9000,y[i]),ha='right')

enter image description here

现在这些名字在左边更加轻松。