您好我从csv文件获取数据并且我在我的图表上使用'this.update(0)'来通过鼠标点击更新任何点,因此在y轴上使该点等于0但是我想要的是当我点击一个点时,它首先得到该点的索引,然后再从同一个csv文件重新加载数据,但这次数据值不应超出索引。例如,如果我点击x = 10处的点,那么我应该能够再次从文件重新加载数据直到x = 9并将新加载的数据存储到数组中。
这是我的代码的一部分,其中必须重新加载数据。它重新加载了不需要的整个数据,这可能是我得不到正确的索引,或者是否有其他问题请帮助。谢谢。
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function() {
var x= this.update(0);
$.get('testFile.csv', function(data) {
var lines = data.split('\n');
$.each(lines, function(lineNo, line) {
var items = line.split(',');
var series = {
data: []
};
$.each(items, function(itemNo, item) {
if(itemNo<x){
series.data.push(parseFloat(item)); } });
options.series.push(series);
});
var chart = new Highcharts.Chart(options);
});
答案 0 :(得分:0)
获取索引:this.series.processedXData.indexOf(this.x)
现在,删除创建新图表,而是用值更新每个点,如下所示:
var actSeries = this.series; //needed for scope range
...
...
...
$.each(items, function(itemNo, item) {
if(itemNo<x){
actSeries.data[itemNo].update(parseFloat(item), false);
});
});
actSeries.chart.redraw();