JY_FR-DE-EN
JY_FR-DE-EN

Reputation: 21

Google Sheet Pie Chart JS : Slices offset method not working?

I've been spending (lots of) time trying to figure out how to explode/split a Pie Chart within Google Sheets / (eg. Using the slices setoption in Google Apps Script) http://fiddle.jshell.net/6d5fLwnm/4/ This works outside google sheets using Google Visualisation

e.g. PieChart .setOption ('slices', Value) e.g. {3: {offset : 0.3};

But this method of the Google Chart Builder/Embedding is not working AT ALL in my "google sheet assigned script" (see below for code)

Any ideas/experience on that ? Is this deprecated somehow ? (other .setOption methods works : Colors for example)

My sheet has a 3 columns (therefore selecting B2:C5), 4 lines, simplified for testing purposes. Here is the code :

function GeneratePie() {  
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B2:C5");  
var pie = sheet.newChart()
.setChartType(Charts.ChartType.PIE)
.addRange(range)
.setPosition(5,6 ,5, 5)
//.setTitle("This is the title of my chart")
.setOption('slices', {
  0: {offset: 0.05},
  1: {offset: 0.15},
  2: {offset: 0.25},
  3: {offset: 0.35}
})

.setOption('title', 'Updated!');

// another try
slicces[0] = '{offset: 0.2}'; 
pie.setOption('slices', slicces); // wrapper is the ChartWrapper */   
pie.setOption('title', 'Updated2!');
sheet.insertChart(pie.build());   

var chart = sheet.getCharts()[1];
chart = chart.modify()
.setOption('title', 'Updated ZZZZZZZ!')
.setPosition(5,6,6,6)
.setOption('slices', {
 0: {offset: 0.05},
 1: {offset: 0.15},
 2: {offset: 0.25},
 3: {offset: 0.35}
})

 .build();
sheet.updateChart(chart); 
}

All comments are welcome...

Thank you !

Upvotes: 2

Views: 665

Answers (1)

ReyAnthonyRenacia
ReyAnthonyRenacia

Reputation: 17613

The codes from Visualization: Pie Chart of Google Charts API are not fully interchangeable with that of App Script version yet. So I don't think it's supported as of now in Apps Script.

reverseCategories() is the Apps Script method related to slicing which isn't much.

Upvotes: 1

Related Questions