我正在尝试使用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,
},
}
}
}
}
]
}
提前谢谢。
答案 0 :(得分:1)
如果你检查BasicChartSeries它确实说它只对chartType COMBO有效:
枚举(BasicChartType)
此系列的类型。仅在chartType为COMBO 时有效。不同的类型将改变系列可视化的方式。只要 支持LINE,AREA和COLUMN。
我建议您检查一下您使用的是COMBO chartTypes。如果是,则确认您的问题,仅支持COMBO图表类型。
答案 1 :(得分:1)
我是Google表格团队的工程师。我们在通过API创建堆叠图表时发现了一个错误,很快就会修复。
感谢您发布此内容!