我想显示某些国家的人口变化情况下使用plotly和Choroplet的世界地图,但它不起作用,我也不明白为什么。

This is my pandas table

该代码应绘制图形:

import plotly.plotly as py
import plotly
import plotly.figure_factory as ff
from plotly.offline import download_plotlyjs, init_notebook_mode, plot,iplot
init_notebook_mode(connected=True)
flow = color_table.iloc[:,3]

data = [dict(type = 'choroplet',
         colorscale = 'Rainbow',
         location = color_table['COUNTRY_NAME_IT_y'],
         z = flow,
         text = color_table['COUNTRY_NAME_IT_x'],
         colorbar = dict(title = 'Flow of foreign users', titlefont=dict(size=25),tickfont=dict(size=18)),
        )]


layout = dict(title = 'Flow of foreign users',
         geo = dict(showframe = False,showcoastlines = False,projection = dict(type = 'equirectangular'))
         )

fig = dict(layout=layout, data=data)
iplot(fig,validate=False, filename='d3-world-map')

最佳答案

经过几次更改后,我终于可以启动您的choropleth了:

1. type='choropleth',而不是type='choroplet'

2. 'locations',而不是'location'

3.如果您想要世界地图,则将showcoastlines更改为True-这会使地图看起来更漂亮。

4.您可以删除projection中的geo,因为type=equirectangular是此参数的默认值。

我添加了带有默认值的locationmodescope参数(但都注释了)。这些参数应该在构建节流孔时对您有很大帮助。例如,将scope='world'更改为scope='europe'只允许您查看欧洲地图,而不是世界地图(在您的数据中,所有欧洲国家/地区都可以查看)。您可以阅读有关这些参数12的更多信息。另外,不要害怕查看有关Choropleth和地理模块34的所有参数的完整参考。

码:

from plotly.offline import init_notebook_mode, iplot
init_notebook_mode(connected=True)

list1 = ['Romania', 'Russia', 'Austria']
list2 = ['ROU', 'RUS', 'AUT']
list3 = [0.4, 0.1, 0.3]

data = [dict(type='choropleth',
             colorscale='Rainbow',
             locations=list2,
             # locationmode='ISO-3',
             z=list3,
             text=list1,
             colorbar=dict(title='Flow of foreign users',
                           titlefont=dict(size=25),
                           tickfont=dict(size=18)),
             )]


layout = dict(title='Flow of foreign users',
              geo=dict(
                       showframe=False,
                       showcountries=True,
                       # scope='world',
                       ),
              )

fig = dict(layout=layout, data=data)
iplot(fig, validate=False, filename='d3-world-map')


输出:

python - Choropleth什么都没画-LMLPHP

09-25 19:39