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

Plotly:如何在 Choropleth 地图上显示州线

有没有办法调整使用 Plotly 创建的离散 choropleth 的图例项的大小?

颜色不使用 plotly choropleth 渲染

如何在 Plotly choropleth 地图上创建符号/按钮