gpt4 book ai didi

python - plotly 等值线在达到一定值后被切断

转载 作者:行者123 更新时间:2023-12-01 07:04:10 29 4
gpt4 key购买 nike

我在 Jupyter 中使用plotly 绘制世界分区统计​​图时遇到了麻烦。一旦该值超过 1000, map 就会将该国家/地区显示为灰色,因为没有数据。我仔细检查了国家代码,它们都是正确的。我认为问题与图例有关,因为它最多只显示 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()

这是结果( map 有点被切断,但你明白了) Plot

最佳答案

我非常确定问题出在您的数据源上。您要么 number 的数据格式错误,或者您缺少某些国家/地区的数据,甚至是您的 COUNTRY 中完全缺少的国家/地区的数据。专栏。

为什么我这么确定?

看看下面的代码片段生成的以下图:

plotly :

enter image description here

代码:

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()

根据到目前为止我掌握的信息,我想到了一些事情:

  1. Grey不是色标的一部分。
  2. 一些国家/地区,例如 GreenlandRussia是灰色的。
  3. 数据源中也缺少这些国家/地区。

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 - plotly 等值线在达到一定值后被切断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58508516/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com