For*_*est 6 python plotly choropleth
我有一份澳大利亚各州和领地及其相应值的清单。现在我想生成一个这样的热图:
我正在关注此链接中的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)'),
)
Run Code Online (Sandbox Code Playgroud)
如何修改代码以符合我的要求?在澳大利亚地图的情况下,参数locations、locationmode、scope、projection的正确值应该是多少?比如,如果我有澳大利亚的州、领地和城市的名称,我如何找出它们的代码?
任何指针将不胜感激。其他图书馆建议也将被考虑。
几个月前我尝试做类似的事情,不幸的是,Plotly 目前不提供澳大利亚(或美国以外的任何国家/地区)的任何半分辨率地图。
如果您参考Plotly API,则唯一locationmode可用的选项是["ISO-3" | "USA-states" | "country names"]
要绘制除美国以外的任何国家/地区,唯一的选择是使用locationmode = "country names",如西非示例中的情况,并设置一个:
geo = dict(
scope = 'australia'
)
Run Code Online (Sandbox Code Playgroud)
然而,你会发现海岸线都是锯齿状的,看起来很糟糕,没有国家边界等选项。
经过相当乏味的搜索后,我能够找到的最佳选择是使用matplotlib和Basemap。例如本教程。
它似乎Basemap提供了大量的映射选项,所以希望你能在那里找到一些爱。
或者,如果您的价值观是全州范围的,我只会使用Socialcops 提供的基于网络的酷炫小工具。