Plotly:澳大利亚 Choropleth 地图

Plotly: Australia Choropleth map

我有一份澳大利亚各州和领地的列表及其相应的值。现在我想制作这样的热图:

我正在关注此 link 中的 Pyplot 示例,但它只有美国各州的示例。

特别是,在这段代码中:

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 的正确值应该是多少如果是澳大利亚地图?例如,如果我知道澳大利亚各州、领地和城市的名称,我如何才能找到它们的代码?

任何指点将不胜感激。还将考虑其他图书馆建议。

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

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

要绘制除美国以外的任何国家/地区,唯一的选择是使用 locationmode = "country names",就像 Western Africa example 中的情况一样,并设置 a:

geo = dict(
    scope = 'australia'
)

然而,你会发现海岸线都是参差不齐的,看起来很糟糕,没有州界等选项

经过相当乏味的搜索,我找到的最佳选择是使用 matplotlibBasemap。例如。 this tutorial.

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

或者,如果您的价值观是全州范围内的,我会使用 Socialcops 提供的酷炫小 web-based tool