散景如何显示热图或水平线(在地图上)?

时间:2018-12-26 13:06:36

标签: python bokeh heatmap

我在Bokeh上找到了很多示例热图,但是它带有三个变量(三个值,例如:x,y和temperature)。而且不是地图。我想在地图上编码圆圈的水平线(分布)(而不是第三个值)。

我知道其他库也有可能,但是我构建了一个Bokeh应用程序,但我看不到这是有可能的。

首先,我正在寻找一个带有几个点的图形上的小例子(使用Bokeh)。

要从那开始:

对此:

使用Bokeh(无曲线)和图例。

非常感谢。

PS:我知道这个example,但这对我的需求没有帮助。

1 个答案:

答案 0 :(得分:0)

从Bokeh 1.0.2开始,这是可能的,但轻松是不可能的。散景最近增加了对新multi_polygons字形的支持,该字形提供“带孔的修补程序”。

p.multi_polygons(
    xs=[

        # first multi-polygon (blue)
        [[ [1, 1, 2, 2],
           [1.2, 1.6, 1.6],
           [1.8, 1.8, 1.6]], # sub-polygon with 2 holes

         [ [3, 3, 4] ], # sub-polygon with no holes

        # second multi-polygon (red)
        [[ [1, 2, 2, 1],
           [1.3, 1.3, 1.7, 1.7] ]], # sub-polygon with 1 hole
    ],
    ys=[
        [[ [4, 3, 3, 4], [3.2, 3.2, 3.6], [3.4, 3.8, 3.8] ], [ [1, 3, 1] ]],
        [[ [1, 1, 2, 2], [1.3, 1.7, 1.7, 1.3] ]]],
    color=['navy', 'crimson'])

enter image description here

这是能够绘制等高线图(如上图所示)的必要先决条件。但是,Bokeh没有任何用于计算等值线水平的内置功能,因此您必须以某种方式生成这些值,或者使用某些其他轮廓函数的数值输出(例如,MPL或Seaborn会为您提供原始轮廓数据),或者自己计算。