这是我写的一个函数,用于从两列制作饼图。也许你可以适应你的需求。他们的名单现在是'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