如何在电子表格中嵌入的图表中设置“使用A列作为标签”?

问题描述 投票:0回答:2

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

我是否错过了执行此操作的方法?或者我是否必须将方法从 EmbeddedChartBuilder 切换为使用电子表格作为数据源

google-apps-script charts google-sheets google-visualization embedded-resource
2个回答
17
投票

找到了!使用

EmbeddedChartBuilder.setOption
将选项
useFirstColumnAsDomain
设置为 true

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

diff
。此技术可用于对图表编辑器中的任何设置进行逆向工程。


4
投票

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

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

"series": {
                    "0": {
                        "errorBars": {
                            "errorType": "none"
                        },
                        "dataLabel": "value",
                        "annotations": {
                            "stemColor": "none"
                        }
                    },
                    "color": "black",
                    "targetAxisIndex": 0,
                    "annotations": {
                        "textStyle": {
                            "color": "red",
                            "fontSize": 12
                        }
                    }
                },
© www.soinside.com 2019 - 2024. All rights reserved.