谷歌Apps脚本:如何设置“使用列A作为标签”中嵌入电子表格中的图表?(Google Apps Sc

2019-06-21 07:31发布

我使用谷歌Apps脚本和EmbeddedChartBuilder到我的谷歌电子表格中嵌入线走势图。 当你手工创建这些图表,您有(非默认)选项设置为“使用列A作为标签”(其中“A”是在数据范围内的第一列)。 我不能找到一种方法,从脚本做同样的。 从谷歌可视化折线图的文件,似乎默认是把第一列具有“域”的作用; 但EmbeddedChartBuilder似乎重写此,让所有列的“数据”的角色。 因为我没有一个明确的数据表,我也没有办法来设置列的角色我自己。

我错过了一个办法做到这一点? 还是我从EmbeddedChartBuilder方法切换到使用电子表格作为数据源 ?

Answer 1:

找到了! 设置选项useFirstColumnAsDomaintrue有EmbeddedChartBuilder.setOption 。

这个选项似乎是无证。 我发现它进入“发布图表”(点击图表上,然后从右上角的下拉列表中选择),并在给定的代码检查的JavaScript数据结构。 确切的说,我创建了一个图表与“使用列A作为标签”选中,抓起发布的数据结构,然后选中“使用列A作为标签”,抓住了新发布的数据结构,并比较了两种。 为了比较,我建议正火JSON和运行diff 。 这种技术可以用来进行反向工程在图表编辑器的任何设置。



Answer 2:

我刚刚经历了同样的问题。 我采取了类似的方法,因为安德鲁,却发现不同的解决方案(可能是因为谷歌已经在电子表格中添加功能的图表)。

我用http://jsbeautifier.org/发布后的代码格式,我发现这个部分负责将数据添加标签。 需要注意的是,你甚至可以更改连接栏数据标签茎的颜色:

"series": {
                    "0": {
                        "errorBars": {
                            "errorType": "none"
                        },
                        "dataLabel": "value",
                        "annotations": {
                            "stemColor": "none"
                        }
                    },
                    "color": "black",
                    "targetAxisIndex": 0,
                    "annotations": {
                        "textStyle": {
                            "color": "red",
                            "fontSize": 12
                        }
                    }
                },


文章来源: Google Apps Script: How to set “Use column A as labels” in chart embedded in spreadsheet?