最初,为了使用holoviews的decimate操作,我坚持使用holoviews,但是我在调整holoviews中的bokeh输出时遇到了一些限制:
要在纯bokeh中实现“链接平移”,需要在bokeh中共享e.g.x_range参数bokeh.plotting.figure公司.图形对象
# create a new plot
s1 = figure(plot_width=250, plot_height=250)
# create a new plot and share only one range
s2 = figure(plot_width=250, plot_height=250, x_range=s1.x_range)
我想直接在holoviews中实现链接平移。 原因是,为了在不同范围的图中保持交互性。在
我知道,holoviews选项axiswise=True可以完美地自动调整不同的范围,但似乎不能仅为单个轴(例如y轴)定义,同时保持x轴上的链接平移交互。在
我怎样才能做到这一点?非常感谢你!在
这个问题有几种不同的答案。让我们从最直接的解决方法开始吧,你要做的是链接一个轴而不是另一个轴。这最容易通过给维度起不同的名称来实现,例如,只需将其中一个维度命名为默认的“x”或“y”:
准确地说,在这种情况下,轴的“标识”由尺寸名称、标签和单位决定。这使得表示相同数量的轴很容易共享。如果您真的需要,您甚至可以给它们不同的名称/标签/单位,然后用xlabel/ylabel选项覆盖显示的标签。在
现在要回答你的答案的更字面的版本,HoloViews在后台生成bokeh模型,然后将它们呈现到屏幕上。可以定义钩子,这些钩子可以在渲染bokeh绘图表示法之前对其进行修改。我当然不会推荐这种方法,但您可以实现与之前的解决方案相同的效果,如:
^{pr2}$最后,我们可以使链接更明确,如果你喜欢这种方法,我建议你提交一个问题,要求它包括在内。在HoloViews 1.11中引入了所谓的Links,我们可以很容易地添加一个
^{3}$RangeLink
,如下所示:相关问题 更多 >
编程相关推荐