我目前在使用Google App Scripts配置简单图表时遇到一些问题。我似乎无法找到正确的文档以进一步发展!
我已经把所有东西都从几个电子表格中拉出来了,所以这方面很好!
我看到有多种方法可以自定义图表的外观,例如有可用的工具:
http://imagecharteditor.appspot.com/
http://code.google.com/apis/ajax/playground/?type=visualization
我想在条形图中添加颜色,就像在这个例子中一样
http://code.google.com/apis/ajax/playground/?type=visualization#image_multicolor_bar_chart
此外,在第一个链接中,还有使用范围标记工具创建剖面的选项。我希望通过这些工具,我可以将代码复制到我的App Script Chart中使用。
我能看到这个工作的唯一方法是使用.setOption(string,object)
我试过这个......
var data = Charts.newDataTable()
.addColumn(Charts.ColumnType.STRING, 'Month')
.addColumn(Charts.ColumnType.NUMBER, 'Mark Achieved')
for(var x=0; x < ChartData.length;x++){
data.addRow(ChartData[x]);
}
data.build();
var chart = Charts.newColumnChart()
.setDataTable(data)
.setDimensions(1000, 600)
.setRange(0, 100)
.setTitle('Test Scores')
.setLegendPosition(Charts.Position.BOTTOM)
.setOption('options',{cht: 'bvs', chco: 'A2C180,3D7930', max: 100})
.build();
app.add(chart);
任何帮助都会非常感激!
修改
答案 0 :(得分:0)
您尝试使用的选项适用于静态图像图表(现已弃用),不适用于ColumnCharts。 ColumnCharts按系列而不是数据点为条形设置颜色,因此如果需要多色条,则必须将它们分成不同的数据系列。我写了一个执行此操作的黑客(请参阅jsfiddle了解标准的javascript版本)。我阅读Visualization API的AppsScript实现似乎排除了在DataViews中使用计算列,但这里的文档可能不完整。尝试创建这样的视图:
// add one calculated column for each month
var dataViewDefinition = Charts.newDataViewDefinition().setColumns([0, {
type: Charts.ColumnType.NUMBER,
label: 'Mark Achieved',
calc: function (dt, row) {
if (dt.getValue(row, 0) == 'January') ? dt.getValue(row, 1) : null;
}
}, {
type: Charts.ColumnType.NUMBER,
label: 'Mark Achieved',
calc: function (dt, row) {
if (dt.getValue(row, 0) == 'February') ? dt.getValue(row, 1) : null;
}
}/*...*/]);
这可能需要进行调整,并且可能完全不起作用,在这种情况下,您必须更改电子表格的查询或重新排列电子表格的结构。
至于在图表中添加范围,您能详细说明您希望它们的外观吗?