Google表格图表:如何根据列值更改行背景颜色

use*_*913 3 google-visualization

我使用谷歌表格图表显示一些数据作为表格.根据行上的状态值,我必须更改行的背景颜色.所以我必须动态显示多种颜色.我检查了表格图表文档并在线搜索.但是找不到这样的功能.请帮忙.

Whi*_*Hat 8

这里有一些选择...

  1. 使用ColorFormat格式化程序

  2. html通过提供添加您自己的数据

    v:
    f:格式化值

    allowHtml: true 配置选项

  3. 'ready'事件 上自己修改表

看下面使用全部三个的例子......

google.charts.load('current', {
  callback: function () {
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Department');
    data.addColumn('number', 'Revenues');
    data.addRows([
      ['Shoes', 10700],
      ['Sports', -15400],
      ['Toys', 12500],
      ['Electronics', -2100],
      ['Food', 22600],
      ['Art', 1100],
      [
        // add you own html
        {v: 'Web', f: '<div style="background-color: cyan;">Web</div>'},
        {v: 9999, f: '<div style="background-color: cyan;">9999</div>'}
      ]
    ]);

    var container = document.getElementById('table_div');
    var table = new google.visualization.Table(container);
    google.visualization.events.addListener(table, 'ready', function () {
      for (var i = 0; i < data.getNumberOfRows(); i++) {
        if (data.getValue(i, 1) === 1100) {
          // modify the table directly on 'ready'
          container.getElementsByTagName('TR')[i+1].style.backgroundColor = 'magenta';
        }
      }
    });

    // use formatter
    var formatter = new google.visualization.ColorFormat();
    formatter.addRange(-20000, 0, 'white', 'orange');
    formatter.addRange(20000, null, 'red', '#33ff33');
    formatter.format(data, 1); // Apply formatter to second column

    table.draw(data, {
      allowHtml: true
    });
  },
  packages: ['table']
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="table_div"></div>
Run Code Online (Sandbox Code Playgroud)

  • @ user2928913 - 请您使用投票按钮附近的复选标记将答案标记为已接受吗?这将允许我将其他人标记为这个重复... (3认同)