簡體   English   中英

map 上未顯示等值線數據

[英]choropleth data not showing on map

我正在嘗試將 plot 以下 dataframe 放到等值線 map 上,但沒有任何運氣。 色標被反映,但未在 map 上繪制。 任何建議表示贊賞。

df_map

country main_discipline amount  num_month
0   Albania 6   44300.00    81.0
1   Argentina   14  100000.00   135.0
2   Armenia 12  397140.00   234.0
3   Australia   908 476319.00   5826.0
4   Austria 297 13318464.01 3033.0
5   Bahamas 3   0.00    12.0
6   Barbados    1   0.00    25.0
7   Belarus 18  519730.00   286.0
8   Belgium 200 785907.04   2057.0
9   Benin   1   0.00    12.0

fig = go.Figure(data = go.Choropleth(
    locations = df_map.country,
    z = df_map.amount,
    text = df_map.country,
    colorscale = 'Blues',
))
fig.show()

在此處輸入圖像描述

為了在 choropleth map 中指定位置,您不能使用國家/地區名稱,您需要一個三字母的國家/地區名稱,相當於 ISO-3。 我通過從官方參考資料中手動添加三個字母的國家/地區名稱來創建代碼。

import pandas as pd
import numpy as np
import io

data = '''
country main_discipline amount num_month code
0 Albania 6 44300.00 81.0 ALB
1 Argentina 14 100000.00 135.0 ARG
2 Armenia 12 397140.00 234.0 ARM
3 Australia 908 476319.00 5826.0 AUS
4 Austria 297 13318464.01 3033.0 AUT
5 Bahamas 3 0.00 12.0 BHM
6 Barbados 1 0.00 25.0 BRB
7 Belarus 18 519730.00 286.0 BLR
8 Belgium 200 785907.04 2057.0 BEL
9 Benin 1 0.00 12.0 BEN
'''

df_map = pd.read_csv(io.StringIO(data), delim_whitespace=True)

import plotly.graph_objects as go

fig = go.Figure(data = go.Choropleth(
    locations = df_map['code'],
    z = df_map['amount'],
    text = df_map['country'],
    colorscale = 'Blues',
    autocolorscale=False,
    reversescale=True,
))

fig.update_layout(autosize=False,height=600,width=800)
fig.show()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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