Plotly:澳大利亚Choropleth地图

时间:2018-04-24 17:02:07

标签: python plotly choropleth

我有一份澳大利亚州和地区的清单及其相应的值。现在我想制作一个像这样的热图:

enter image description here

我正在跟随这个link的Pyplot示例,但它只是美国各州的一个例子。

enter image description here

特别是在这段代码中:

data = [ dict(
    type='choropleth',
    colorscale = scl,
    autocolorscale = False,
    locations = df['code'],
    z = df['total exports'].astype(float),
    locationmode = 'USA-states',
    text = df['text'],
    marker = dict(
        line = dict (
            color = 'rgb(255,255,255)',
            width = 2
        ) ),
    colorbar = dict(
        title = "Millions USD")
    ) ]

layout = dict(
    title = '2011 US Agriculture Exports by State<br>(Hover for breakdown)',
    geo = dict(
        scope='usa',
        projection=dict( type='albers usa' ),
        showlakes = True,
        lakecolor = 'rgb(255, 255, 255)'),
         )

如何修改代码以符合我的要求?对于澳大利亚地图,参数位置位置模式范围投影的正确值应该是多少?如果我有他们的名字,我怎么能找到澳大利亚各州,地区和城市的代码呢?

任何指针都将受到赞赏。其他图书馆建议也将被考虑。

1 个答案:

答案 0 :(得分:1)

几个月前我试图做类似的事情,不幸的是,Plotly目前还没有提供澳大利亚(或除美国以外的任何国家)的任何一半体面的分辨率地图。

如果您引用Plotly API,则唯一可用的locationmode选项为["ISO-3" | "USA-states" | "country names"]

要绘制任何不是美国的国家/地区,唯一的选择是使用locationmode = "country names"Western Africa example就是这种情况,并设置:

geo = dict(
    scope = 'australia'
)

然而,你会发现海岸线都是锯齿状的,看起来很糟糕,国家边界没有选择等。

我在一次相当不吸引人的搜索之后能够找到的最佳选择是使用matplotlibBasemap。例如。 this tutorial

似乎Basemap提供huge range of mapping options,所以希望你能在那里找到一些爱。

或者,如果您的值在全州范围内,我只会使用Socialcops提供的很酷的web-based tool