无法在iPython Notebook中使用Vincent绘制世界地图
这个问题可能和在IPython中无法使用Vincent绘图有关,不过我觉得它并不是完全相同的问题。
我可以在IPython 0.13.1的笔记本中使用Vincent 0.4.4绘制一个柱状图,下面是一个例子(这个例子可以在文档中找到):
import vincent
vincent.core.initialize_notebook()
bar = vincent.Bar(multi_iter1['y1'])
bar.axis_titles(x='Index', y='Value')
bar.display()
但是,我在尝试使用数据映射中的世界地图表示时却无法做到这一点,具体可以参考这个例子:
import vincent
geo_data = [{'name': 'countries',
'url': world_topo,
'feature': 'world-countries'}]
vis = vincent.Map(geo_data=geo_data, scale=200)
vis.to_json('vega.json')
我把值'world_topo'替换成了从这里下载的Topojson文件(world-countries.topo.json)的路径。
没有显示任何错误,但也没有任何反应。顺便说一下,我没有使用HTTPS。这是最简单的地图图表例子,所以我想它应该能顺利运行……
有什么想法吗?
2 个回答
1
我尝试过的一件事是把世界地图文件放在Python脚本的同一个文件夹里。另外,记得要加上
import json
vincent.core.initialize_notebook()
3
根据vincent的网页,你需要使用>= 1.0版本的IPython,所以升级到一个更新的版本(比如IPython 2.1)很可能会解决你的问题。在我的Ubuntu电脑上,vega的地图绘图效果很好。
另外,在设置好图表后,你需要调用vis.display()
这个方法,就像在这个示例笔记本中展示的那样。