我正在尝试为某些国家/地区制作带有某些特定频率数据的世界地图。我曾尝试使用 plotly(下图),但底图不可用,而且它不会让我加载我找到的新地图。
我需要的地图是存在此变量的国家/地区的色标(强度)。
这些是我用来绘制地图的数据和代码:
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")
我不断收到同样的错误。
我觉得不显示的原因是location mode和target column指定的不对。如果位置模式为“iso_3”,则对于此数据,位置将为“iso_alpha”。此外,如果位置模式是“国家名称”,则位置将是“国家”。由于呈现的数据较多,我们按年份提取并更改了合并方法。
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()