Holoviews-PointDraw-每个点的颜色不同

时间:2020-11-05 17:28:53

标签: python bokeh holoviews

我一直在探索如何使用PointDraw流在hv.Points图中为一个点着色。但是,这似乎并不简单。看来我无法使用默认方法将新点着色为其他颜色。它只能是单一的静态颜色。如果有人解决了这个问题,请告诉我。

这是我尝试过的一些代码:(请注意,添加新点后,它始终为黑色)

data = ([0, 0.5, 1], [0, 0.5, 0], ['red', 'green', 'blue'])
points_source = hv.Points(data, vdims='color').redim.range(x=(-.1, 1.1), y=(-.1, 1.1))
points_source_stream = streams.PointDraw(data=points_source.columns(), num_objects=10, source=points_source, empty_value='black')
points_source.opts(
    opts.Points(active_tools=['point_draw'], color='color', height=400,
                size=10, tools=['hover'], width=400))


contents = []
def f(data):
    colors = data['color']
    colors[-1] = 'red'
    data['color'] = colors
    contents.append(data)
    points_source_stream.update(data)
contents

points_source_stream.add_subscriber(f)

理想情况下,我想将生成器传递给empty_value方法:

def colors():
   while(True):
       yield 'red'
       yield 'green'
       yield 'blue'

points_source_stream = streams.PointDraw(data=points_source.columns(), num_objects=10, source=points_source, empty_value=colors)

0 个答案:

没有答案