我想创建一个像这样的卫星地图:https://plotly.com/python/mapbox-layers/,但是我想像Google一样显示地图上的国家和城市的名称(不是在这个例子中的悬停框中,而是写在地图上)。
你知道怎么做吗?
发布于 2022-09-12 03:33:12
获得Mapbox令牌将允许在卫星地图上显示地名。Mapbox可以获得这里。(免费)
import plotly.express as px
import plotly.graph_objects as go
import pandas as pd
us_cities = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/us-cities-top-1k.csv")
token = open("mapbox_api_key.txt").read()
fig = px.scatter_mapbox(us_cities,
lat="lat",
lon="lon",
hover_name="City",
hover_data=["State", "Population"],
color_discrete_sequence=["fuchsia"],
zoom=3,
height=300
)
fig.update_layout(
mapbox=dict(
style="satellite-streets",
accesstoken=token,
center=go.layout.mapbox.Center(
lat=42.5,
lon=-76
),
pitch=0,
zoom=5
)
)
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()
发布于 2022-09-11 21:32:59
只需使用text
参数,如mapbox文档中所解释的那样
import pandas as pd
us_cities = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/us-cities-top-1k.csv")
fig = px.scatter_mapbox(us_cities, lat="lat", lon="lon", text="City", hover_name="City", hover_data=["State", "Population"],
color_discrete_sequence=["fuchsia"], zoom=3, height=300)
fig.update_layout(mapbox_style="open-street-map")
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()
这将显示如下地图所示的城市名称:
请注意,所有城市名称将不会显示在低缩放级别:它们将逐渐开始出现当你放大。
https://stackoverflow.com/questions/73682503
复制相似问题