我正在使用 jqplot 通过 Primefaces 并输入条形图,如下所示:
Series 1:
label: "Company 1"
data: {"01-05-2015": 10, "06-05-2015": 3}
Series 2:
label: "Company 2"
data: {"03-05-2015": 10, "06-05-2015": 3}
当我将此数据作为BarChartModel
传递时,我在图表上错误地绘制了数据。
数据遵循第一个系列,因为在Series 2
日期之后绘制了Series 1
。我要将数据转换为如下,以便将图表绘制得很好:
Series 1:
label: "Company 1"
data: {"01-05-2015": 10, *"03-05-2015": 0*, "06-05-2015": 3}
Series 2:
label: "Company 2"
data: { *"01-05-2015": 0* , "03-05-2015": 10, "06-05-2015": 3}
注意*和*之间的数据项。
这里有什么建议吗? (如果使用DateAxis
有帮助吗?)
答案 0 :(得分:0)
当我没有使用DateAxis时,我遇到了与LinearChartModel相同的问题。 作为一种解决方法,我在系列中填写了所有可能的数据,然后重新排序列表。 URG!
也应该使用BarChartModel。
使用DateAxis,您只需要添加带有时间戳的日期轴,如下所示:
serie.set(new Date().getTime(), new Double(123));
或者
serie.set("2015-09-08", new Double(123));
将DateAxis放在LineChartModel中,如下所示:
DateAxis axis = new DateAxis("Data da inspeção");
linearModel.setZoom(true);
linearModel.getAxes().put(AxisType.X, axis);
linearModel.setExtender("linhaSetor");
并在extender.js格式化您的日期:
function linhaSetor() {
this.cfg.axes.xaxis.tickOptions = {
show : true,
angle : 45,
formatString : '%d/%m/%y %Hh'
};
}
您甚至不需要按顺序放置数据。