java - 使用日期选择器更改轴范围

标签 java python datepicker bokeh

我有一个在 x 轴上包含日期时间值的图,并且想要使用日期选择器小部件更改范围。但是“cb_obj.value”有一个问题,不能直接用于 f.x_range.start 。 我发现了类似的question ,已解决。然而,我在调整/转换回调对象中的值时仍然遇到很多麻烦,特别是因为这必须在 Java 中完成。或者说,我错了吗?

import numpy as np
from bokeh.models import CustomJS, DatePicker, TextInput, ColumnDataSource
from bokeh.layouts import row, layout
from bokeh.plotting import output_file, show, figure
from datetime import datetime, timedelta

output_file("DatePicker.html")

# Figure
f=figure(x_axis_type='datetime')

# Datetime
date_time = [datetime(2017,1,1) + timedelta(days=x) for x in range(0,365)]

# ColumnDataSource
source = ColumnDataSource(dict(datetime=date_time, parameter=np.random.rand(365)))

# Line for plot
f.line(x='datetime',y='parameter',line_color='black',source=source)

# Callback
callbackPlot= CustomJS(args=dict(f=f), code="""
    var a = cb_obj.value;
    f.x_range.start = a;
""")

# Datepicker
DatepickerPlot = DatePicker(
    title="Start:", name="StartDate",  value=date_time[0])
DatepickerPlot.js_on_change('value', callbackPlot)

# Show 
show(layout(row(DatepickerPlot, f)))

除此之外,是否还有另一种选择可以在不使用 CustomJS/Java 的情况下使用回调在 Bokeh 中制作独立的 HTML 文件?

最佳答案

cb_obj.value是一个字符串,而f.x_range.start需要一个数字,更改

f.x_range.start = a;

f.x_range.start = Date.parse(a);

关于java - 使用日期选择器更改轴范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48937571/

相关文章:

java - ${pageContext.request.contextPath} 如何在本地和远程工作?

java - 为什么分配 String 值的 Integer 泛型在打印时不会发出错误?

python - 在 python 二维数组中排列值

python - 如何将类成员方法的参数列表自动填充到可变参数中?

jQuery glDatePicker 在日历呈现后更改 selectedDate?

java - 如何在同一行上使用 map 和 orElseThrow?

java - JPA 和 Hibernate : compare only time portions of timestamps

python - 将一行拆分为多个单元格,并为每个基因保留第二个值的最大值

android - 如何在android Fragment中显示日期选择器

ios - 具有最小日期的 Swift Datepicker