我希望在一周的每一天从下午18:00到第二天的上午6:00获得时间。我怎样才能在GWT / highchart中获得plotBands的这段时间?我想在图表上突出这个夜晚。
This is asample in JS,日期定在6月2日至4日,绘制了情节带。我怎样才能做同样的事情,但要在GWT高级图表中花几个小时?
chart.setPlotBands(xaxis.createPlotBand()
.setFrom(time.getTime())// how to get here 18:00 pm hour?
.setTo(time.getTime())// and here 6:00 am hour?
.setColor("#060606"));
我用utc尝试过,什么都没有,但不要认为这是正确的方法:
.setFrom(time.getTime().UTC(2014, 7, 7, 18, 0, 0))
.setFrom(time.getTime().UTC(2014, 7, 8, 6, 0, 0))
我想"用x和#34标记时间x到时间y;并在18到6之间的某段时间内用这种图片获得类似的东西
答案 0 :(得分:0)
我认为没有办法直接用高图突出显示模式。我做了一个快速草图,但没有在GWT / highchart中测试结果。此方法会突出显示int
字段hourStart
(在您的示例中为18)和lengthInHours
(根据您的描述为12)所描述的每日时段:
/*
* start and end are the lower and upper bounds of your chart data
*
*/
public void highlightBands(Date start, Date end) {
Date startDay = toLocalDay(start);
Date endDay = toLocalDay(end);
Date current = add(startDay, Calendar.DAY_OF_MONTH, -1);
while (current.before(endDay)) {
Date bandStart = add(current, Calendar.HOUR_OF_DAY, hourStart);
Date bandEnd = add(bandStart, Calendar.HOUR_OF_DAY, lengthInHours);
PlotBand band = x.createPlotBand().setFrom(bandStart).setTo(bandEnd);
x.addPlotBands(band);
current = add(current, Calendar.DAY_OF_MONTH, 1);
}
}
发布的代码是this gist的简化版,只是为了显示我的方法而不使用java.util
以外的任何内容