在谷歌图表的面积图中添加字幕



我已经使用谷歌图表(google-visual)成功地实现了面积图,但现在我需要在谷歌面积图中添加副标题。这是我尝试过的代码。

           var options = {
            width: 310,
            height: 260,
      chart: {
        title: 'Company Performance',
        subtitle: 'Sales, Expenses, and Profit: 2014-2017',
      },
           backgroundColor: '#000000'
        };

chart.subtitle仅适用于材质图表

材质图表使用packages: ['bar', 'line', 'scatter']
和命名 --> google.charts

不幸的是,没有材料版本的面积图...


chart.subtitle不适用于核心图表

核心图表使用packages: ['corechart']
和命名 --> google.visualization


但是,您可以尝试在'ready'事件触发时添加自己的字幕

请参阅以下工作片段...

google.charts.load('current', {
  callback: function () {
    var data = new google.visualization.DataTable({
      "cols": [
        {"label": "Country", "type": "string"},
        {"label": "Value", "type": "number"}
      ],
      "rows": [
        {"c": [{"v": "Canada"}, {"v": 33}]},
        {"c": [{"v": "Mexico"}, {"v": 33}]},
        {"c": [{"v": "USA"}, {"v": 34}]}
      ]
    });
    var container = document.getElementById('chart_div');
    var chart = new google.visualization.AreaChart(container);
    var options = {
      height: 400,
      legend: {
        position: 'labeled'
      },
      sliceVisibilityThreshold: 0,
      title: 'Title',
      width: 600
    };
    google.visualization.events.addListener(chart, 'ready', function () {
      Array.prototype.forEach.call(container.getElementsByTagName('text'), function(label) {
        if (label.innerHTML === options.title) {
          var subtitle = label.parentNode.appendChild(label.cloneNode(true));
          subtitle.innerHTML = 'Subtitle';
          subtitle.setAttribute('y', parseFloat(label.getAttribute('y')) + 20);
        }
      });
    });
    chart.draw(data, options);
  },
  packages:['corechart']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>

最新更新