Charts 谷歌图表:标记堆叠柱形图

Charts 谷歌图表:标记堆叠柱形图,charts,google-visualization,Charts,Google Visualization,基于googleAPI文档: 正如您在“标记列”部分中所看到的,每个列都用静态值标记。我想知道是否有可能用一个特定的值来标记一列,该值是所有值之和的结果 // Set chart options var options = { width: 400, height: 300, calc:???? }; 我是否应该使用特定函数设置此“计算”字段 我不知道如何使用每个堆叠列的总和值自定义标签。您可以使用getNumbe

基于googleAPI文档:

正如您在“标记列”部分中所看到的,每个列都用静态值标记。我想知道是否有可能用一个特定的值来标记一列,该值是所有值之和的结果

// 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”)上调用这些方法。

我已经弄明白了,这与您所做的类似。感谢您的快速回答。