這是我寫的一個函數,用於從兩列製作餅圖。也許你可以適應你的需求。他們的名單現在是'PieChart'。
function makePie(dataColName,labelColName)
{
var dataColName = (typeof(dataColName)!='undefined')?dataColName:'Data';
var labelColName = (typeof(labelColName)!='undefined')?labelColName:'Labels';
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sht=ss.getSheetByName('PieChart');
var rng=sht.getDataRange();
var rngA=rng.getValues();
if(rngA[0].indexOf(dataColName)>-1 && rngA[0].indexOf(labelColName)>-1)
{
var datcol=rngA[0].indexOf(dataColName)+1;
var lblcol=rngA[0].indexOf(labelColName)+1;
var datrng=sht.getRange(2,datcol,rng.getHeight());
var lblrng=sht.getRange(2,lblcol,rng.getHeight());
var charts=sht.getCharts();
if(charts)
{
for(var i=0;i<charts.length;i++)
{
if(charts[i].getOptions().get('title') == sht.getName())
{
sht.removeChart(charts[i]);
}
}
}
var chart = sht.newChart()
.setChartType(Charts.ChartType.PIE)
.addRange(lblrng)
.addRange(datrng)
.setPosition(2, rng.getLastColumn()+1, 0, 0)
.setOption("pieHole",".3")
.setOption("is3D", "true")
.setOption('title',sht.getName())
.build();
sht.insertChart(chart);
}
}
是否使用Highcharts可能嗎?如果是這樣,您可以繪製數據,請參閱https://www.highcharts.com/cloud/import-data/how-to-set-up-a-google-spreadsheet-file,然後將其嵌入到您的網站中一個iframe。也可以選擇自己製作,就像你說的,看到這個筆的例子https://codepen.io/fleeting/pen/AtcrE – Valentin