如何自动设置格式化值?

时间:2019-06-25 06:04:01

标签: google-visualization

在有关“格式值”的DataTable文档中,它说:“示例可能是将值“低”,“中”和“高”作为格式值分配给数字单元格值1、2和3。 我可以使用以下几行来做到这一点         geoData.setValue(0,1,1);         geoData.setFormattedValue(0,1,'low');

但是是否可以根据我设置的值自动设置格式化值? (我看到“格式程序”做了类似的工作,但是似乎没有办法使用自定义的格式将1转换为“低”,将2转换为“中”,等等。)

1 个答案:

答案 0 :(得分:1)

在加载数据时使用对象符号。

例如,我们可以添加值data-strict-search="true"

1

或者我们可以使用对象符号来添加值(data.addRow([1]); )和格式化值(v:)...

f:

编辑

要一次应用格式,您将需要使用带有计算列的数据视图。

请参阅以下工作片段,
在这里,data.addRow([{v: 1, f: 'low'}]); 对象用于将值映射到数字,
使用数据视图...

format
google.charts.load('current', {
  packages:['table']
}).then(function () {
  var data = new google.visualization.DataTable();
  data.addColumn('number', 'Rank');
  data.addRows([
    [1],
    [1],
    [1],
    [1],
    [1],
    [2],
    [2],
    [2],
    [2],
    [2],
    [2],
    [3],
    [3],
    [3],
    [3],
    [3],
    [3]
  ]);

  var format = {
    1: 'Low',
    2: 'Medium',
    3: 'High'
  };

  var view = new google.visualization.DataView(data);
  view.setColumns([{
    calc: function (dt, row) {
      var value = dt.getValue(row, 0);
      return {
        v: value,
        f: format[value]
      };
    },
    label: data.getColumnLabel(0),
    type: data.getColumnType(0)
  }]);

  var table = new google.visualization.Table(document.getElementById('table'));
  table.draw(view);  
});