我有一份澳大利亚各州和领地及其相应值的 list 。现在我想生成一个这样的热图:
python -  plotly :澳大利亚 Choropleth  map-LMLPHP
我正在关注这个 link 中的 Pyplot 示例,但它只有一个针对美国各州的示例。
python -  plotly :澳大利亚 Choropleth  map-LMLPHP
特别是,在这段代码中:

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)'),
         )
如何修改代码以符合我的要求?在澳大利亚 map 的情况下,参数 位置 locationmode 范围 投影 的正确值应该是多少?比如,如果我有澳大利亚的州、领地和城市的名称,我如何找出它们的代码?
任何指针将不胜感激。其他图书馆推荐也将被考虑。

最佳答案

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

如果您引用 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 ,所以希望你能在那里找到一些爱。

或者,如果您的值(value)观是全州范围的,我只会使用 Socialcops 提供的很酷的小 web-based tool

关于python - plotly :澳大利亚 Choropleth map ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50007258/

10-10 17:57