我正在使用flotchart制作自定义线图(在ajax中调用),但我可能做错了,因为他不会显示,我收到错误:
未捕获错误:时间模式需要flot.time插件。
但是包含了jquery.flot.time.js所以我不明白为什么会出现这个错误。
我找到了这个链接:https://github.com/flot/flot/issues/1016 这就解释了为什么flot会抛出这个错误,但我并不了解一切......
有人可以更轻松地向我解释或只是检查我的代码中有什么问题吗?
$(function() {
var data = [
{
label: "A0-P1-M1 10cm",
data:
[
[1388538000000, 29.8848],
[ // .. some data]
]
}
];
var options = {
legend: {
noColumns: 1
},
xaxis: {
mode: "time",
timeformat: "%d/%m %H:%M",
tickLength: 10
},
yaxis: {
show: false
}
};
var plot = $.plot("#placeholder13", data, options);
});
感谢您的时间和救命。 抱歉我的英文。
答案 0 :(得分:2)
正如错误所说,你没有包含时间插件。确保您的包含路径正确,并且在包含Flot本身后包含插件。
由于您的包含问题,我们需要查看您的HTML才能更具体。
答案 1 :(得分:1)
我的代码出现了这个错误:
jQuery.getScript("jquery.flot.min.js");
jQuery.getScript("jquery.flot.time.min.js");
修复此问题以尊重加载顺序:
jQuery.getScript("jquery.flot.min.js",function(){
jQuery.getScript("jquery.flot.time.min.js")
});
答案 2 :(得分:0)
正如你所说的那样,如果你出去下载它的话,应该用check-in 1016来解决这个问题。与@DNS所说的相反,这是从另一个文件中抛出的,与您是否包含flot.time.js文件无关。该修复程序位于该文件中(因此您显然需要正确包含它),但它仍无法使用您发布的代码...修复代码的方法是简单地在您的文件周围添加{ }
系列:
var data = [
{
label: "A0-P1-M1 10cm",
data:
[
[1388538000000, 29.8848],
[ // .. some data]
]
}
];
//Becomes:
var data = [
{
label: "A0-P1-M1 10cm",
data:
[
{ //<---Attention!
[1388538000000, 29.8848],
[ // .. some data]
} //<---Attention!
]
}
];
...一般来说,这描述的问题是Flot API无法确定你的数据在你的数据中的位置(或者即使你有任何系列)并且它解释了这个..um ..很差.. < / p>
但是我想你的帖子帮助我找到了我的问题..干杯......
答案 3 :(得分:0)
这可能无法解决您的问题,但可能有助于其他人。
我注意到在创建需要执行chart.getOptions().xaxis.whatever
和chart.getOptions().xaxes[0].whatever
的图表后更改图表选项。所以我开始计划动态地执行所有选项,后者通过复制和粘贴来改变它...
jQuery(...).plot(..., ..., {
...,
xaxis: {
aFewOptions: ...,
...
},
xaxes: {
'0': {
theSameFewOptions: ...,
...
}
}
});
首次创建图表时不应包含整个xaxes [0],即使后者需要它...
做这样的事情会导致
未捕获错误:时间模式需要flot.time插件。
即使加载了flot.time插件......
我的错误是复制和粘贴我不应该写的代码......看起来你没有这样做过这样的事情......