python vincent map不显示

时间:2017-08-17 16:37:55

标签: pandas jupyter-notebook data-science vincent

我正在尝试使用vincent包在jupyter笔记本中可视化我的数据(在pandas中),但在初始尝试时遇到问题,这是我使用的代码(从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()

运行代码后,没有显示任何内容。我检查了vis的类型:

  vincent.charts.Map

我不知道如何继续这里,我感谢对此问题的任何意见。

2 个答案:

答案 0 :(得分:0)

不确定您的执行地点。
假设您刚刚使用pip安装vincent并尝试了PY IDLE中的代码,您可能会错过两个重要步骤:

AFIK vincent仅通过Jupyter笔记本生成使用Vega呈现的jsons。 使用Vega进行渲染您需要安装:

1)Jupyter和依赖性
  2)Vega和依赖

我可以使用these instructions这样做 一旦jupiter启动,浏览器中会打开一个窗口,我必须在'new'下选择'Python3',并将代码放在该页面的提示符中。

或者您可以使用此online Vega renderer。另请参阅Vega docs

请注意,vincent似乎不是用于此目的的最新技术,其网页指向Altair

另外,我注意到使用原始数据从您发布的代码中'vega.json'生成的json不会在任何地方呈现。这也是一个问题,可能是因为它使用了过时的格式,但我不确定。

我对这项技术的经验有限,但我能够获得图表来呈现specifically this,这也是它对我的看法。

答案 1 :(得分:0)

我知道这篇文章很老但是我发现了你的错误,我想我会在这里回答,以帮助vincent的未来用户,因为它对我来说很漂亮。我正在使用anaconda版本的vincent和jupyter笔记本。

首先,您必须在笔记本中初始化vincent

import vincent
vincent.core.initialize_notebook()

您的下一个问题是您的网址实际上并未指向任何位置。对于您需要的世界地图地形:

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

除了这两个例外,我还打印了一张像样的地图。