在散景图的轴上突出显示许多范围?

问题描述 投票:0回答:1

我有一个散点图,想突出显示x轴的某些范围。当要突出显示的数字范围相对较小时,使用BoxAnnotation效果很好。但是,我正在尝试制作许多相邻的突出显示(具有不同的不透明度)。缩小许多相邻的BoxAnnotation时,方框会稍微重叠,从而形成线条。另外,成千上万的BoxAnnotations需要很长时间才能生成,并且与绘图进行交互时无法平稳运行。

更具体地说,我有一些时间数据和一个预测模型,用于检测数据中某些事件发生的可能性。我希望每个片段都以不透明性突出显示,该不透明性由事件在该时间点发生的概率给出。但是,我当前的BoxAnnotations方法会导致缩小时框的重叠产生虚假的线条(当放大区域时它们会消失),并且交互式绘图的响应速度变慢。

是否有一种方法可以在没有工件的情况下并且通过更流畅的体验来完成类似的任务?

当前方法:

BoxAnnotation

相邻的source = ColumnDataSource(data=data_frame) figure_ = figure(x_axis_label='Time', y_axis_label='Intensity') for index in range(data_frame.shape[0] - 1): figure_.add_layout( BoxAnnotation(left=data_frame['time'].values[index], right=data_frame['time'].values[index + 1], fill_alpha=data_frame['prediction'].values[index], fill_color='red', line_alpha=0) ) figure_.circle(x='time', y='intensity', source=source) show(figure_) 太多时的人造线示例:BoxAnnotations

在x轴上缩放时,线条消失:enter image description here

python bokeh
1个回答
0
投票

可能没有任何方法可以挽救这种确切的方法。这些工件是由于底层栅格HTML画布的功能所致,在这方面没有什么可以作为。并且任何缓慢都是由于这样的事实:enter image description here的这种使用(具有非常多的单个实例)根本不是所设想的,并且它根本没有进行优化以显示数百个实例,例如,分散字形是。由于上述原因,您正在尝试使用框注解来构建某种半透明的热图,但这并不适合。

您最好的选择是创建一个半透明的“热图”图像,并使用可以更好地控制栅格化和堆肥细节的工具或代码覆盖自己。我真的无法为您提供详细的建议。 BoxAnnotation库可能对此有用。

© www.soinside.com 2019 - 2024. All rights reserved.