散景 - 为补丁

时间:2016-06-11 16:51:36

标签: python bokeh

我是bokeh的新手,并尝试制作一个简单的地图。

从这个页面http://www.abisen.com/blog/bokeh-maps/制作地图非常简单。 但个性化需要更深入地了解散景。 我想在法国展示每个城镇的名称,我从法国开放数据(https://www.data.gouv.fr/fr/datasets/fond-de-carte-des-codes-postaux/

现在我只得到默认的工具提示:

enter image description here

我想更改它以添加城市名称:

enter image description here

我添加了一个工具提示:

hover = HoverTool(
        tooltips=[
            ("index", "$index"),
            ("(x,y)", "($x, $y)"),
            ("city", "@city"),
        ]
    )

p = figure(title="France", tools=[hover])

但是无法找到让城市名称可以访问工具提示的方法(所以有#34; ???"而不是名字)。 我无法弄清楚如何将城市名称添加到字形的data_source。 所以我试着用手在每个字形的data_source中添加一个列:

for city_name in states:
    data   = getDict(city_name, dat)
    # here I tried to add a legend => useless
    gliph_ = p.patches(data[city_name]['lat_list'], data[city_name]['lng_list'],legend=city_name,  line_color="black")

    #here I try to add a column into the glyph's data_source :
    cities = [x for x in data[city_name]['city']][0]
    gliph_.data_source.add(cities, "city")

我看到gliph有一个新列作为数据源:

gliph_.data_source.column_names
>['xs', 'ys', 'city']

但工具提示无法识别: - (

如何将data_source列添加到patche中? 如何通过工具提示识别它?

1 个答案:

答案 0 :(得分:1)

我的"数据"我的数据结构错误了。字典。

我必须为部门中的每个城市创建一个具有相同长度的值的数组,并将其附加到部门:

for new_col in ["surf", "pop", "fam", "villes", "dpt", "cp", "perimetre"]:
            gliph_.data_source.add(data[departement][new_col], new_col)

实际将数据源添加到字形中。