在情节分区统计图框中添加注释

问题描述 投票:0回答:1

我在地图中添加注释时遇到问题。我想将其添加到同一页面的状态和颜色下方。我不知道如何使用我的坐标而不是像我的代码一样添加一个新坐标。

我想用

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()
python plotly maps
1个回答
0
投票

我找到了解决方案:

将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)

)
© www.soinside.com 2019 - 2024. All rights reserved.