首页 > 解决方案 > Google Sheets API批量更新updateChartSpec不更新右轴viewWindowMax

问题描述

我真正想要的是一个组合图表,其中右轴和左轴具有相同的 viewWindowMax,它可以让图表中的所有数据。为此,我尝试获取 2 中的最高值并将它们都设置为最大值。

谷歌表格中图表的批量更新需要使用 updateChartSpec 更新整个图表[“spec”]。我有测试用例,我将 viewWindowMax 设置为硬编码的任意数字。它会正确更新左轴,但左轴会返回到默认条件,其中 viewWindowOptions 为空,即使它在更新之前确实具有其他值。IE 我得到这个结果,没有错误信息:

{'position': 'LEFT_AXIS', 'viewWindowOptions': {'viewWindowMin': 0, 'viewWindowMax': 40, 'viewWindowMode': 'PRETTY'}}, {'position': 'RIGHT_AXIS', 'viewWindowOptions': { }}

在请求中是这样的:

{'position': 'LEFT_AXIS', 'viewWindowOptions': {'viewWindowMin': 0, 'viewWindowMax': 40, 'viewWindowMode': 'PRETTY'}}, {'position': 'RIGHT_AXIS', 'viewWindowOptions': { “viewWindowMin”:0,“viewWindowMax”:40}}

删除“漂亮”的东西或添加它不会改变任何事情。

完整的请求代码如下所示:

requests = [
    {
        "updateChartSpec": {
            "chartId": chart['chartId'],
            "spec": spec
        }
    }
]
body = {
    'requests': requests
}
response = build('sheets', 'v4', credentials=creds.credentials).spreadsheets().batchUpdate(
    spreadsheetId=spreadsheet_id, body=body).execute()

带规格变量 =

{'title': 'Tickets Opened and Closed', 'basicChart': {'chartType': 'COMBO', 'legendPosition': 'BOTTOM_LEGEND', 'axis': [{'position': 'BOTTOM_AXIS', 'viewWindowOptions': {}}, {'position': 'LEFT_AXIS', 'viewWindowOptions': {'viewWindowMin': 0, 'viewWindowMax': 40, 'viewWindowMode': 'PRETTY'}}, {'position': 'RIGHT_AXIS', 'viewWindowOptions': {'viewWindowMin': 0, 'viewWindowMax': 40}}], 'domains': [{'domain': {'sourceRange': {'sources': [{'sheetId': 1666134379, 'startRowIndex': 0, 'endRowIndex': 14, 'startColumnIndex': 0, 'endColumnIndex': 1}]}}}], 'series': [{'series': {'sourceRange': {'sources': [{'sheetId': 1666134379, 'startRowIndex': 0, 'endRowIndex': 14, 'startColumnIndex': 1, 'endColumnIndex': 2}]}}, 'targetAxis': 'LEFT_AXIS', 'type': 'COLUMN', 'color': {'red': 1}, 'colorStyle': {'rgbColor': {'red': 1}}}, {'series': {'sourceRange': {'sources': [{'sheetId': 1666134379, 'startRowIndex': 0, 'endRowIndex': 14, 'startColumnIndex': 2, 'endColumnIndex': 3}]}}, 'targetAxis': 'LEFT_AXIS', 'type': 'COLUMN', 'color': {'red': 1, 'green': 0.42745098, 'blue': 0.003921569}, 'colorStyle': {'themeColor': 'ACCENT5'}}, {'series': {'sourceRange': {'sources': [{'sheetId': 1666134379, 'startRowIndex': 0, 'endRowIndex': 14, 'startColumnIndex': 3, 'endColumnIndex': 4}]}}, 'targetAxis': 'LEFT_AXIS', 'type': 'COLUMN', 'color': {'red': 0.9764706, 'green': 0.79607844, 'blue': 0.6117647}, 'colorStyle': {'rgbColor': {'red': 0.9764706, 'green': 0.79607844, 'blue': 0.6117647}}}, {'series': {'sourceRange': {'sources': [{'sheetId': 1666134379, 'startRowIndex': 0, 'endRowIndex': 14, 'startColumnIndex': 4, 'endColumnIndex': 5}]}}, 'targetAxis': 'LEFT_AXIS', 'type': 'COLUMN'}, {'series': {'sourceRange': {'sources': [{'sheetId': 1666134379, 'startRowIndex': 0, 'endRowIndex': 14, 'startColumnIndex': 5, 'endColumnIndex': 6}]}}, 'targetAxis': 'RIGHT_AXIS', 'type': 'COLUMN', 'color': {'red': 1}, 'colorStyle': {'rgbColor': {'red': 1}}}, {'series': {'sourceRange': {'sources': [{'sheetId': 1666134379, 'startRowIndex': 0, 'endRowIndex': 14, 'startColumnIndex': 6, 'endColumnIndex': 7}]}}, 'targetAxis': 'RIGHT_AXIS', 'type': 'COLUMN', 'color': {'red': 1, 'green': 0.42745098, 'blue': 0.003921569}, 'colorStyle': {'themeColor': 'ACCENT5'}}, {'series': {'sourceRange': {'sources': [{'sheetId': 1666134379, 'startRowIndex': 0, 'endRowIndex': 14, 'startColumnIndex': 7, 'endColumnIndex': 8}]}}, 'targetAxis': 'RIGHT_AXIS', 'type': 'COLUMN', 'color': {'red': 0.9764706, 'green': 0.79607844, 'blue': 0.6117647}, 'colorStyle': {'rgbColor': {'red': 0.9764706, 'green': 0.79607844, 'blue': 0.6117647}}}, {'series': {'sourceRange': {'sources': [{'sheetId': 1666134379, 'startRowIndex': 0, 'endRowIndex': 14, 'startColumnIndex': 8, 'endColumnIndex': 9}]}}, 'targetAxis': 'RIGHT_AXIS', 'type': 'COLUMN', 'color': {'red': 0.20392157, 'green': 0.65882355, 'blue': 0.3254902}, 'colorStyle': {'themeColor': 'ACCENT4'}}, {'series': {'sourceRange': {'sources': [{'sheetId': 1666134379, 'startRowIndex': 0, 'endRowIndex': 14, 'startColumnIndex': 9, 'endColumnIndex': 10}]}}, 'targetAxis': 'LEFT_AXIS', 'type': 'LINE', 'color': {}, 'colorStyle': {'themeColor': 'TEXT'}}], 'headerCount': 1, 'stackedType': 'STACKED'}, 'hiddenDimensionStrategy': 'SKIP_HIDDEN_ROWS_AND_COLUMNS', 'titleTextFormat': {'fontFamily': 'Roboto'}, 'fontName': 'Roboto'}

标签: google-sheets-api

解决方案


我冒昧地在这里报告此行为:https ://issuetracker.google.com/151918491


推荐阅读