14

我正在使用 Google Apps Script 和EmbeddedChartBuilder在我的 Google 电子表格中嵌入折线图。当您手动创建这些图表时,您可以选择(非默认)“使用 A 列作为标签”(其中“A”是数据范围中的第一列)。我找不到从脚本中做同样事情的方法。从Google Visualization Line Chart文档看来,默认情况下将第一列视为具有“域”角色;但 EmbeddedChartBuilder 似乎覆盖了这一点并赋予所有列“数据”角色。由于我没有明确的 DataTable,因此我无法自己设置列角色

我错过了这样做的方法吗?或者我是否必须将方法从 EmbeddedChartBuilder 转换为使用电子表格作为数据源

4

2 回答 2

16

找到了!使用EmbeddedChartBuilder.setOption将选项设置useFirstColumnAsDomain为。true

此选项似乎没有记录。我通过转到“发布图表”(单击图表,然后从右上角的下拉菜单中选择)并检查给定代码中的 JavaScript 数据结构找到了它。准确地说,我创建了一个未选中“使用A列作为标签”的图表,抓取发布数据结构,然后选中“使用A列作为标签”,抓取新的发布数据结构,并将两者进行比较。为了比较,我建议规范化 JSON并运行diff. 此技术可用于对图表编辑器中的任何设置进行逆向工程。

于 2012-11-30T20:50:29.517 回答
4

我刚刚遇到了同样的问题。我采取了与 Andrew 类似的方法,但找到了不同的解决方案(可能是因为 Google 在电子表格中的图表中添加了功能)。

发布后使用http://jsbeautifier.org/格式化代码,发现这部分负责添加数据标签。请注意,您甚至可以更改将条形图连接到数据标签的主干的颜色:

"series": {
                    "0": {
                        "errorBars": {
                            "errorType": "none"
                        },
                        "dataLabel": "value",
                        "annotations": {
                            "stemColor": "none"
                        }
                    },
                    "color": "black",
                    "targetAxisIndex": 0,
                    "annotations": {
                        "textStyle": {
                            "color": "red",
                            "fontSize": 12
                        }
                    }
                },
于 2015-06-23T19:56:50.520 回答