无法获取系列柱状图
Cannot get a series highchart
我正在使用highcharts制作一个包含多个系列的图表(19)。我希望每个系列都有多个点,所以它用第一组数据创建了第一个系列,然后只为每个系列添加点:
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
defaultSeriesType: 'line',
events: {
load: function() {
var rawArray = <%- dataArray %>;
var array = {};
var chart = this;
for (var i = 0; i < rawArray.length; i++) {
var entry = rawArray[i];
var str = entry.timestamp.toString();
var time = str.slice(0, -3);
var array = [
[parseInt(time), entry.price]
];
if (i < 18) {
$('#container').highcharts().addSeries({
name: entry.name,
id: entry.id,
data: array
});
} else {
$('#container').highcharts().series[entry.id].addPoint(array, false, true);
}
}
}
}
},
title: {
text: 'Title'
},
xAxis: {
type: 'datetime',
tickPixelInterval: 150
},
yAxis: {
minPadding: 0.2,
maxPadding: 0.2,
title: {
text: 'Value',
margin: 80
}
}
});
});
因此,前19个系列添加得很好,但在我的控制台中有这样的消息:"未捕获的类型错误:无法读取未定义的属性"addPoint"引用到$('#container').highcharts().series[entry.id].addPoint(array, false, true);
我想知道,如果你们能为我找到解决方案,我将不胜感激!
尝试https://jsfiddle.net/Cuchu/99x477sb/5/
for (var i = 0; i < rawArray.length; i++) {
var entry = rawArray[i];
var id = entry.id;
var str = entry.timestamp.toString();
var time = str.slice(0, -3);
var array = [[parseInt(time), entry.price]];
var array_to_point = [parseInt(time), entry.price];
console.log(array);
if (i < 18) {
$('#container').highcharts().addSeries({
name: entry.name,
id: entry.id,
data: array
});
} else {
$.each(this.series, function(i, v){
serieId = chart.series[i].options.id;
if(serieId == id) {
chart.series[i].addPoint(array_to_point,false);
}
//chart.series[i].addPoint(series[serieId], false);
});
//console.log(this.series);
//$('#container').highcharts().series[id].addPoint(array, false, true);
//$('#container').highcharts().get(entry.name).addPoint(array, false, true);
}
}
this.redraw(true);
我的英语比较基础,但我尽量解释。当您设置id:entry.id时,序列的id是在chart.series[i].options.id中定义的,i不是id,因为它是序列图的索引。
var array = [[parseInt(time), entry.price]];
var array_to_point = [parseInt(time), entry.price];
在第一次运行中,数组定义数据序列=数组(点),其中点=数组(时间,值)。。好啊然后在addpoint中,针对数据的addpoint进行修改array_to_point=[时间,值]。。
最后,重新绘制图形。。
我已经用Highcharts做了很多工作,并且总是必须查看元素的内容才能获取脉冲
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法获取系列柱状图
- 如何在工具提示高图表中获取多个系列数据
- 如何从“系列”元素中获取HighCharts系列“id”
- HighchartsJS从URL获取数据并将其传递给系列数据
- 从数据库中获取数据,创建多系列线形图
- 如何获取浏览器支持的字体系列列表
- Async.js系列和node-mysql查询's无法获取行
- 无法在HighCharts图表中获取系列id
- 如何在 Fabric 中获取整个字体系列列表.js