Highcharts样条线未显示

Highcharts Spline lines not showing up

本文关键字:显示 样条 Highcharts      更新时间:2023-09-26

我正试图用以下数据绘制一个样条曲线图:

[
    {
        "name": "Version 1.0",
        "data": [
            "10/9/2014, 11:47:03 AM",
            170.023
        ]
    },
    {
        "name": "Version 1.1",
        "data": [
            "10/8/2014, 1:00:00 AM",
            1967.02,
            [
                "10/9/2014, 11:00:19 AM",
                167.023
            ],
            [
                "10/9/2014, 9:34:49 PM",
                1974.03
            ],
            [
                "10/9/2014, 9:45:33 PM",
                1983.02
            ],
            [
                "10/9/2014, 10:36:10 PM",
                1989.03
            ],
            [
                "10/10/2014, 3:05:37 AM",
                1972.02
            ],
            [
                "10/10/2014, 5:01:43 AM",
                1980.02
            ],
            [
                "10/10/2014, 8:37:18 AM",
                16.0215
            ],
            [
                "10/10/2014, 2:37:44 PM",
                1994.02
            ]
        ]
    }
]

以下是它的JSFiddle:http://jsfiddle.net/rknLa2sa/3/

这些点已正确绘制,但未与直线连接。如何使这些点在图上连接?此外,我如何使数据数组中的日期显示在x轴和工具提示上。

您忘记了数据中的一些括号

"10/8/2014, 1:00:00 AM",
            1967.02,

http://jsfiddle.net/rknLa2sa/4/

为了显示标签,您可以对数据进行预处理,并将日期转换为UTC格式的

像这个

 [
   Date.UTC(2014, 8, 10, 10),
   167.023
 ],

http://jsfiddle.net/rknLa2sa/7/

您可以使用new Date(..).getTime()来映射点,而不用使用Date.UTC()。示例:http://jsfiddle.net/rknLa2sa/10/

        data: [
            ["10/8/2014, 1:00:00 AM", 1967.02],
            ["10/9/2014, 11:00:19 AM", 167.023],
            ["10/9/2014, 9:34:49 PM", 1974.03],
            ["10/9/2014, 9:45:33 PM", 1983.02],
            ["10/9/2014, 10:36:10 PM", 1989.03],
            ["10/10/2014, 3:05:37 AM", 1972.02],
            ["10/10/2014, 5:01:43 AM", 1980.02],
            ["10/10/2014, 8:37:18 AM", 16.0215],
            ["10/10/2014, 2:37:44 PM", 1994.02]
        ].map(function (e) {
            return [new Date(e[0]).getTime(), e[1]];
        })