我能想到的唯一方法是
- 調整距離從文本開始打印(您已指定爲10)
- 放大到地圖上同時顯示標記點
爲點2
粗例子
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
m = Basemap(width=120000,height=90000,projection='aeqd',
resolution=None,lat_0=30.,lon_0=80.)
lats=[30.0,30.1,30.2,30.0,30.1,30.2]
lons=[80.0,80.1,80.2,80.3,80.4,80.5]
m.bluemarble()
x, y = m(lons,lats)
labels=['Point1','Point2','Point3','Point4','Point5','Point6']
m.scatter(x,y,10,marker='o',color='k')
for label, xpt, ypt in zip(labels, x, y):
plt.text(xpt + 10, ypt + 10, label, size=20)
plt.show()
不知道的方式開箱做的,我做的估計文本邊框手動黑客,然後計算重疊到以前的文字繪製的像素格,如果沒有找到重疊,我繪製文本並將其邊界框矩形添加到像素網格。 – daryl
你可以看看[這個問題]的答案(https://stackoverflow.com/questions/19073683/matplotlib-overlapping-annotations-text)。希望它是有道理的。 – Boorn