Highcharts瀑布图中this.y值与数据源不一致问题求助
Highcharts瀑布图this.y与数据源值不匹配的问题处理
这不是Bug,是Highcharts瀑布图的设计逻辑导致的:
- 瀑布图中,
this.y(对应point.y)默认代表累计到当前点的总数值,而非你传入数据源的单个点原始值。 - 原始数据源的数值被保存在
point.options.y中,要获取和数据源一致的值,需替换成this.point.options.y。
修改你代码中dataLabels的formatter部分即可:
dataLabels: { enabled: true, formatter: function () { if (FilterValueType == "Full Amount") { var val = nFormatter(this.point.options.y); return val; } else { return Highcharts.numberFormat(this.point.options.y, 0, '.', ','); } }, style: { fontWeight: 'bold' } }
补充说明:瀑布图的核心是展示数值的累计变化,Highcharts自动将每个点的y计算为累计值来实现堆叠效果,原始输入值则保留在options对象中供开发者调用。
内容的提问来源于stack exchange,提问作者Rizkiananda Pradillah
相关产品推荐
相关产品推荐

