Charts 谷歌条形图-自定义图例文本,包含总值和;表格图表的按列总计

Charts 谷歌条形图-自定义图例文本,包含总值和;表格图表的按列总计,charts,google-visualization,legend-properties,column-chart,Charts,Google Visualization,Legend Properties,Column Chart,我想得到堆叠条形图图例中的分数总值。随附的照片我希望有。。。对于以下工作代码段 还有表格图表的按列总计 我认为这可以通过以下方式来实现,但如何实现呢 setFormattedValue(i,0,key+'('+val+')) 我可以吃这样的东西。。当鼠标移动到工具栏上的一个位置时。。。需要在单个注释中显示所有等级值 是否可能在下图中突出显示的位置有不同的值?圆圈B是图中1级的总成绩,正确无误。并圈出一个圆圈,工具提示总计应显示每个年级注释的特定位置总计,如下所示 ['Location',

我想得到堆叠条形图图例中的分数总值。随附的照片我希望有。。。对于以下工作代码段

还有表格图表的按列总计

我认为这可以通过以下方式来实现,但如何实现呢

setFormattedValue(i,0,key+'('+val+'))

我可以吃这样的东西。。当鼠标移动到工具栏上的一个位置时。。。需要在单个注释中显示所有等级值

是否可能在下图中突出显示的位置有不同的值?圆圈B是图中1级的总成绩,正确无误。并圈出一个圆圈,工具提示总计应显示每个年级注释的特定位置总计,如下所示

['Location', 'Company', 'Grade1',{ role: 'annotation' }, 'Grade2',{ role: 'annotation' }, 'Grade3',{ role: 'annotation' }, 'Bal-Grade', 'Total', { role: 'annotation' } ],

google.charts.load('current'{
包:['corechart','table','gauge','controls']
}).然后(函数(){
drawMainDashboard();
});
函数drawMainDashboard(){
var dashboard=new google.visualization.dashboard(
document.getElementById('dashboard_division1');
var categoryPicker=new google.visualization.ControlWrapper({
“controlType”:“CategoryFilter”,
“集装箱运输”:“分类集装箱运输部”,
“选项”:{
“filterColumnIndex”:1,
“用户界面”:{
“标签固定”:“垂直”,
“标签”:“公司选择:”,
“allowTyping”:false,
“allowMultiple”:false
}
}
});
var categoryPicker1=新的google.visualization.ControlWrapper({
“controlType”:“CategoryFilter”,
“集装箱运输”:“categoryPicker_div1”,
“选项”:{
“filterColumnIndex”:0,
“用户界面”:{
“标签固定”:“垂直”,
“标签”:“位置选择:”,
“allowTyping”:false,
“allowMultiple”:false
}
}
});
var columnchrt=new google.visualization.ChartWrapper({
“chartType”:“ColumnChart”,
“集装箱船”:“海图分区”,
“选项”:{
标题:“位置图表”,
宽度:850,
身高:500,
图例:{位置:'top',最大线:2},
条形图:{groupWidth:'70%},
isStacked:是的,
焦点目标:“类别”,
aggregationTarget:'类别',
资源管理器:{keepInBounds:true,maxZoomIn:10.0}
}
});
var table=new google.visualization.ChartWrapper({
“图表类型”:“表格”,
“集装箱运输”:“表格分区”,
“选项”:{
showRowNumber:true,
宽度:“100%”,
高度:“100%”,
allowHtml:是的
},
'视图':{'列':[0,1,2,3,4,5,6]}
});
google.visualization.events.addOneTimeListener(表'ready',calcTotals);
函数calcTotals(){
//从表格图表中获取筛选的数据表格
var dt=table.getDataTable();
//生成聚合和视图列
var aggColumns=[];
var viewColumns=[0];
对于(var i=2;i// aggregate data table
var agg = google.visualization.data.group(
  dt,
  [0],
  aggColumns
);
var aggTotal = google.visualization.data.group(
  dt,
  [{
    column: 0,
    label: 'Total',
    modifier: function (val) {
      return 'Total';
    },
    type: 'string'
  }],
  aggColumns
);
var rowIndex = agg.addRow();
for (var i = 0; i < agg.getNumberOfColumns(); i++) {
  agg.setValue(rowIndex, i, aggTotal.getValue(0, i));
}
// create agg data view to add annotation
var view = new google.visualization.DataView(agg);
view.setColumns(viewColumns);
view = view.toDataTable();
for (var vc = 0; vc < view.getNumberOfColumns(); vc++) {
  var viewLabel = view.getColumnLabel(vc);
  for (var ac = 0; ac < agg.getNumberOfColumns(); ac++) {
    var aggLabel = agg.getColumnLabel(ac);
    if (viewLabel === aggLabel) {
      view.setColumnLabel(vc, viewLabel + ' (' + aggTotal.getFormattedValue(0, ac) + ')');
    }
  }
}
google.visualization.events.addOneTimeListener(table, 'ready', calcTotals);