如何在散点图(地理图)上标注数据?
How to annotate data on the scatter plot (geo map)?
来自加州房屋数据框 (ch),
我创建了这段代码:
lat, lon = ch['latitude'], ch['longitude']
mhv = ch['median_house_value']
# Scatter the points, using size and color but no label
plt.figure(figsize=(10,7))
plt.scatter(
lon, lat,
c=mhv,
s=ch['population']/100,
linewidth=0, alpha=0.9,
)
plt.xlabel('longitude')
plt.ylabel('latitude')
plt.colorbar(label='median house value')
for pop in [5, 10, 50, 100, 200]:
plt.scatter([], [], alpha=0.6, s=pop,
label=str(pop), c='k')
plt.legend(scatterpoints=1, frameon=False,
labelspacing=1, title='population size* 10e-2')
plt.show()
它给了我这个数字:
问题是:如何在地图上标注箭头和括号以及经纬度的最小和最大坐标?
换句话说:我想要这个 -->(min lat, min lon) 和 -->(max lat, max lon) 来标记地图上的点。
我认为你的数据来自Kaggle,但我没有。不管怎样,也许你可以试试这些:
# add text at bottom left
x,y = (-123,33)
plt.text(x,y,'(min lat, min lon)',fontsize=20,weight='bold',bbox=dict(facecolor='white', edgecolor='black'))
# add arrows (use negative values to reverse the arrow direction)
plt.arrow(x=-124, y=33, dx=5, dy=0, width=.08, color = "purple")
当然,您可以根据需要调整输入值。
来自加州房屋数据框 (ch),
我创建了这段代码:
lat, lon = ch['latitude'], ch['longitude']
mhv = ch['median_house_value']
# Scatter the points, using size and color but no label
plt.figure(figsize=(10,7))
plt.scatter(
lon, lat,
c=mhv,
s=ch['population']/100,
linewidth=0, alpha=0.9,
)
plt.xlabel('longitude')
plt.ylabel('latitude')
plt.colorbar(label='median house value')
for pop in [5, 10, 50, 100, 200]:
plt.scatter([], [], alpha=0.6, s=pop,
label=str(pop), c='k')
plt.legend(scatterpoints=1, frameon=False,
labelspacing=1, title='population size* 10e-2')
plt.show()
它给了我这个数字:
问题是:如何在地图上标注箭头和括号以及经纬度的最小和最大坐标?
换句话说:我想要这个 -->(min lat, min lon) 和 -->(max lat, max lon) 来标记地图上的点。
我认为你的数据来自Kaggle,但我没有。不管怎样,也许你可以试试这些:
# add text at bottom left
x,y = (-123,33)
plt.text(x,y,'(min lat, min lon)',fontsize=20,weight='bold',bbox=dict(facecolor='white', edgecolor='black'))
# add arrows (use negative values to reverse the arrow direction)
plt.arrow(x=-124, y=33, dx=5, dy=0, width=.08, color = "purple")
当然,您可以根据需要调整输入值。