我使用flot在我的网站上显示图表。
我使用此代码,但我得到了一个虚假的xaxis。它显示:
Apr 4 12:00 Apr 5 0:00 Apr 5 12:00 Apr 6 0:00 Apr 6 12:00 Apr 7 0:00 Apr 7 12:00 Apr 8 0:00
但我只想(4.4.2013 5.4.2013 6.4.2013 7.4 8.4.2013)。我希望没有重复,没有时间。
你能帮帮我吗?我在谷歌搜索了几个小时,但我找不到合适的解决方案。<script>
$(function () {
var d1 = [],
d2 = [];
var dt1 = [[1365041353000,3], [1365127753000,5], [1365214153000,9], [1365300553000,15], [1365386953000,2]],
dt2 = [[1365041353000,1], [1365127753000,2], [1365214153000,3], [1365300553000,5], [1365386953000,7]];
for( var i = 0; i < d2.length; i++ ) {
dt1.push([st + i * 3600000, parseFloat( (d1[i]).toFixed( 3 ) )]);
dt2.push([st + i * 3600000, parseFloat( (d2[i]).toFixed( 3 ) )]);
}
var data = [{
data: dt1,
label: 'Test'
}, {
data: dt2,
label: 'Test1',
points: { show: false },
lines: { lineWidth: 2, fill: false },
}];
Charts.line ( '#line-chart', data, {yaxis: {
},
xaxis: {
mode: "time",
timeformat: "%d.%m.%y"
}
});
});
</script>
我试过了:
xaxis: {
mode: 'time',
timeformat: '%d.%m.%y',
tickFormatter: function (val, axis) {
var d = new Date(val);
d.getUTCDate() + "." + d.getUTCMonth() + "." + d.getUTCFullYear();
}
}
但我也是这样 4月4日12:00Apr 5 0:00 00:00 3:00Apr 6 0:00 00 6月12日12:00Apr 7 0:00Apr 7 12:00Apr 8 0:00
我试过了:
xaxis: {
mode: 'time',
timeformat: '%d.%m.%y',
tickFormatter: function (val, axis) {
var d = new Date(val);
d.getUTCDate() + "." + d.getUTCMonth() + "." + d.getUTCFullYear();
}
}
但我也是这样 4月4日12:00Apr 5 0:00 00:00 3:00Apr 6 0:00 00 6月12日12:00Apr 7 0:00Apr 7 12:00Apr 8 0:00
答案 0 :(得分:0)
您可以通过以下方式在xaxis上使用tickFormatter:
tickFormatter: function (val, axis) {
var d = new Date(val);
return d.getUTCDate() + "." + d.getUTCMonth() + "." + d.getUTCFullYear();
}
对于重复项,它取决于您的应用程序关于您希望如何处理它的逻辑。您可以创建一个已经处理过的值的映射,如果再次遇到它,则返回null或空值。