我試圖通過散景到我的連接到熊貓數據框的情節添加一個滑塊。使用熊貓日期時間索引的散景滑塊
該圖利用日期時間指數顯示空氣質量指數如何超過一年。
我想補充一個滑塊每個月,1至12月2016 我無法找到與滑塊連接到連接到一個數據幀大熊貓的陰謀代碼一個明顯的例子。請有人幫忙!
我能夠找到下面的代碼,但繪圖是隨機數據生成的。這段代碼的輸出正是我想要做的,但對時間序列數據。
from bokeh.io import output_notebook, show, vform
from bokeh.plotting import figure, Figure
from bokeh.models import ColumnDataSource, Slider, CustomJS
import numpy as np
output_notebook()
x = np.sort(np.random.uniform(0, 100, 2000))
y = np.sin(x*10) + np.random.normal(scale=0.1, size=2000)
fig = Figure(plot_height=400, x_range=(0, 2))
source = ColumnDataSource(data={"x":x, "y":y})
line = fig.line(x="x", y="y", source=source)
callback = CustomJS(args=dict(x_range=fig.x_range), code="""
var start = cb_obj.get("value");
x_range.set("start", start);
x_range.set("end", start+2);
""")
slider = Slider(start=0, end=100, step=2, callback=callback)
show(vform(slider, fig))
我也發現使得這類滑塊(如下/ linked here)的源代碼,但我不能確定如何實現它。正如你可以告訴的那樣,我對Bokeh相當陌生。請幫忙!
class DateRangeSlider(AbstractSlider):
""" Slider-based date range selection widget. """
@property
def value_as_datetime(self):
''' Convenience property to retrieve the value tuple as a tuple of
datetime objects.
'''
if self.value is None:
return None
v1, v2 = self.value
if isinstance(v1, numbers.Number):
d1 = datetime.utcfromtimestamp(v1/1000)
else:
d1 = v1
if isinstance(v2, numbers.Number):
d2 = datetime.utcfromtimestamp(v2/1000)
else:
d2 = v2
return d1, d2
value = Tuple(Date, Date, help="""
Initial or selected range.
""")
start = Date(help="""
The minimum allowable value.
""")
end = Date(help="""
The maximum allowable value.
""")
step = Int(default=1, help="""
The step between consecutive values.
""")
format = Override(default="%d %b %G")