python - 如何动态更改散景图段线宽
问题描述
我有一个包含段的图:
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,或者这种方式是否不可能。也许我应该完全重写我的图或删除段并添加一个新的?
环境:
- 散景 2.4.0
- 蟒蛇 3.9.7
解决方案
事实上,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
)
推荐阅读
- swift - Xcode 对“绑定”的期望是什么
“占位符? - java - 从带有处理指令的 XML 文件中读取并写入另一个输出文件
- python - 如何将固定数字添加到文件名的整数部分?
- python - 如何将文本中的一行视为整数?
- android - Xamarin Forms Android - 将操作系统时间更改为较早日期后应用程序无法启动
- c++ - 有没有办法使用 C++ 在 linux 中获取视频设备的数量及其名称?
- python - boto3:StreamingBody [Errno 104] 对等方重置连接
- r - 按数字解析并将数字移动到R中的现有列中
- node.js - 为什么以及何时应该使用 TypeScript 的“将 X 返回为 Y”?
- javascript - 使用此 JavaScript 将本地时间转换为另一个时区