Highcharts - 对角线X / Y轴

时间:2015-01-26 16:39:09

标签: javascript charts highcharts drawing

有没有办法在Highcharts中显示1:1对角线?我正在寻找一条X和Y值始终匹配的线。

我知道如何使用渲染器在Highcharts中渲染一条线,但是,我不想要一条独立的线,而是一条对图表调整大小/缩放做出反应的线。带[(0,0),(1,1)]的系列实际上不是一个选项(它会影响缩放)。

除此之外,x和y轴可能会因缩放而改变其值。

Chart with a diagonal line equally crossing X and Y axis

1 个答案:

答案 0 :(得分:2)

您可以通过检测轴上的setExtremes()事件来执行此操作,然后触发一个函数以使轴极值并画一条线。 (或者,在这种情况下,我使用了afterSetExtremes()函数)

在我的例子中,我使用了一个系列。我假设您可以调整它以使用渲染器,因为您已经使用渲染器初始绘制线。

function redrawLine(chart) {
    var xExt = chart.xAxis[0].getExtremes();
    var yExt = chart.yAxis[0].getExtremes();

    chart.series[1].setData([
        {'x':xExt.min,'y':yExt.min},
        {'x':xExt.max,'y':yExt.max}
    ]);
}

示例:

当然,如果您的目的是将观察值与预测值进行比较,那么在放大时重新绘制线条会产生效果并产生误导 - 线条不应根据缩放级别移动 - 它应始终保持不变