Javascript Highchart-向条形图中添加动态数据
我正在使用条形图。我想在已经绘制的现有条形图中添加新条形图 怎么做? 我使用了以下方法Javascript Highchart-向条形图中添加动态数据,javascript,jquery,charts,highcharts,Javascript,Jquery,Charts,Highcharts,我正在使用条形图。我想在已经绘制的现有条形图中添加新条形图 怎么做? 我使用了以下方法 chartObject.series[i].addPoint(99, true); 但是没有得到结果。它会自动添加带有默认标签名称的值 我想在A下插入带有值的E条。我该怎么做 chartObject = Highcharts.chart('chartContainer', { chart: { type: 'bar' },
chartObject.series[i].addPoint(99, true);
但是没有得到结果。它会自动添加带有默认标签名称的值
我想在A下插入带有值的E条。我该怎么做
chartObject = Highcharts.chart('chartContainer', {
chart: {
type: 'bar'
},
title: {
text: ''
},
xAxis: {
categories: ["A", "B", "C", "D"],
title: {
text: null
}
},
yAxis: {
min: 0,
},
plotOptions: {
bar: {
dataLabels: {
enabled: true
}
},
series: {
cursor: 'pointer',
point: {
events: {
click: function () {
debugger
for (var i = 0; i < chartObject.series.length; i++) {
chartObject.series[i].addPoint(99, true);
}
alert('Category: ' + this.category + ', value: ' + this.y);
}
}
}
},
showInLegend: false
},
legend: {
enabled: false
},
credits: {
enabled: false
},
tooltip: {
enabled: false
},
series: [{
showInLegend: false,
data: [
50,
35,
25,
80
]
}]
});
chartObject=Highcharts.chart('chartContainer'{
图表:{
类型:'bar'
},
标题:{
文本:“”
},
xAxis:{
类别:[“A”、“B”、“C”、“D”],
标题:{
文本:空
}
},
亚克斯:{
分:0,,
},
打印选项:{
酒吧:{
数据标签:{
已启用:true
}
},
系列:{
光标:“指针”,
要点:{
活动:{
单击:函数(){
调试器
对于(var i=0;i
请参考此JSFIDLE:
我认为一种方便的方法是将类别定义移动到点的名称属性:
data: [
{y: 50, name: 'A'},
{y: 35, name: 'B'}
]
并将xAxis类型更改为类别:
type: 'category'
这里解释如下:
然后您可以使用新点更新图表,如下所示:
更新:
代码:
在一个系列的末尾添加新的点和类别
如果您不希望在单击的点之后显示类别为的新点,则可以使用以下代码:
var data = chartObject.userOptions.series[i].data.slice(); // clone original userOptions
data.splice(this.index + 1, 0, {
y: 10,
name: "New cat. " + (chartObject.series[i].data.length - 2) // 2 - initial categories number
});
chartObject.series[i].update({
data: data
});
更新结束
不幸的是,如果您像以前那样设置类别:
categories: ["A", "B", "C", "D"]
添加点的name属性不会用作类别。因此,您希望实现类似的视觉效果(一列在另一列下),如下所示:?不是那样。。有相同的条形图。动态添加新条..这是在特定索引中添加值的代码。但该栏并没有更新。已使用现有索引绘制条形图。hippoChartIndicesChartObject.series[0].添加点([4121],false);你可以看到“E”被添加到“A”和“B”的下面。。但我需要像“E”一样在“A”下面创建
categories: ["A", "B", "C", "D"]