google-visualization – 合并Stacked Bar Chart的总数

我每个条有两个无符号整数:X和Y.

X总是小于Y,因为它是它的一个子集.

我想将这两个值组合成一个单独的栏.但是,堆积条形图会将值相加而不是“重叠”它们.

这就是堆积:真正的结果:
XXXYYYYY
(3x 5y,Axis上升到8)

这就是我的目标:
XXXYY
(3x在5y内,Axis上升到5)

如何将值“合并”到一个仅基于Y的条形图中,从而不会影响轴的最大值?

最佳答案 需要调整数据,设置图表选项将无法获得.

你可以创建一个视图,添加一个计算列,并排除原来的Y …

google.charts.load('current', {
  packages: ['corechart'],
  callback: drawChart
});

function drawChart() {
  var data = google.visualization.arrayToDataTable([
    ['Year', 'X', 'Y'],
    ['2016', 3, 5]
  ]);

  var view = new google.visualization.DataView(data);
  view.setColumns([0, 1, {
    calc: function (data, row) {
      return {
        v: data.getValue(row, 2) - data.getValue(row, 1),
        f: data.getValue(row, 2).toString()
      };
    },
    type: 'number',
    label: 'Y'
  }]);

  var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
  chart.draw(view, {isStacked: true});
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
点赞