карта python vincent не отображается

Я пытаюсь использовать пакет vincent для визуализации своих данных (в пандах) в блокноте jupyter, но у меня проблемы с первой попыткой, вот код, который я использую (скопирован из http://wrobstory.github.io/2013/10/mapping-data-python.html):

import vincent
import pandas

world_topo=r'world-countries.topo.json'

geo_data = [{'name': 'countries',
            'url': world_topo,
            'feature': 'world-countries'}]

vis = vincent.Map(geo_data=geo_data, scale=200)
vis.to_json('vega.json')
vis.display()

После запуска кода ничего не отображалось. Я проверил тип визы:

  vincent.charts.Map

Я не уверен, как действовать здесь, я ценю любой вклад в эту проблему.


person Zhenyu Bo    schedule 17.08.2017    source источник


Ответы (2)


Не уверен, на каком этапе реализации вы находитесь.
Предположим, что вы только что использовали pip для установки vincent и попробовали код в PY IDLE, вы могли пропустить 2 важных шага:

AFIK vincent генерирует только jsons для представления с помощью Vega через блокнот Jupyter. Для рендера с помощью Vega Вам необходимо установить:

1) Jupyter и зависимости
2) Vega и зависимости

Мне удалось сделать это с помощью этих инструкций.
После запуска jupiter открывается окно в браузере, мне пришлось выбрать «Python3» в разделе «новый» и поместить код в приглашение на этой странице.

В качестве альтернативы вы можете использовать этот онлайн-рендерер Vega. См. также документацию Vega.

Обратите внимание, что кажется, что vincent не является новейшей технологией для этой цели, их страница указывает на Альтаир

Кроме того, я заметил, что json, сгенерированный в 'vega.json' из кода, который вы разместили, с использованием исходных данных, нигде не отображается. Это тоже проблема, вероятно, из-за того, что используется устаревший формат, но я не уверен.

У меня ограниченный опыт работы с этой технологией, но мне удалось заставить отображать графики, в частности, это, и именно так это выглядело для меня.

person AChervony    schedule 17.08.2017

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

Во-первых, вы должны инициализировать Винсента в своей записной книжке.

import vincent
vincent.core.initialize_notebook()

и ваша следующая проблема заключается в том, что ваш URL на самом деле никуда не указывает. Для топографии карты мира вам понадобится:

world_topo="https://raw.githubusercontent.com/wrobstory/vincent_map_data/master/world-countries.topo.json"

Приличная карта распечатана для меня с этими двумя исключениями.

person MissBleu    schedule 04.02.2018