我在Jupyter中使用plotly处理世界Choropleth地图时遇到了麻烦。一旦该值超过1000,该地图就会将该国家/地区显示为灰色,因为没有数据。我仔细检查了国家代码,它们都是正确的。我认为问题与图例有关,因为它最多只能显示1000个,但我不确定如何更改。我按照https://plot.ly/python/choropleth-maps/上的文档操作以获取当前位置。任何帮助,将不胜感激。
这是我的数据快照
number CODE COUNTRY
0 1146 USA United States
1 1450 CAN Canada
2 54 CRI Costa Rica
3 920 AUS Australia
到目前为止,这是我的代码
fig = go.Figure(data=go.Choropleth(
locations = df['CODE'],
locationmode = "ISO-3",
z = df['number'],
text = df['COUNTRY'],
colorscale = 'Reds'
))
fig.update_layout(title_text="McDonald's per Country")
fig.show()
这就是结果(地图已被切除,但是您知道了)
最佳答案
我可以肯定问题出在您的数据源中。您可能是number
的数据格式错误,或者您缺少某些国家/地区的数据,或者甚至是COUNTRY
列中完全缺失的国家/地区。
我为什么能确定?
看看下面的代码片段产生的以下图:
情节:
码:
import plotly.express as px
gapminder = px.data.gapminder().query("year==2007")
fig = px.choropleth(gapminder, locations="iso_alpha",
color="lifeExp", # lifeExp is a column of gapminder
hover_name="country", # column to add to hover information
color_continuous_scale=px.colors.sequential.Plasma)
fig.show()
到目前为止,有了我所掌握的信息,我想到了以下几点:
Grey
不属于色标。Greenland
和Russia
等一些国家/地区为灰色。数据源中也缺少这些国家。
gapminder['country'].unique()
返回:array(['Afghanistan', 'Albania', 'Algeria', 'Angola', 'Argentina',
'Australia', 'Austria', 'Bahrain', 'Bangladesh', 'Belgium',
'Benin', 'Bolivia', 'Bosnia and Herzegovina', 'Botswana', 'Brazil',
'Bulgaria', 'Burkina Faso', 'Burundi', 'Cambodia', 'Cameroon',
'Canada', 'Central African Republic', 'Chad', 'Chile', 'China',
'Colombia', 'Comoros', 'Congo, Dem. Rep.', 'Congo, Rep.',
'Costa Rica', "Cote d'Ivoire", 'Croatia', 'Cuba', 'Czech Republic',
'Denmark', 'Djibouti', 'Dominican Republic', 'Ecuador', 'Egypt',
'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Ethiopia',
'Finland', 'France', 'Gabon', 'Gambia', 'Germany', 'Ghana',
'Greece', 'Guatemala', 'Guinea', 'Guinea-Bissau', 'Haiti',
'Honduras', 'Hong Kong, China', 'Hungary', 'Iceland', 'India',
'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Israel', 'Italy',
'Jamaica', 'Japan', 'Jordan', 'Kenya', 'Korea, Dem. Rep.',
'Korea, Rep.', 'Kuwait', 'Lebanon', 'Lesotho', 'Liberia', 'Libya',
'Madagascar', 'Malawi', 'Malaysia', 'Mali', 'Mauritania',
'Mauritius', 'Mexico', 'Mongolia', 'Montenegro', 'Morocco',
'Mozambique', 'Myanmar', 'Namibia', 'Nepal', 'Netherlands',
'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'Norway', 'Oman',
'Pakistan', 'Panama', 'Paraguay', 'Peru', 'Philippines', 'Poland',
'Portugal', 'Puerto Rico', 'Reunion', 'Romania', 'Rwanda',
'Sao Tome and Principe', 'Saudi Arabia', 'Senegal', 'Serbia',
'Sierra Leone', 'Singapore', 'Slovak Republic', 'Slovenia',
'Somalia', 'South Africa', 'Spain', 'Sri Lanka', 'Sudan',
'Swaziland', 'Sweden', 'Switzerland', 'Syria', 'Taiwan',
'Tanzania', 'Thailand', 'Togo', 'Trinidad and Tobago', 'Tunisia',
'Turkey', 'Uganda', 'United Kingdom', 'United States', 'Uruguay',
'Venezuela', 'Vietnam', 'West Bank and Gaza', 'Yemen, Rep.',
'Zambia', 'Zimbabwe'], dtype=object)
我建议您使用诸如
df['CODE'].unique()
之类的工具仔细查看数据集,并让我们知道您的发现。关于python - 一定值后,阴谋节律被切断,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58508516/