我正在使用Highcharts的堆积柱形图。我将y轴计算为百分比(min:0, max:100)
。当我隐藏某个系列时,我希望其他系列的百分比保持不变(不重新计算)。但其余系列类型的动画和重新附加可以保持原样。
我只是想避免在图例中省略某些系列时百分比发生变化。
你可以在这个小提琴fiddle_sample中查看我的例子。 legendItemClick函数是我发表评论的地方。
非常感谢任何帮助。
答案 0 :(得分:1)
正如我在评论中提到的,可以使用dataLabels.formatter函数手动计算您的积分: http://api.highcharts.com/highcharts/plotOptions.series.dataLabels.formatter
dataLabels: {
enabled: true,
formatter: function() {
var total = 0;
var x = this.point.x;
Highcharts.each(this.series.chart.userOptions.series, function(s) {
Highcharts.each(s.data, function(p, pointX) {
if (pointX === x) {
total += p;
}
})
});
if (this.percentage == 0 || !this.percentage)
return ''
else
return Math.round(this.y * 100 / total) + '%';
},
color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white'
}
我准备了两个例子,说明如何制作你的图表。您可以在以下链接中找到这些示例: