2016-09-21 172 views
0

我在Highcharts中有样条图。它有24小时的数据,即24点。现在在这24小时内,发生了某些事件,我需要在样条图上显示点。需要提供这些要点的工具提示。我如何在样条曲线图上重叠这些点,包括他们的工具提示?这些重叠的点也需要在x轴上映射到相应的时间。任何想法,如果这可以做到?Highcharts样条图上的重叠数据

这是什么,我想在一个的jsfiddle做一个例子: - http://jsfiddle.net/ttyc5dod/

$(function() { 
$('#container').highcharts({ 
    title: { 
     text: 'Test Graph', 
     x: -20 //center 
    }, 
    xAxis: { 
     categories: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24] 
    }, 
    yAxis: { 
     title: { 
      text: 'Availability(%)' 
     }, 
     plotLines: [{ 
      value: 0, 
      width: 1, 
      color: '#808080' 
     }] 
    }, 
    tooltip: { 
     valueSuffix: '°C' 
    }, 
    legend: { 
     layout: 'vertical', 
     align: 'right', 
     verticalAlign: 'middle', 
     borderWidth: 0 
    }, 
    series: [{ 
     name: 'Data', 
     data: [7.0, 6.9, 9.5, 10, 11.2, 12.5, 15.2, 16.5, 13.3, 18.3, 13.9, 9.6, 12, 13, 12, 11.2, 9, 8, 5, 12, 14, 12, 12, 12.5, 10] 
    }] 
}); 
}); 

例如,在下面的例子中,时间之间23:00和24:00,让我们假设发生了一个事件(问题),必须在此图上显示。有没有什么办法在23:00和24:00之间绘制一个点,显示事件,并且应该提供工具提示,告诉事件的细节。在这里输入代码

任何帮助将不胜感激。

+0

我不知道你想实现什么。你能否发布关于你的问题的更具体的信息?例如绘图显示你想实现什么? –

+0

@GrzegorzBlachliński我更新了问题。 –

+0

有很多方法可以在你的观点之间获得信息,例如你可以在它们之间添加列:http://jsfiddle.net/ttyc5dod/2/我不确定你希望你的图表在最终版本中看起来如何 –

回答

1

如果事件发生,您应该可以添加新的系列(我认为最好的是散射系列)并在数据点之间添加散点。

如果您想在第一个系列的行上添加散点,应该很容易为这些点计算正确的y位置。

在这里你可以看到你的行中添加散射点很简单的例子,两点之间:

function(chart) { 
    var value1 = chart.series[1].data[23].y, 
     value2 = chart.series[1].data[24].y; 
    chart.series[0].addPoint({ 
     x: 23.5, 
     y: (value1 + value2)/2, 
     details: 'this is an accident' 
    }); 
    } 

在这里你可以看到一个例子,如何它可以工作: http://jsfiddle.net/ttyc5dod/3/

+0

这对我来说非常合适。感谢您帮助Grzegorz。为我解决了这个问题。 :) –