Plotly Choropleth Map 未绘制
Posted
技术标签:
【中文标题】Plotly Choropleth Map 未绘制【英文标题】:Plotly Choropleth Map not plotting 【发布时间】:2021-10-06 22:17:55 【问题描述】:我正在尝试在 Jupyter 笔记本中使用 Plotly 可视化一些数据,但未显示等值线图,正如您在 this image 中看到的那样。
我正在处理的数据集来自https://csbh-dashboard.mckinsey.com/#/data-insights?chart=SP&geo=County&lob=All&metric1=covid_case_count&metric2=covid_death_count_per_100k_pop&tab=Map
我已尝试从这里跟踪过去的一些提交,但我没有取得任何进展。我将不胜感激这方面的任何帮助,谢谢。这是到目前为止的代码
import pandas as pd
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot
init_notebook_mode(connected = True)
df = pd.read_csv('State-level-data_31_07_2021.csv')
df.head()
data = dict(type='choropleth',
locations = df['State'],
locationmode = 'USA-states',
colorscale = 'Greens',
text = df['State Code'],
z = df['Cases of COVID-19'],
colorbar = 'title':"Cases of COVID-19"
)
layout = dict(title = 'Cases of COVID-19 in USA Map',
geo = dict(scope='usa')
)
choromap = go.Figure(data = [data],layout = layout)
iplot(choromap)
【问题讨论】:
【参考方案1】:我没有使用您提供的数据,因为它需要注册。相反,我根据官方reference 中的示例修改了您的代码。我不确定数据格式是什么,但它必须是要在 Locations 中指定的状态代码。代码样式已更改为官方参考中使用的格式。此外,这不是问题的原因。
import pandas as pd
import plotly.graph_objs as go
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2011_us_ag_exports.csv')
df.head()
code | state | category | total exports | beef | pork | poultry | dairy | fruits fresh | fruits proc | total fruits | veggies fresh | veggies proc | total veggies | corn | wheat | cotton | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | AL | Alabama | state | 1390.63 | 34.4 | 10.6 | 481 | 4.06 | 8 | 17.1 | 25.11 | 5.5 | 8.9 | 14.33 | 34.9 | 70 | 317.61 |
1 | AK | Alaska | state | 13.31 | 0.2 | 0.1 | 0 | 0.19 | 0 | 0 | 0 | 0.6 | 1 | 1.56 | 0 | 0 | 0 |
2 | AZ | Arizona | state | 1463.17 | 71.3 | 17.9 | 0 | 105.48 | 19.3 | 41 | 60.27 | 147.5 | 239.4 | 386.91 | 7.3 | 48.7 | 423.95 |
3 | AR | Arkansas | state | 3586.02 | 53.2 | 29.4 | 562.9 | 3.53 | 2.2 | 4.7 | 6.88 | 4.4 | 7.1 | 11.45 | 69.5 | 114.5 | 665.44 |
4 | CA | California | state | 16472.9 | 228.7 | 11.1 | 225.4 | 929.95 | 2791.8 | 5944.6 | 8736.4 | 803.2 | 1303.5 | 2106.79 | 34.6 | 249.3 | 1064.95 |
fig = go.Figure(data = go.Choropleth(
locations = df['code'],
locationmode = 'USA-states',
colorscale = 'Greens',
text = df['code'],
z = df['total exports'].astype(float),
colorbar_title = "Total Exports"
))
fig.update_layout(
title_text = 'Total Exports in USA Map',
geo_scope = 'usa'
)
fig.show()
【讨论】:
有四种定位模式:ISO-3、USA-states、国家名称和 geojison-id,其中 USA-states 是一个州的缩写。如果此回答对您有帮助,请点击勾选接受此回答。 非常感谢,它成功了。但是,我不太明白你的最后一句话。如果我试图在单个图中可视化多个变量,例如每个数据集的牛肉、猪肉、家禽等,那么代码是什么?谢谢 官方参考是用图定义的形式写的,后面是图元素的定义和布局定义的添加,所以我就照着做了。这不是主要话题,所以你可以忽略它。数据为样本数据,无法可视化多个项目。以上是关于Plotly Choropleth Map 未绘制的主要内容,如果未能解决你的问题,请参考以下文章
Plotly Choropleth Map Plots 的下拉菜单
plotly express choropleth map customizing hover data error: ValueError: Value of 'hover_data_0' is n