Bokeh实时更新fill_color
Update in real time fill_color in Bokeh
我正在尝试从 hex_tile
散景 2.3.3 中 python 3.8 中的实时情节更新 fill_color
。更具体地说,我想更新填充图的 linear_cmap 的最大范围。为了更新最大值,我尝试将线性映射器传递到我正在使用的 ColumnDataSource 中的列。我还尝试在图中使用 .update,并将映射器传递给 fill_color:
def update():
new_data = bin_generate().to_dict(orient='list')
source.stream(new_data,rollover = 50)
maper = linear_cmap('counts', 'Viridis256', 0, max(bin_generate().counts))
f.hex_tile.fill_color=maper
#f.hex_tile.fill_color={'transform':maper}
data=bin_generate().to_dict(orient='list')
maper = linear_cmap('counts', 'Viridis256', 0, max(bin_generate().counts))
source = ColumnDataSource(data=data)
f = figure(x_range=(-5,5),y_range=(0,6), toolbar_location=None, tools="hover",
match_aspect=True, background_fill_color='#440154')
f.hex_tile(q="q", r="r",size=0.09, line_color=None, source=source,
fill_color=maper)
curdoc().add_root(f)
curdoc().add_periodic_callback(update,100)
如何更新 cmaper 的最大值?
我没有测试过,但这可以工作:
先给个名字
hextile = f.hex_tile(q="q", r="r",size=0.09, line_color=None, source=source,
fill_color=maper)
在函数中,添加:
hextile.glyph.fill_color=maper
你应该先从here
看看
另外,你应该给出完整的代码和一些数据来检查它。
我正在尝试从 hex_tile
散景 2.3.3 中 python 3.8 中的实时情节更新 fill_color
。更具体地说,我想更新填充图的 linear_cmap 的最大范围。为了更新最大值,我尝试将线性映射器传递到我正在使用的 ColumnDataSource 中的列。我还尝试在图中使用 .update,并将映射器传递给 fill_color:
def update():
new_data = bin_generate().to_dict(orient='list')
source.stream(new_data,rollover = 50)
maper = linear_cmap('counts', 'Viridis256', 0, max(bin_generate().counts))
f.hex_tile.fill_color=maper
#f.hex_tile.fill_color={'transform':maper}
data=bin_generate().to_dict(orient='list')
maper = linear_cmap('counts', 'Viridis256', 0, max(bin_generate().counts))
source = ColumnDataSource(data=data)
f = figure(x_range=(-5,5),y_range=(0,6), toolbar_location=None, tools="hover",
match_aspect=True, background_fill_color='#440154')
f.hex_tile(q="q", r="r",size=0.09, line_color=None, source=source,
fill_color=maper)
curdoc().add_root(f)
curdoc().add_periodic_callback(update,100)
如何更新 cmaper 的最大值?
我没有测试过,但这可以工作:
先给个名字
hextile = f.hex_tile(q="q", r="r",size=0.09, line_color=None, source=source,
fill_color=maper)
在函数中,添加:
hextile.glyph.fill_color=maper
你应该先从here
看看另外,你应该给出完整的代码和一些数据来检查它。