我正在尝试使用flot图表显示xaxis上的时间
这是我的数据数组(时间,价值)
var time = [["13:33","0.04668"],["13:23","0.04856"],["13:12","0.05997"],["13:01","0.04679"]];
这是flot图表设置
$("#flot-dashboard-chart").length && $.plot($("#flot-dashboard-chart"), [
time
],
{
series: {
lines: {
show: false,
fill: true
},
splines: {
show: true,
tension: 0.4,
lineWidth: 1,
fill: 0.4
},
points: {
radius: 0,
show: true
},
shadowSize: 2
},
grid: {
hoverable: true,
clickable: true,
tickColor: "#d5d5d5",
borderWidth: 1,
color: '#d5d5d5'
},
colors: ["#1ab394", "#464f88"],
xaxis:{
mode: "time",
timeformat: "%H:%M"
},
yaxis: {
ticks: 4
},
tooltip: false
}
);
它不断出现以下错误:
Uncaught TypeError:无法在'CanvasRenderingContext2D'上执行'quadraticCurveTo':需要4个参数,但只有0个参数。
如果我用a替换:及时。 (点)我不再得到错误,但xaxis根本没有显示
var time = [["13.33","0.04668"],["13.23","0.04856"],["13.12","0.05997"],["13.01","0.04679"]];
答案 0 :(得分:1)
flot时间序列插件自纪元(1970年1月1日)起以毫秒为单位工作,这与UNIX时间非常相似,除了它以毫秒为单位,而不是秒。您需要提供该格式的时间戳。 flot website提供了使用各种语言获取此功能的绝佳示例。另请注意,Flot旨在用于UTC时间,因此如果将时间戳转换为UTC,事情会变得更顺畅。在您的示例中,您似乎只想显示时间,而不是日期/时间,因此您始终可以格式化轴字符串以显示您喜欢的内容。您可以选择一个日期并将所有时间设置为特定日期,然后只显示时间组件。
注意,当你玩Flot时,你会注意到它有点古怪。有时一起使用多个插件需要按特定顺序加载它们等。我已经使用它大约一年了,我总能把它用来做我需要的东西,有时它只是比看起来应该有点棘手!