Google Sheets能否绘制实心区域雷达图?可通过脚本实现吗?
解决Google Sheets实心区域雷达图的方法
Google Sheets原生确实没有自带实心填充的雷达图,下面给你两个可行的实现方案:
方案一:用Google Apps Script嵌入Google Charts雷达图
Google Charts提供了支持区域填充的雷达图,我们可以通过脚本把它嵌入到Sheets里,步骤如下:
- 打开你的Google Sheets,点击顶部「扩展程序」→「Apps Script」,进入脚本编辑器
- 删除默认代码,粘贴下面的脚本:
function doGet() { // 获取Sheet数据,这里假设数据在Sheet1,A1是标题,A2:A是类别,B2:C是数据系列 const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); const dataRange = sheet.getDataRange(); const values = dataRange.getValues(); // 构造Google Charts需要的数据格式 const chartData = google.visualization.arrayToDataTable(values); // 配置图表选项,设置填充透明度实现实心区域 const options = { title: '实心区域雷达图', legend: { position: 'right' }, radar: { axisTitle: '', gridlines: { color: '#ccc' }, categoryAxis: { labels: values.slice(1).map(row => row[0]) } }, series: [ { color: '#3366cc', fillOpacity: 0.3 }, // 第一个系列的填充透明度 { color: '#dc3912', fillOpacity: 0.3 } // 第二个系列的填充透明度 ] }; // 创建雷达图并生成HTML const html = '<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>' + '<script type="text/javascript">' + 'google.charts.load("current", {packages:["corechart"]});' + 'google.charts.setOnLoadCallback(drawChart);' + 'function drawChart() {' + 'var data = new google.visualization.DataTable(' + JSON.stringify(chartData.toJSON()) + ');' + 'var options = ' + JSON.stringify(options) + ';' + 'var chart = new google.visualization.RadarChart(document.getElementById("chart_div"));' + 'chart.draw(data, options);' + '}' + '</script>' + '<div id="chart_div" style="width: 800px; height: 600px;"></div>'; return HtmlService.createHtmlOutput(html); } function showChart() { const htmlOutput = doGet(); SpreadsheetApp.getUi().showModalDialog(htmlOutput, '实心区域雷达图'); }
- 修改脚本里的Sheet名称(比如把"Sheet1"改成你的数据所在Sheet名),以及数据范围、颜色、填充透明度等参数,匹配你的需求
- 保存脚本,点击编辑器顶部的「运行」,首次运行会要求授权,按照提示完成权限申请
- 返回Sheets,点击顶部「扩展程序」→「自定义功能」→「showChart」,就能弹出带实心填充的雷达图
方案二:用第三方工具导出后插入(适合不会写脚本的用户)
如果不想折腾代码,可以用Tableau Public、Canva或者Datawrapper这类可视化工具:
- 把Sheets里的数据导出成CSV,导入到工具里
- 选择雷达图模板,设置区域填充样式
- 导出为PNG图片,插入到Google Sheets的单元格中
内容的提问来源于stack exchange,提问作者lighthouselk
相关产品推荐
相关产品推荐

