flotchart xaxis show time

时间:2015-05-16 12:54:54

标签: javascript jquery

我正在尝试使用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"]];

1 个答案:

答案 0 :(得分:1)

flot时间序列插件自纪元(1970年1月1日)起以毫秒为单位工作,这与UNIX时间非常相似,除了它以毫秒为单位,而不是秒。您需要提供该格式的时间戳。 flot website提供了使用各种语言获取此功能的绝佳示例。另请注意,Flot旨在用于UTC时间,因此如果将时间戳转换为UTC,事情会变得更顺畅。在您的示例中,您似乎只想显示时间,而不是日期/时间,因此您始终可以格式化轴字符串以显示您喜欢的内容。您可以选择一个日期并将所有时间设置为特定日期,然后只显示时间组件。

注意,当你玩Flot时,你会注意到它有点古怪。有时一起使用多个插件需要按特定顺序加载它们等。我已经使用它大约一年了,我总能把它用来做我需要的东西,有时它只是比看起来应该有点棘手!