在有关“格式值”的DataTable文档中,它说:“示例可能是将值“低”,“中”和“高”作为格式值分配给数字单元格值1、2和3。 我可以使用以下几行来做到这一点 geoData.setValue(0,1,1); geoData.setFormattedValue(0,1,'low');
但是是否可以根据我设置的值自动设置格式化值? (我看到“格式程序”做了类似的工作,但是似乎没有办法使用自定义的格式将1转换为“低”,将2转换为“中”,等等。)
答案 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);
});