首页 > 解决方案 > 如何动态更改散景图段线宽

问题描述

我有一个包含段的图:

p = figure(height=500, tools="pan,wheel_zoom,box_zoom,reset", x_axis_type='datetime', y_axis_location="right")

high_low_segment = p.segment(x0='time', y0='low', x1='time', y1='high', line_width=1, color='black', source=source)

(这是来自OHLC 示例

我想知道如何动态更改线段的 line_width - 即当 x 比例更改(捕获RangesUpdate事件)时 - 以相应地缩放到缩放级别。

我是散景的新手,所以我不确定是否可以直接在 Python 中使用,如果我必须连接一些 JS,或者这种方式是否不可能。也许我应该完全重写我的图或删除段并添加一个新的?

环境:

标签: pythonbokeh

解决方案


事实上,segment 是实现可缩放矩形的错误选择。使用带有高度和宽度单位的Rect字形data开箱即用。

p.rect(x='time',
       y='high_low_y',
       fill_color='black',
       height='high_low_height',
       width=20000,
       line_width=0,
       angle=0,
       height_units='data',
       width_units='data',
       source=source
       )
p.rect(x='time',
       y='open_close_y',
       fill_color='open_close_color',
       height='open_close_height',
       width=60000,
       line_width=0,
       line_color='black',
       angle=0,
       height_units='data',
       width_units='data',
       source=source
       )


推荐阅读