Python Google Spreadsheet API气泡图未正确显示 发件人:收件人:结果:整个脚本:参考文献:

问题描述

我使用Google示例https://developers.google.com/chart/interactive/docs/gallery/bubblechart用Python v3.7.8测试Google Spreadshhet API v4,以创建气泡图。

数据存储在我创建气泡图的Google云端硬盘的电子表格中。

enter image description here

气泡图已创建,但气泡不可见/不显示。此后的代码

from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request

...

body = {'requests': 
        [{'addChart': 
          {'chart': 
           {'spec': 
            {'title': 'Correlation between life expectancy,fertility rate and population of some world countries (2010)','titleTextPosition': 
             {'horizontalAlignment': 'CENTER'},'bubbleChart': 
             {'legendPosition': 'RIGHT_LEGEND','domain': 
              {'sourceRange': 
               {'sources': 
                [{'sheetId': 909072886,'startRowIndex': 17,'endRowIndex': 27,'startColumnIndex': 1,'endColumnIndex': 2}]}},'series': 
              {'sourceRange': 
               {'sources': 
                [{'sheetId': 909072886,'startColumnIndex': 2,'endColumnIndex': 3}]}},'groupIds': 
              {'sourceRange': 
               {'sources': 
                [{'sheetId': 909072886,'startColumnIndex': 3,'endColumnIndex': 4}]}},'bubbleLabels': 
              {'sourceRange': 
               {'sources': 
                [{'sheetId': 909072886,'startColumnIndex': 0,'endColumnIndex': 1}]}},'bubbleSizes': 
              {'sourceRange': 
               {'sources': 
                [{'sheetId': 909072886,'startColumnIndex': 4,'endColumnIndex': 5}]}},'bubbleOpacity': 1.0}},'position': 
            {'overlayPosition': 
             {'anchorCell': 
              {'sheetId': 909072886,'rowIndex': 61,'columnIndex': 6},'offsetXPixels': 0,'offsetYPixels': 0,'widthPixels': 600,'heightPixels': 371
             }
            }
           }
          }
         }
        ]
       }

response = service.spreadsheets().batchUpdate(spreadsheetId=file_id,body=body).execute()

我应该得到以下信息:

enter image description here

但是我明白了:没有气泡显示。备注:将鼠标悬停在(不可见的)气泡上,它可以显示该国所有正确的数据(预期寿命,生育率,人口增加,颜色正确的区域)!

enter image description here

请随时支持我!预先谢谢你。

解决方法

在这种情况下,我建议如下在请求正文中包含bubbleMaxRadiusSizebubbleMinRadiusSize。修改请求正文后,它如下所示。

发件人:

'bubbleOpacity': 1.0}},

收件人:

'bubbleOpacity': 1.0,'bubbleMaxRadiusSize': 50,'bubbleMinRadiusSize': 5
}},
  • 在此修改中,505分别用作bubbleMaxRadiusSizebubbleMinRadiusSize的样本值。因此,请根据您的实际情况修改这些值。

结果:

enter image description here

整个脚本:

body = {'requests': [{'addChart': {'chart': {'spec': {'title': 'Correlation between life expectancy,fertility rate and population of some world countries (2010)','titleTextPosition': {'horizontalAlignment': 'CENTER'},'bubbleChart': {
    'legendPosition': 'RIGHT_LEGEND','domain': {'sourceRange': {'sources': [{
        'sheetId': 909072886,'startRowIndex': 17,'endRowIndex': 27,'startColumnIndex': 1,'endColumnIndex': 2,}]}},'series': {'sourceRange': {'sources': [{
        'sheetId': 909072886,'startColumnIndex': 2,'endColumnIndex': 3,'groupIds': {'sourceRange': {'sources': [{
        'sheetId': 909072886,'startColumnIndex': 3,'endColumnIndex': 4,'bubbleLabels': {'sourceRange': {'sources': [{
        'sheetId': 909072886,'startColumnIndex': 0,'endColumnIndex': 1,'bubbleSizes': {'sourceRange': {'sources': [{
        'sheetId': 909072886,'startColumnIndex': 4,'endColumnIndex': 5,'bubbleOpacity': 1.0,# Added
    'bubbleMinRadiusSize': 5,# Added
    }},'position': {'overlayPosition': {
    'anchorCell': {'sheetId': 909072886,'rowIndex': 61,'columnIndex': 6},'offsetXPixels': 0,'offsetYPixels': 0,'widthPixels': 600,'heightPixels': 371,}}}}}]}

response = service.spreadsheets().batchUpdate(spreadsheetId=file_id,body=body).execute()

参考文献: