首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python按国家分列的频率图

python按国家分列的频率图
EN

Stack Overflow用户
提问于 2022-07-15 08:38:20
回答 1查看 265关注 0票数 0

我正试图用一些特定的频率数据为一些国家绘制一张世界地图。我尝试过巧妙地使用(下面),但是基本地图是不可用的,它不会让我加载我找到的新地图。

我需要的地图是存在这个变量的国家的颜色标度(强度)。

这些是我试图绘制地图的数据和代码:

代码语言:javascript
复制
database = px.data.gapminder()

d = {'Australia':[3],
'Brazil' :[2],
'Canada':[6],
'Chile':[3],
'Denmark':[1],
'France':[16],
'Germany':[3],
'Israel':[1]}


data = pd.DataFrame(d).T.reset_index()
data.columns=['country', 'count']

df=pd.merge(database, yourdata, how='left', on='country')

url = (
    "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data"
)

fig = px.choropleth(df, locations="country",
                    locationmode='ISO-3',
                    geojson = f"{url}/world-countries.json",
                    color="count")

我总是犯同样的错误。

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2022-07-16 01:45:42

我认为没有显示它的原因是位置模式和目标列被错误地指定了。如果位置模式是“iso_3”,那么对于这些数据,位置将是“iso_alpha”。此外,如果位置模式是“国家名称”,那么该位置将是“国家”。由于所提供的数据较多,我们按年份提取数据,并改变了合并方法。

代码语言:javascript
复制
import pandas as pd

d = {'Australia':[3],
'Brazil' :[2],
'Canada':[6],
'Chile':[3],
'Denmark':[1],
'France':[16],
'Germany':[3],
'Israel':[1]}


data = pd.DataFrame(d).T.reset_index()
data.columns=['country', 'count']

import plotly.express as px

database = px.data.gapminder().query('year == 2007')

df = pd.merge(database, data, how='inner', on='country')
url = (
    "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data"
)

fig = px.choropleth(df,
                    locations="country",#"iso_alpha",
                    locationmode="country names",#"ISO-3",
                    geojson = f"{url}/world-countries.json",
                    color="count"
                   )

fig.show()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72991306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档