[英]Plotly choropleth shows color for US and not other countries
列employee_residence
包含每個唯一國家/地區的ISO 3166 國家/地區代碼。
我想為上述數據框繪制一個Choropleth 地圖,根據地圖上的國家/地區突出顯示mean_salary
。
所以我做了以下事情:
fig = px.choropleth(
data_frame=salary_location_df,
locations="employee_residence",
locationmode="country names",
color="mean_salary",
hover_data=["mean_salary", "count_jobs"],
title="country wise salaries",
)
fig.show()
所以我認為國家代碼可能有問題,因為只有美國出現,因此我嘗試使用位於此處的 ISO 標准庫驗證這些國家代碼: https ://pypi.python.org/pypi/iso3166/
但似乎所有國家/地區代碼都有效
那么可以做些什么來解決這個問題呢? 謝謝
更新:現在數據已經發布,我使用該數據重新創建圖表。 由於原始數據是ISO3166-2格式國家縮寫,安裝庫得到ISO-3166-3格式國家縮寫。 將其添加到原始數據框中並繪制圖形。
import pandas as pd
import numpy as np
import plotly.express as px
df = pd.read_csv("/content/ds_salaries.csv", index_col=0)
salary_location_df = df.groupby("employee_residence").agg(
mean_salary=('salary_in_usd', 'mean'), count_jobs=('employee_residence', 'count')
).reset_index()
from iso3166 import countries
country_names =[]
for country in salary_location_df['employee_residence']:
#print(country)
c_name = countries.get(country)
country_names.append(c_name[2])
salary_location_df['iso_alpha'] = country_names
fig = px.choropleth(salary_location_df, locations="iso_alpha",
color="mean_salary",
hover_data=["mean_salary", "count_jobs"],
title="country wise salaries",
color_continuous_scale=px.colors.sequential.Plasma)
fig.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.