无法与文森特在伊普ython绘制出绿藻世界地图

2024-10-06 12:12:28 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试在文森特绘制一个阴影世界地图(类似于地图数据绑定部分here)中的郡示例。我的代码不会抛出错误,但会生成一个纯色地图(即所有国家都是蓝色的)。在

我有描述每个国家的专题数据(这些国家被标识为iso3代码)。我的数据的玩具版本是:

import pandas as pd
import vincent
import numpy as np

iso3 = ['USA','CHN','BRA']
x = [50,100,150]

data = pd.DataFrame({'iso3': iso3, 'x': x})

我从文森特地图回购中剥离了世界国家地图中的id代码,并创建了一个数据帧,将数据中的信息与来自世界地图json(即iso3代码)的id代码相匹配:

^{pr2}$

map_数据看起来不错,有177个条目(相当于世界国家中多边形(国家)的数量),没有x的NaN,并且与它们应该在的位置相匹配,尽管4个id代码等于-99(这些地方像科索沃这样没有正式的iso3代码)。最后,我使用文森特绘制数据:

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

mapx = vincent.Map(data=map_data, geo_data=geo_data, projection='mercator',  scale=150, 
              data_bind='x', data_key='iso3',
              map_key={'world-countries':'geometries.id'}, brew='YlGnBu')
mapx.marks[0].properties.enter.stroke_opacity = vincent.ValueRef(value=.25)
mapx.display()

同样,这段代码运行正常,但是地图没有基于x值的专题着色


Tags: 数据代码importidmapworlddata地图