我刚开始使用 highcharts,我试图找出一种以 % 显示 y 轴标签的方法,而不是基本柱形图的实际值/计数。有什么办法可以做到吗?有人可以给我一些建议吗?
谢谢
我刚开始使用 highcharts,我试图找出一种以 % 显示 y 轴标签的方法,而不是基本柱形图的实际值/计数。有什么办法可以做到吗?有人可以给我一些建议吗?
谢谢
如果您只想更改轴标签,请在此处查看我的答案和小提琴示例:
如果您希望工具提示也显示 % 值,则可以从该示例中的 dataLabels 格式化程序中复制代码来完成此操作。
不幸的是,此选项不可用,但您可以准备自己的函数来计算所有点并计算 percetn 值。然后返回数据系列的更新值。
您可以通过将每个步除的总和除以计数来将计数更改为分布百分比。
这是修改为显示百分比的 Highcharts 示例 histogram() 函数,确保将 yAxis 设置为最大 1。如果您不希望小数百分比乘以 100。
function histogram(data, step) {
var histo = {},
x,
i,
sum = 0,
arr = [];
// Group down
for (i = 0; i < data.length; i++) {
x = Math.floor(data[i][0] / step) * step;
if (!histo[x]) {
histo[x] = 0;
}
histo[x]++;
}
// Make the histo group into an array
for (x in histo) {
if (histo.hasOwnProperty((x))) {
arr.push([parseFloat(x), histo[x]]);
}
}
// find sum
for (i = 0; i < arr.length; i++) {
sum += arr[i][1];
}
// calculate percent
for (i = 0; i < arr.length; i++) {
arr[i][1] = arr[i][1]/sum ;
}
// sort the array
arr.sort(function (a, b) {
return a[0] - b[0];
});
return arr;
}
小提琴:http: //jsfiddle.net/jamie_farrell/xy7uogz4/2/