如何在特定位置的折线图上添加随机刻度

How to add random ticks on a line chart at a specific position

我正在尝试用单个系列绘制高图,并在同一行上添加一些以不同样式标记的点。

例如:

我正在尝试在 x 轴上绘制一周(日期和时间)以及该周(5 天)的可用小时数。

可用时间:

提醒:

我正在尝试绘制一个时间序列折线图,并尝试在随机位置为现有折线图添加提醒标记,其中有一个工具提示,其中包含一些链接到它的信息。

我尝试用 2 个系列绘制折线图,​​但无法达到预期的输出。 https://jsfiddle.net/2vtyrc9q/3/

[JSFiddle Demo][1]

您可以预处理数据并计算第二个系列的 y 值:

var stages = [
        [0, 10],
        [2, 30],
        [5, 15],
        [10, 12]
    ],
    checkpoints = [1, 3, 4, 7],
    j = 1,
    i = 0;

for (i; i < checkpoints.length; i++) {
    if (checkpoints[i] < stages[j][0]) {
        checkpoints[i] = [checkpoints[i], calculateY(i, j)];
    } else {
        for (j; j < stages.length; j++) {
            if (checkpoints[i] < stages[j][0]) {
                checkpoints[i] = [checkpoints[i], calculateY(i, j)];
                break;
            }
        }
    }
}

function calculateY(i, j) {
    var difference,
        step;

    difference = stages[j][1] - stages[j - 1][1];
    step = difference / (stages[j][0] - stages[j - 1][0]);
    return stages[j - 1][1] + step * (checkpoints[i] - stages[j - 1][0]);
}

Highcharts.chart('container', {
    series: [{
        data: stages
    }, {
        type: 'scatter',
        data: checkpoints
    }]
});

现场演示: http://jsfiddle.net/BlackLabel/83ankjpf/