首页 > 解决方案 > Plotly go.Choroplethmapbox 不显示颜色

问题描述

我正在尝试去做。Choroplethmapbox 但无论我做什么,结果都是空白的。

orlando_geo = 'https://github.com/alisongh/MADS/blob/main/SIADS%20591/data/city_orlando.geojson'

fig = go.Figure(go.Choroplethmapbox(geojson=orlando_geo, featureidkey='properties.name', locations=Dominating_type_df.zipcode, z=Dominating_type_df.score_level, colorscale="Viridis", zmin=0, zmax=150,
                                    marker_opacity=0.5, marker_line_width=0))
fig.update_layout(mapbox_style="carto-positron",
                  mapbox_zoom=11, mapbox_center = {"lat": 28.5384, "lon": -81.3789})
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()

数据框看起来像这样

指数 邮政编码 支配型 score_level 纬度 经度
0 32789 亚洲人 65.51 28.5978 -81.3534
1 32792 北美 12.25 28.5974 -81.3036

这就是我得到的:

在此处输入图像描述

更新

根据答案,我更正了 URL 地址,更新了 plotly 版本并转换了一些格式。但是,它仍然给了我一张空白地图。

orlando_geo = 'https://raw.githubusercontent.com/alisongh/MADS/main/SIADS%20591/data/city_orlando.geojson'

fig = go.Figure(go.Choroplethmapbox(geojson=orlando_geo, featureidkey='properties.name', locations=Dominating_type_df.zipcode, z=Dominating_type_df.score_level, colorscale="Viridis", zmin=0, zmax=150,
                                    marker_opacity=0.5, marker_line_width=0))
fig.update_layout(mapbox_style="carto-positron",
                  mapbox_zoom=11, mapbox_center = {"lat": 28.5384, "lon": -81.3789})
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()

在此处输入图像描述

df.dtypes

zipcode 30 non-null int32
Dominating_type 30 non-null object
score_level 30 non-null float64
latitude 30 non-null float64
longitude 30 non-null float64

Python的版本

import sys
print(sys.version)

3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)

情节的版本

import plotly
plotly.__version__

5.3.1

标签: pythonplotly-pythonchoropleth

解决方案


geopandas URL 用于在 Github 上显示,因此实际数据 URL 是从RAW按钮获取的 URL。

错误的网址:

orlando_geo = 'https://github.com/alisongh/MADS/blob/main/SIADS%20591/data/city_orlando.geojson'

正确的网址:

orlando_geo = 'https://raw.githubusercontent.com/alisongh/MADS/main/SIADS%20591/data/city_orlando.geojson'
import plotly.graph_objects as go
import pandas as pd
import numpy as np
import io

data = '''
index zipcode Dominating_type score_level latitude longitude
0 32789 Asian 65.51 28.5978 -81.3534
1 32792 "North American" 12.25 28.5974 -81.3036
'''
Dominating_type_df = pd.read_csv(io.StringIO(data), delim_whitespace=True)
Dominating_type_df['zipcode'] = Dominating_type_df['zipcode'].astype(str) 
print(Dominating_type_df)

orlando_geo = 'https://raw.githubusercontent.com/alisongh/MADS/main/SIADS%20591/data/city_orlando.geojson'


fig = go.Figure(go.Choroplethmapbox(geojson=orlando_geo, 
                                    featureidkey='properties.name', 
                                    locations=Dominating_type_df.zipcode, 
                                    z=Dominating_type_df.score_level,
                                    colorscale="Viridis",
                                    zmin=0, zmax=150,
                                    marker_opacity=0.5,
                                    marker_line_width=1)
               )

fig.update_layout(mapbox_style="carto-positron",
                  mapbox_zoom=11, mapbox_center = {"lat": 28.5384, "lon": -81.3789})
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})

fig.show()

在此处输入图像描述


推荐阅读