我有一份澳大利亚各州和领地及其相应值的 list 。现在我想生成一个这样的热图:
我正在关注这个 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)'),
)
如何修改代码以符合我的要求?在澳大利亚 map 的情况下,参数 位置 、 locationmode 、 范围 、 投影 的正确值应该是多少?比如,如果我有澳大利亚的州、领地和城市的名称,我如何找出它们的代码?任何指针将不胜感激。其他图书馆推荐也将被考虑。
最佳答案
几个月前我尝试做类似的事情,不幸的是,Plotly 目前不提供澳大利亚(或美国以外的任何国家/地区)的任何半分辨率 map 。
如果您引用 Plotly API ,则唯一可用的 locationmode
选项是 ["ISO-3" | "USA-states" | "country names"]
要绘制任何不是美国的国家/地区,唯一的选择是使用 locationmode = "country names"
,就像 Western Africa example 的情况一样,并设置一个:
geo = dict(
scope = 'australia'
)
然而,你会发现海岸线都是锯齿状的,看起来很糟糕,没有国家边界等选项。
经过相当乏味的搜索后,我能够找到的最佳选择是使用
matplotlib
和 Basemap
。例如。 this tutorial 。似乎
Basemap
提供了一个 huge range of mapping options ,所以希望你能在那里找到一些爱。或者,如果您的值(value)观是全州范围的,我只会使用 Socialcops 提供的很酷的小 web-based tool。
关于python - plotly :澳大利亚 Choropleth map ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50007258/