簡體   English   中英

Plotly choropleth 顯示美國而不是其他國家的顏色

[英]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()

但在輸出中我只能看到美國住宅的顏色而不是其他人plotly choroleth 輸出

所以我認為國家代碼可能有問題,因為只有美國出現,因此我嘗試使用位於此處的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM