在散景中在线性和对数刻度之间切换

时间:2017-06-28 22:37:27

标签: python plot bokeh

如何在线性和日志比例之间重新生成this example切换?

背景:我是一位长期使用Matplotlib的用户,最近的Bokeh用户。 我开始使用Bokeh的主要原因之一是它提供的交互性。其中很大一部分就是能够在情节中切换线性和对数尺度(这是我日常生活中真正需要的东西)。这个问题在2015年得到了解答here,当时没有明确答案。

然而,2年后,我想知道是否有一种方法可以包含按钮/小部件,以便从x轴和y轴的线性比例变为对数比例。如果没有,我确定有一种干净的方式以某种方式模拟该行为(没有两个并排的情节)。

1 个答案:

答案 0 :(得分:1)

一个可能的解决方案是将线性和对数图放入Tabs中,如:

from bokeh.plotting import figure, show
from bokeh.models.widgets import Tabs, Panel

panels = []

for axis_type in ["linear", "log"]:
    fig = figure(x_axis_type=axis_type, y_axis_type=axis_type)
    fig.scatter(x=[1,10,100,1000], y=[1,10,100,1000])

    panel = Panel(child=fig, title=axis_type)
    panels.append(panel)

tabs = Tabs(tabs=panels)

show(tabs)

或者,您使用可更改绘图范围的CustomJS回调连接bokeh.models.widgets.Button,但上述内容对我来说似乎更容易。