我有以下代码:
import plotly.express as px
import pandas as pd
import numpy as np
import io
df = wb.data.DataFrame('FP.CPI.TOTL.ZG')
df1 = df['YR2021']
df1 = df1.dropna()
df1 = pd.Series(df1,name="counts")
df1 = df1.reset_index()
fig = px.choropleth(df1, locations="economy",
locationmode='ISO-3',
color="counts",
title="Global Inflation Rate 2021",
hover_name="economy",
scope ='asia',
color_continuous_scale=px.colors.sequential.Reds)
fig.update_layout(title_text='Global Inflation Rate 2021', title_x=0.5)
fig.show()它产生了以下情节:

我面临的问题是,颜色不够深,无法进行视觉区分,因为我使用的数据是全局数据。不管怎么说,我是否可以深化颜色契约,所以在亚洲或任何其他scope中视觉上都是显而易见的?或者你能告诉我如何在不逐个标记的情况下移除所有的非亚洲国家,因为它的创伤非常耗时,特别是当其他大陆指定每个国家的时候。
发布于 2022-09-12 02:59:29
解决此问题的方法是设置颜色范围:将range_color设置为0到最大值吉尔吉斯斯坦将绘制图像,如所附图像所示。由于没有提供数据,所以我从这里搜索类似的数据来创建代码。
import pandas as pd
df = pd.read_csv('./data/API_FP.CPI.TOTL.ZG_DS2_en_csv_v2_4488104.csv', skiprows=4)
df = df[['Country Name', 'Country Code', '2021']]
df = df.dropna()
import plotly.express as px
fig = px.choropleth(df, locations="Country Code",
locationmode='ISO-3',
color="2021",
title="Global Inflation Rate 2021",
hover_name="Country Name",
scope ='asia',
range_color=[0,12], # Kyrgyz Republic:11.90504
color_continuous_scale=px.colors.sequential.Reds)
fig.update_layout(
autosize=True,
height=600,
title_text='Global Inflation Rate 2021',
title_x=0.5
)
fig.show()

https://stackoverflow.com/questions/73682383
复制相似问题