使用python在Google表格API v4中创建堆积条形图时出错

时间:2017-06-13 19:46:40

标签: google-sheets-api

我正在尝试使用Google表格API v4创建堆积条形图。我已经成功创建了没有堆叠的图表(即图表中的两个系列并排显示)。但是当我尝试添加要堆叠的选项时,我收到错误。我正在关注https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#BasicChartSpec上的文档。

当我将选项stackedType添加到json中传递的参数时(值为“STACKED”),我收到以下错误:

“无效的请求[0] .addChart:chartSpec.basicChart.chart类型为BAR时不支持chartSpec.basicChart.stackedType。”

我不明白这条错误消息,因为文档说stackType适用于条形图。还有其他人遇到过这个问题吗?

我有我的请求(以json格式发送):

chart_request = {
    "requests": [
        {
            "addChart": {
                "chart": {
                    "spec": {
                        "title": title,
                        "basicChart": {
                            "chartType": "BAR",
                            "legendPosition": "RIGHT_LEGEND",
                            "axis": [
                                {
                                    "position": "BOTTOM_AXIS",
                                    "title": "Revenue ($)"
                                    },
                                {
                                    "position": "LEFT_AXIS",
                                    "title": "Channel"
                                    }
                                ],
                            "domains": [
                                {
                                    "domain": {
                                        "sourceRange": {
                                            "sources": [
                                                {
                                                    "sheetId": sheetId,
                                                    "startRowIndex": 0,
                                                    "endRowIndex": nrows,
                                                    "startColumnIndex": 0,
                                                    "endColumnIndex": 1
                                                    }
                                                ]
                                            }
                                        }
                                    }
                                ],
                            "series": [
                                {
                                    "series": {
                                        "sourceRange": {
                                            "sources": [
                                                {
                                                    "sheetId": sheetId,
                                                    "startRowIndex": 0,
                                                    "endRowIndex": nrows,
                                                    "startColumnIndex": 2,
                                                    "endColumnIndex": 3
                                                    }
                                                ]
                                            }
                                        },
                                    "targetAxis": "BOTTOM_AXIS"
                                    },
                                {
                                    "series": {
                                        "sourceRange": {
                                            "sources": [
                                                {
                                                    "sheetId": sheetId,
                                                    "startRowIndex": 0,
                                                    "endRowIndex": nrows,
                                                    "startColumnIndex": 5,
                                                    "endColumnIndex": 6
                                                    }
                                                ]
                                            }
                                        },
                                    "targetAxis": "BOTTOM_AXIS"
                                    }
                                ],
                            "headerCount": 1,
                            "stackedType": "STACKED",
                            }
                        },
                    "position": {
                        "overlayPosition": {
                            "anchorCell": {
                                "sheetId": sheetId,
                                "rowIndex": 15,
                                "columnIndex": 0,
                                },
                            "widthPixels": 600,
                            "heightPixels": 300,
                            },
                        }
                    }
                }
            }
        ]
    }

提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果你检查BasicChartSeries它确实说它只对chartType COMBO有效:

  

枚举(BasicChartType)

     

此系列的类型。仅在chartType为COMBO 时有效。不同的类型将改变系列可视化的方式。只要   支持LINE,AREA和COLUMN。

我建议您检查一下您使用的是COMBO chartTypes。如果是,则确认您的问题,仅支持COMBO图表类型。

答案 1 :(得分:1)

我是Google表格团队的工程师。我们在通过API创建堆叠图表时发现了一个错误,很快就会修复。

感谢您发布此内容!

  • 迈克尔