我正在使用Google Apps脚本和EmbeddedChartBuilder在我的Google电子表格中嵌入折线图。手动创建这些图表时,您可以使用(非默认)选项“将列A用作标签”(其中“A”是数据范围中的第一列)。我找不到从脚本中做同样的方法。从Google Visualization Line Chart文档中可以看出,默认情况下将第一列视为具有“域”角色;但是EmbeddedChartBuilder似乎会覆盖它并为所有列提供“数据”角色。由于我没有明确的DataTable,我无法自己设置column roles。
我错过了这样做的方法吗?或者我是否必须将方法从EmbeddedChartBuilder切换到using the spreadsheet as a data source?
答案 0 :(得分:14)
useFirstColumnAsDomain
设置为true
。
此选项似乎没有记录。我通过转到“发布图表”找到它(单击图表,然后从右上角的下拉列表中选择)并检查给定代码中的JavaScript数据结构。确切地说,我创建了一个图表,其中“使用列A作为标签”未选中,抓取发布数据结构,然后选中“将列A用作标签”,抓取新的发布数据结构,并比较两者。为了进行比较,我建议normalizing the JSON并运行diff
。此技术可用于对图表编辑器中的任何设置进行逆向工程。
答案 1 :(得分:3)
我刚遇到同样的问题。我采用了与安德鲁类似的方法,但找到了一个不同的解决方案(大概是因为谷歌在电子表格中为他们的图表添加了功能)。
我在发布后使用http://jsbeautifier.org/格式化代码,我发现这部分负责添加数据标签。请注意,您甚至可以更改将条形连接到数据标签的杆的颜色:
"series": {
"0": {
"errorBars": {
"errorType": "none"
},
"dataLabel": "value",
"annotations": {
"stemColor": "none"
}
},
"color": "black",
"targetAxisIndex": 0,
"annotations": {
"textStyle": {
"color": "red",
"fontSize": 12
}
}
},