在Flot中,当数据跨越年终时,xaxis.monthNames的行为方式有些奇怪吗?
我有12个月的数据,从2012年6月开始,我准备了一系列12个字符串,反映了几个月。
当渲染图形时,数据被正确显示但日期标签不正确 - 它们可能是按日期顺序而不是它们在数组中的顺序(或者可能是巧合)。
值和标签图如下所示:
结果图如下所示:
最后......使用该数据的js *如下所示:
var data1 = [
{label: "Incidents", data: arrFakeData, points: {symbol: "circle", fillColor: "#058DC7"}, color: '#058DC7'},
];
p = $.plot($("#placeholder"), data1, {
xaxis: {
min: (new Date(2012, 6, 1)).getTime(),
max: (new Date(2013, 5, 1)).getTime(),
mode: "time",
tickSize: [1, "month"],
monthNames: arrMonthLabels,
tickLength: 0,
axisLabel: 'Month',
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 12,
axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif',
axisLabelPadding: 5
},
yaxis: {
axisLabel: 'Number of Incidents',
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 12,
axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif',
axisLabelPadding: 5
},
series: {
lines: {show: true},
points: {
radius: 3,
show: true,
fill: true
},
},
grid: {
hoverable: true,
borderWidth: 1
},
legend: {
labelBoxBorderColor: "none",
position: "right"
}
});
当日期跨越一个日历年时,我是否应该采取其他措施来正确订购x轴标签?
答案 0 :(得分:2)
monthNames数组的大小或顺序不应与您的数据相对应;它应包含从1月到12月订购的12个月的名称。然后,时间插件会为特定日期选择正确的插件。
你的情节是不正确的,因为1341057600000(实际上是七月,而不是六月)导致它选择monthNames数组中的第七项,你提供的那一项是“Jan”而不是“Jul”。
您只需要将您的monthNames重新订购,即从1月到12月。