Google apps script 使用google应用程序脚本在图表上设置角色
我正在用电子表格应用程序脚本编写代码 我正在尝试创建一个ColumnTable,并对不同的列进行注释或着色 谷歌的可视化非常清楚,但关于将其与应用程序脚本一起使用的文档却很少 我要执行的代码类似于:Google apps script 使用google应用程序脚本在图表上设置角色,google-apps-script,google-sheets,google-apps,Google Apps Script,Google Sheets,Google Apps,我正在用电子表格应用程序脚本编写代码 我正在尝试创建一个ColumnTable,并对不同的列进行注释或着色 谷歌的可视化非常清楚,但关于将其与应用程序脚本一起使用的文档却很少 我要执行的代码类似于: var data = google.visualization.arrayToDataTable([ ['Element', 'Density', { role: 'style' }, { role: 'annotation'}], ['Copper', 8.94, '#b873
var data = google.visualization.arrayToDataTable([
['Element', 'Density', { role: 'style' }, { role: 'annotation'}],
['Copper', 8.94, '#b87333', 'Cu' ],
['Silver', 10.49, 'silver', 'Ag' ],
['Gold', 19.30, 'gold', 'Au' ],
['Platinum', 21.45, 'color: #e5e4e2', 'Pt' ]
]);
但是我不能执行['Element','Density',{role:'style'},{role:'annotation'}行,因为没有类似于'role'的Charts.ColumnType
有人能帮我吗?我想你在找,因为它也提到了 setColumnscolumns 设置要包括在数据视图中的列的索引以及 正在指定角色列信息。此列索引子集 参考数据视图将显示的数据源的列 源于 列角色描述该列中数据的用途:for 例如,列可能包含描述工具提示文本、数据点的数据 注释或不确定性指示器。有关更多详细信息,请参阅 谷歌图表文档中的DataTable角色
您好!请添加一些您认为这对提问者有帮助的信息。
function myFunction() {
var presentation = SlidesApp.getActivePresentation();
var slide = presentation.getSlides()[0];
var COLUMN_SPEC = [
0, // H
1, //
{sourceColumn: 1, role: 'annotation'},
2, //
{sourceColumn: 2, role: 'annotation'}
];
var viewSpec = Charts.newDataViewDefinition()
.setColumns(COLUMN_SPEC)
.build();
var data = Charts.newDataTable()
.addColumn(Charts.ColumnType.STRING, 'H')
.addColumn(Charts.ColumnType.NUMBER, 'Test1')
.addColumn(Charts.ColumnType.NUMBER, 'Test2')
.addRow(['H1 18', 13, 33])
.addRow(['H2 18', 10, 25])
.addRow(['H1 19', 17, 23])
.addRow(['H2 19', 17, 29])
.build();
var chartBuilder = Charts.newLineChart()
.setXAxisTitle('H')
.setYAxisTitle('Value')
.setDimensions(600, 500)
.setDataViewDefinition(viewSpec)
//.setOption('useFirstColumnAsDomain', true)
.setCurveStyle(Charts.CurveStyle.NORMAL)
.setPointStyle(Charts.PointStyle.NONE)
.setLegendPosition(Charts.Position.BOTTOM)
.setDataTable(data);
var chart = chartBuilder.build();
var areaBlob = chart.getBlob().getAs('image/png').setName("areaBlob");
slide.insertImage(areaBlob, 3, 3, 306, 163);
}