我在地图中添加注释时遇到问题。我想将其添加到同一页面的状态和颜色下方。我不知道如何使用我的坐标而不是像我的代码一样添加一个新坐标。
我想用
locations="state"
之类的东西作为我的第一个无花果
我的部分示例 geojson
[{'type': 'Feature',
'properties': {'nombre': 'Tucumán'},
'geometry': {'type': 'Polygon',
'coordinates': [[[-66.20361328125, -26.62781822639305],
[-66.0498046875, -26.64745870265937],
[-65.830078125, -26.725986812271756],
[-65.89599609375, -26.92206991673281],
[-66.181640625, -27.274161117374668],
[-65.6103515625, -27.994401411046148],
[-65.4345703125, -27.89734922968425],
[-65.0390625, -27.89734922968425],
[-64.4677734375, -26.29341500426577],
[-65.36865234375, -26.07652055985696],
[-65.85205078125, -26.31311263768267],
[-66.11572265625, -26.2145910237943],
[-66.20361328125, -26.62781822639305]]]}},
{'type': 'Feature',
'properties': {'nombre': 'Santiago del Estero'},
这是我的代码:
import plotly.express as px
import json
import plotly.graph_objects as go
# Cargar el archivo GeoJSON con los límites de las provincias de Argentina
with open("ProvinciasArgentina.geojson", "r", encoding="utf-8") as file:
geojson_data = json.load(file)
data = {
"state": ["Santa Fe", "Buenos Aires"], # Agrega más states según tus datos
"color": [1, 2,],
"prices": ["$1200", "$300"], # Información adicional para cada state
"lat_for_text": [-34.61, -31.63],
"long_for_text": [-58.38, -60.70]
}
# Crear el gráfico de choropleth
fig = px.choropleth_mapbox(
data,
geojson=geojson_data,
locations="state",
featureidkey="properties.nombre", # Asegúrate de que coincida con la clave en tu GeoJSON
color="color",
mapbox_style="carto-positron", # Puedes ajustar el estilo de Mapbox según tus preferencias
center={"lat": -35, "lon": -65},
zoom=4,
title="Mapa de Provincias de Argentina",
opacity=0.3 # Ajusta la transparencia aquí (0 es completamente transparente, 1 es completamente opaco)
)
texttrace = go.Scattermapbox(
lat=data['lat_for_text'],
lon=data['long_for_text'],
text=data['prices'],
mode="text",
name="Price",
hoverinfo='text'
)
fig.add_trace(texttrace)
# Mostrar el gráfico
fig.show()
我找到了解决方案:
将hover_data添加到mapbox中:
# Crear el gráfico de choropleth
fig = px.choropleth_mapbox(
data,
geojson=geojson_data,
locations="state",
featureidkey="properties.nombre", # Asegúrate de que coincida con la clave en tu GeoJSON
color="color",
hover_data="prices",
mapbox_style="carto-positron", # Puedes ajustar el estilo de Mapbox según tus preferencias
center={"lat": -35, "lon": -65},
zoom=4,
title="Mapa de Provincias de Argentina",
opacity=0.3 # Ajusta la transparencia aquí (0 es completamente transparente, 1 es completamente opaco)
)