Чероплет не строит ничего - PullRequest
       11

Чероплет не строит ничего

0 голосов
/ 16 февраля 2019

Я хотел бы показать карту мира, основанную на потоке людей в некоторых странах, использующих сюжет и Чороплет, но это не работает, и я не понимаю, почему.

Это мойтаблица панд

Этот код предназначен для построения графика:

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')

1 Ответ

0 голосов
/ 20 февраля 2019

После нескольких изменений я, наконец, могу запустить ваш хороплет:

1. type='choropleth', а не type='choroplet'.

2. 'locations', а не 'location'.

3.Если вам нужна карта мира, измените showcoastlines на True - это сделает карту более привлекательной.

4.Вы можете удалить projection в geo, потому что type=equirectangular это значение по умолчанию для этого параметра.

Я добавил locationmode и scope параметры со значением по умолчанию (но прокомментировал оба).Эти параметры должны вам очень помочь при создании хороплета.Например, изменение scope='world' на scope='europe' позволило вам видеть только карту Европы вместо мира (в ваших данных все страны Европы, так что, возможно, это будет иметь смысл).Вы можете прочитать больше об этих параметрах 1 и 2 .Также не бойтесь смотреть на полный справочник со всеми параметрами о хороплете и геомодуле 3 и 4 .

Код:

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')

Выход:

World Map Choropleth

...