在 Google 饼图中显示不同的后缀
Show different suffix in Google Piechart
我有一个饼图显示 总带宽 的结果 uplink/downlink
。
现在,它们的后缀是 GB。
我努力尝试显示不同的后缀。
例如,
GB
中的下行链接
KB
中的上行链路。
我有
<script>
google.setOnLoadCallback(drawChart);
function drawChart() {
console.log(color['downlink']);
var data = google.visualization.arrayToDataTable([
['Task', 'Bandwith'],
['Downlink', ({{$t_down_bytes}})],
['Uplink', ({{$t_up_bytes}})]
]);
var options = {
legend: 'buttom',
pieSliceText: 'value', // text | none
title: 'Total Bandwith Usage',
colors: [color['downlink'], color['uplink']],
width:'100%',
height: 400,
slices: {
1: {offset: 0.1}
},
};
var formatter = new google.visualization.NumberFormat({
fractionDigits:2,
suffix: ' GB'
});
formatter.format(data, 1);
var chart = new google.visualization.PieChart(document.getElementById('private'));
chart.draw(data, options);
}
</script>
有人可以对此有所说明。
对此有任何提示/建议将不胜感激!
一种方法就是自己动手:(Correct way to convert size in bytes to KB, MB, GB in Javascript 可能有帮助)
var data = google.visualization.arrayToDataTable([
['Task', 'Bandwith'],
['Downlink', {v:6.4672328, f:"6.46 GB"}],
['Uplink', {v:9.40213213, f:"9.40 KB"}]
]);
请注意,v 是 "real" 值 google 用于绘制,f 是它将显示的格式化值
如果您想保留 google 格式化程序,另一种方法是在 formatter.format(data, 1);
之后添加此行
data.setFormattedValue(1,1,data.getFormattedValue(1,1).replace("GB","KB"))
设置第 1 行第 1 列的格式化值
更新 考虑到您想混合使用两者:
var data = google.visualization.arrayToDataTable([
['Task', 'Bandwith'],
['Downlink', $t_down_bytes],
['Uplink', $t_up_bytes],
]);
var formatter = new google.visualization.NumberFormat({
fractionDigits:2
});
formatter.format(data, 1);
data.setFormattedValue(0,1,data.getFormattedValue(0,1) + ' {{$t_down_bytes_suffix}}')
data.setFormattedValue(1,1,data.getFormattedValue(1,1) + ' {{$t_up_bytes_suffix}}')
有关 setFormattedValue
和 getFormattedValue
的更多信息,请查看
我有一个饼图显示 总带宽 的结果 uplink/downlink
。
现在,它们的后缀是 GB。
我努力尝试显示不同的后缀。 例如,
GB
中的下行链接
KB
中的上行链路。
我有
<script>
google.setOnLoadCallback(drawChart);
function drawChart() {
console.log(color['downlink']);
var data = google.visualization.arrayToDataTable([
['Task', 'Bandwith'],
['Downlink', ({{$t_down_bytes}})],
['Uplink', ({{$t_up_bytes}})]
]);
var options = {
legend: 'buttom',
pieSliceText: 'value', // text | none
title: 'Total Bandwith Usage',
colors: [color['downlink'], color['uplink']],
width:'100%',
height: 400,
slices: {
1: {offset: 0.1}
},
};
var formatter = new google.visualization.NumberFormat({
fractionDigits:2,
suffix: ' GB'
});
formatter.format(data, 1);
var chart = new google.visualization.PieChart(document.getElementById('private'));
chart.draw(data, options);
}
</script>
有人可以对此有所说明。
对此有任何提示/建议将不胜感激!
一种方法就是自己动手:(Correct way to convert size in bytes to KB, MB, GB in Javascript 可能有帮助)
var data = google.visualization.arrayToDataTable([
['Task', 'Bandwith'],
['Downlink', {v:6.4672328, f:"6.46 GB"}],
['Uplink', {v:9.40213213, f:"9.40 KB"}]
]);
请注意,v 是 "real" 值 google 用于绘制,f 是它将显示的格式化值
如果您想保留 google 格式化程序,另一种方法是在 formatter.format(data, 1);
data.setFormattedValue(1,1,data.getFormattedValue(1,1).replace("GB","KB"))
设置第 1 行第 1 列的格式化值
更新 考虑到您想混合使用两者:
var data = google.visualization.arrayToDataTable([
['Task', 'Bandwith'],
['Downlink', $t_down_bytes],
['Uplink', $t_up_bytes],
]);
var formatter = new google.visualization.NumberFormat({
fractionDigits:2
});
formatter.format(data, 1);
data.setFormattedValue(0,1,data.getFormattedValue(0,1) + ' {{$t_down_bytes_suffix}}')
data.setFormattedValue(1,1,data.getFormattedValue(1,1) + ' {{$t_up_bytes_suffix}}')
有关 setFormattedValue
和 getFormattedValue
的更多信息,请查看