0
私はbokehでプロットを作成しましたが、今ではいくつかのウィジェットを追加しようとしています。現在、RangeSliderでx軸を変更したいのですが、コールバックに問題があると思います。事前にRangeSliderで軸の範囲を変更する
import pandas as pd
import numpy as np
import bokeh.plotting as bp
from bokeh.models import CustomJS
from bokeh.models.widgets import RangeSlider
from bokeh.layouts import row, widgetbox
from bokeh.plotting import figure, show, output_file
df = pd.DataFrame(np.random.randint(0,30,size=(100, 3)), columns=list('ABC'))
df.index.name ='Numbers'
dt = bp.ColumnDataSource(df)
output_file("Plot.html")
p = figure(title="Example",
x_axis_label = "Number", y_axis_label = "Temperature in C",
x_range=(0,100))
p.line(source=dt, x='Numbers', y='A', color='blue', legend='Line A')
p.line(source=dt, x='Numbers', y='B', color='red', legend='Line B')
p.line(source=dt, x='Numbers', y='C', color='green', legend='Line C')
p.legend.click_policy="hide"
callback = CustomJS(args=dict(p=p), code="""
var a = cb_obj.value;
p.x_range = a;
p.change.emit();
""")
range_slider = RangeSlider(start=0, end=100,value=(2,75), step=1, title="Test")
range_slider.js_on_change('value', callback)
layout = row(p,widgetbox(range_slider))
show(layout)
ありがとう:あなたはコードを見つける同封!あなたが個別範囲にstart
とend
を設定する必要が
恐ろしい!どうもありがとうございました! :) – Ailurus