Charts 谷歌图表:标记堆叠柱形图
基于googleAPI文档: 正如您在“标记列”部分中所看到的,每个列都用静态值标记。我想知道是否有可能用一个特定的值来标记一列,该值是所有值之和的结果Charts 谷歌图表:标记堆叠柱形图,charts,google-visualization,Charts,Google Visualization,基于googleAPI文档: 正如您在“标记列”部分中所看到的,每个列都用静态值标记。我想知道是否有可能用一个特定的值来标记一列,该值是所有值之和的结果 // Set chart options var options = { width: 400, height: 300, calc:???? }; 我是否应该使用特定函数设置此“计算”字段 我不知道如何使用每个堆叠列的总和值自定义标签。您可以使用getNumbe
// Set chart options
var options = {
width: 400,
height: 300,
calc:????
};
我是否应该使用特定函数设置此“计算”字段
我不知道如何使用每个堆叠列的总和值自定义标签。您可以使用
getNumberOfRows()
、getNumberOfColumns()
和getValue()
函数来计算总计并设置该值,而不是字符串total
:
function drawChart() {
// Create the data table.
var data = new google.visualization.arrayToDataTable(array);
for (var i = 0; i < data.getNumberOfRows(); i++) {
var total = 0;
for (var j = 1; j < data.getNumberOfColumns() - 2; j++) {
// console.log(data.getValue(i, j));
total += data.getValue(i, j);
}
data.setValue(i, data.getNumberOfColumns() - 1, '' + total);
}
...
函数绘图图(){
//创建数据表。
var data=new google.visualization.arrayToDataTable(数组);
对于(var i=0;i
您必须更改图表的大小或字体大小,才能在列上正确显示值。标签显示正确。这是我的答案。我希望它能帮助解决同样的问题
function getValueAt(column, dataTable, row) {
return dataTable.getFormattedValue(row, column);
}
function setLabelTotal(dataTable) {
//dataTable must have role: annotation
var SumOfRows = 0;
for (var row = 0; row < dataTable.getNumberOfRows(); row++) {
SumOfRows = 0;
for (var col = 0; col < dataTable.getNumberOfColumns(); col++) {
if (dataTable.getColumnType(col) == 'number') {
SumOfRows += dataTable.getValue(row, col);
}
if(dataTable.getColumnRole(col) == 'annotation')
{dataTable.setValue(row, col, SumOfRows.toString());}
}
}
}
函数getValueAt(列、数据表、行){
返回dataTable.getFormattedValue(行、列);
}
函数setLabelTotal(数据表){
//dataTable必须具有角色:注释
var SumOfRows=0;
对于(var row=0;row请注意,您必须在main函数(例如“drawChart”)上调用这些方法。我已经弄明白了,这与您所做的类似。感谢您的快速回答。