Plotly:澳大利亚区域分布地图

8

我有一个包含澳大利亚各州和领地及其对应值的列表。现在我想制作一个像这样的热力图:

enter image description here

我正在按照这个链接中的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)'),
         )

我该如何修改代码以满足我的需求?在澳大利亚地图的情况下,参数locationslocationmodescopeprojection应该是什么正确的值?如果我有它们的名称,我如何找到澳大利亚的州、领地和城市的代码?感谢您提供任何指导。也可以考虑其他库的建议。
1个回答

7

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

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

要绘制任何非美国的国家,唯一的选择是使用locationmode = "country names",就像西非示例中的情况一样,并设置:

geo = dict(
    scope = 'australia'
)

然而,你会发现海岸线都是不规则的,看起来很糟糕,也没有州界等选项。我能找到的最好选择是使用matplotlib和Basemap。例如,this tutorial
看起来Basemap提供了广泛的地图选项,希望你可以在其中找到所需的功能。
或者,如果你的价值观是州级别的,我建议使用Socialcops提供的很酷的小基于Web的工具

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接