gpt4 book ai didi

javascript - Highchart - 将动态数据添加到条形图中

转载 作者:行者123 更新时间:2023-12-03 03:56:31 24 4
gpt4 key购买 nike

我正在使用条形图。我想在已绘制的现有条形图中添加新条形。

如何做到这一点?我用过以下内容

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
]
}]
});

最佳答案

请引用这个jsfiddle:http://jsfiddle.net/kkulig/rhneon2q/

我认为执行此操作的便捷方法之一是将类别定义移动到点的名称属性:

data: [
{y: 50, name: 'A'},
{y: 35, name: 'B'}
]

并将 xAxis 类型更改为类别:

type: 'category'

这里有解释:http://api.highcharts.com/highcharts/xAxis.categories

然后您可以像这样用新点更新图表:

更新:

代码:

chartObject.series[i].addPoint({y: this.y, name: 'E'}, true);

在系列末尾添加带有类别的新点。

如果您不希望在单击的点之后出现带有类别的新点,您可以使用以下代码:

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属性不会用作类别。

关于javascript - Highchart - 将动态数据添加到条形图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44919192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com