Bokeh时间序列图datetime内部表示及45度斜率绘制方法咨询
Bokeh时间序列相关问题解答
1. datetime的内部表示方式
Bokeh对所有datetime类型的轴数据,内部统一采用自1970-01-01 00:00:00 UTC起的微秒级Epoch时间戳存储和计算,不管你传入的是Python datetime对象、Pandas时间序列还是其他格式的时间数据,Bokeh都会自动转换成这个格式做内部处理。
2. 计算斜率的时间单位选择
计算梯度/斜率时,时间维度的取值必须和Bokeh内部格式对齐,使用微秒级Epoch时间即可。如果误用秒级或者纳秒级时间戳,时间差的量级会出现1e6倍或者1e3倍的偏差,最终计算出的斜率结果完全不符合预期。
3. 蜡烛图场景绘制45度斜线的注意事项
- 如果要画数值逻辑上的45度斜线:直接用起止点的微秒级时间差作为x轴差值,匹配相同大小的y轴差值设置坐标即可,调用
ray或者Lineglyph方法添加到画布即可。 - 如果要画视觉上严格的45度斜线:除了斜率计算正确,还要额外匹配x、y轴的像素缩放比例,可通过调整figure的
aspect_ratio参数、x_axis_type="datetime"的相关刻度配置实现,保证x轴1单位微秒对应的像素宽度和y轴1单位对应的像素高度完全一致。
内容的提问来源于stack exchange,提问作者TMS
相关产品推荐
相关产品推荐

