Choropleth世界地图没有显示所有国家

时间:2017-10-28 15:53:52

标签: python plotly choropleth

我想制作一个等值世界地图,在世界地图上显示单词的点击次数(搜索次数)。

以下是代码:

import plotly
import plotly.offline
import pandas as pd
df = pd.read_excel('F:\\Intern\\csir\\1yr\\news\\region_2016_2017.xlsx') 
df = df.query('keyword==["addiction"]')
scl = [[0.0, 'rgb(242,240,247)'],[0.2, 'rgb(218,218,235)'],[0.4, 'rgb(188,189,220)'],\
            [0.6, 'rgb(158,154,200)'],[0.8, 'rgb(117,107,177)'],[1.0, 'rgb(84,39,143)']]
data = [dict(
                type='choropleth',
                colorscale=scl,

                locations = df['location'],
                z = df['hits'].astype(int),
                locationmode = "country names",
                autocolorscale = False,
                reversescale = False,
                marker = dict(
                                line = dict (
                                    color = 'rgb(180,180,180)',
                                    width = 0.5)),
                                colorbar = dict(
                                    autotick = False,

                                    title = 'Hits'),)]

layout = dict(
    title = 'Addiction keyword 1yr analysis',
    geo = dict(
        showframe = False,
        showcoastlines = False,
        projection = dict(
            type = 'Mercator'
        )

    )       
)
fig = dict(data = data,layout = layout)
plotly.offline.plot(fig,validate=False,filename = 'd3-world-map.html')              

绘制的地图是: enter image description here

人们可以清楚地看到,许多国家都在失踪。这可能是因为许多国家没有明确表示他们没有点击的条目。

我不想用我的数据明确地这样做。还有其他方法吗?这样我们就可以看到所有国家。

可以找到数据集here

请注意,我链接的数据集是.csv文件,而程序中使用的文件是文件的.xlsx版本。

1 个答案:

答案 0 :(得分:1)

您需要在布局...

下启用国家/地区大纲
"geo":{
    "countriescolor": "#444444",
    "showcountries": true
},