apexcharts - ApexCharts.js 折线图 - 在工具提示中显示总数百分比
问题描述
我想显示百分比而不是整数。现在,当悬停在图表的数据点(工具提示)上时,它只是将值显示为整数。
我想我需要像这样设置格式化程序公式:
let test = value / SUM(all_values)
return test.toFixed(0) + '%'
但是,我在他们的文档中找不到它,我发现的最好的是这个,它总是给我 100%,每个数据点:
tooltip: {
y: {
formatter: function(value, opts) {
let percent = opts.w.globals.seriesPercent[opts.seriesIndex][opts.dataPointIndex];
return percent.toFixed(0) + '%'
}
}
}
解决方案
你是对的,你需要使用工具提示格式化程序,但是你用来获取百分比值的数组不正确。
如果您记录这些值opts.w.globals.seriesPercent
,您会发现都是 100:
[[100, 100, 100, ..., 100]]
(我怀疑这可能是因为它打算与其他图表类型一起使用。)
不过,您仍然可以获得百分比,它只需要计算出来。
使用相同的方法来格式化工具提示,但从中获取值opts.series
:
tooltip: {
y: {
formatter: function(value, opts) {
const sum = opts.series[0].reduce((a, b) => a + b, 0);
const percent = (value / sum) * 100;
return percent.toFixed(0) + '%'
},
},
}
推荐阅读
- postgresql - 线性回归 - 参考 madlib 的基线
- unity3d - 粒子/标准不亮在不同场景中表现不同
- python - 如何用 Python 绘图的 True、False 和颜色代码标记 Y 轴?
- java - 休眠性能 GetterFieldImpl
- php - 正则表达式前 3 个字母以某种方式表示某事
- ios - 创建子 UIView 的 UIView 正在生成层次约束警告
- python - 编写 Python 脚本来自动化 llvm 代码覆盖率测试
- java - 使用 Kafka-Spark Streaming API 处理流数据时重复
- ios - 如何访问创建的目录?- NSCocoaErrorDomain 代码=257
- javascript - Javascript:数组不保留值