Я пытаюсь создать картографическую карту с помощью Plotly с пользовательским словарем цветов, где определенные состояния должны быть окрашены в красный и зеленый цвета. Однако при попытке применить эти цвета на диаграмме отображаются неожиданные цвета (например, розовый и голубой) вместо цветов, которые я определил в словаре.
Цель – убедиться, что состояния, определенные в словаре, окрашены в красный или зеленый цвет, а состояния, отсутствующие в словаре, должны быть окрашены в серый цвет.
Код:
import geopandas as gpd
import plotly.express as px
# Path to the shapefile of Brazilian states
shapefile_path = 'brasil_estados.json'
# Load the shapefile using geopandas
brasil_mapa = gpd.read_file(shapefile_path, encoding='utf-8')
# Custom color dictionary (red and green)
color_dict = {
'Minas Gerais': 'green',
'Tocantins': 'red',
'Amapá': 'red',
'Roraima': 'red',
'Goiás': 'red',
'Distrito Federal': 'red'
}
# Map colors according to the dictionary
# If the state is not in the dictionary, it will be colored 'gray'
brasil_mapa['color'] = brasil_mapa['name'].map(color_dict).fillna('gray')
# Plot the map using Plotly
fig = px.choropleth(
brasil_mapa,
geojson=brasil_mapa.geometry.__geo_interface__, # Using geometry directly
locations=brasil_mapa.index,
color='color', # Color of the states based on the dictionary
color_discrete_map=color_dict, # Explicit color dictionary
labels={'color': 'State'},
scope='south america',
title='Map of Brazilian States with Custom Colors',
width=1200,
height=800
)
# Adjusting map visualization
fig.update_geos(fitbounds="locations", visible=False)
# Show the plot
fig.show()
Я пытаюсь создать картографическую карту с помощью Plotly с пользовательским словарем цветов, где определенные состояния должны быть окрашены в красный и зеленый цвета. Однако при попытке применить эти цвета на диаграмме отображаются неожиданные цвета (например, розовый и голубой) вместо цветов, которые я определил в словаре. Цель – убедиться, что состояния, определенные в словаре, окрашены в красный или зеленый цвет, а состояния, отсутствующие в словаре, должны быть окрашены в серый цвет. Код: [code]import geopandas as gpd import plotly.express as px
# Path to the shapefile of Brazilian states shapefile_path = 'brasil_estados.json'
# Load the shapefile using geopandas brasil_mapa = gpd.read_file(shapefile_path, encoding='utf-8')
# Map colors according to the dictionary # If the state is not in the dictionary, it will be colored 'gray' brasil_mapa['color'] = brasil_mapa['name'].map(color_dict).fillna('gray')
# Plot the map using Plotly fig = px.choropleth( brasil_mapa, geojson=brasil_mapa.geometry.__geo_interface__, # Using geometry directly locations=brasil_mapa.index, color='color', # Color of the states based on the dictionary color_discrete_map=color_dict, # Explicit color dictionary labels={'color': 'State'}, scope='south america', title='Map of Brazilian States with Custom Colors', width=1200, height=800 )