1

我在其中一個Google表格中有一個(容器綁定)腳本。通過這個腳本,我創建了一張基於表格中數據的圖表。看到圖片:如何更改縱軸的數字格式? (當在Apps腳本電子表格服務中使用EmbeddedChartBuilder時)

Sheet and Chart

Google Apps腳本(SCRIPT 1),我使用的是:

/** 
* @OnlyCurrentDoc 
*/ 

function buildChart() { 
    //get the sheet 
    var sheet = SpreadsheetApp.getActiveSheet() 
    //create a new chart 
    var chart = sheet.newChart() 
    //basics 
    .setChartType(Charts.ChartType.COLUMN) 
    .addRange(sheet.getRange("D1:H8")) 
    .setPosition(10, 10, 0, 0) 
    .setOption('isStacked', 'TRUE') 
    //title 
    .setOption('title', 'Cost Price Development - Stage 3') 
    .setOption('titleTextStyle', {fontSize: 12}) 
    //legend 
    .setOption('legend.position', 'none') 
    //vertical axis 
    .setOption('vAxes', {0: {title: '€', format: 'short', textStyle: {fontSize: 10}, titleTextStyle: {fontSize : 8}, viewWindow: {min: 79000000}}}) 
    //horizontal axis 
    .setOption('hAxis.title', 'cost price changes') 
    .setOption('hAxis.titleTextStyle', {fontSize : 8}) 
    .setOption('hAxis.textStyle', {fontSize : 8}) 
    //chart height 
    .setOption('height', 250) 
    //colors series 
    .setOption('colors', ['tranparant', '#659CEF', 'red', 'green']) 
    .build(); 
    // Insert chart in sheet 
    sheet.insertChart(chart); 
} 

目前,(你可以在上面的圖片中看到)上的數字垂直軸的範圍從79,000,000到81,500,000。但是,我想要改變這些數字的格式,以便以百萬爲單位顯示:即從79M到81,5M。

隨着setOptions()方法我設置了許多選項成功。但不知何故,選項vAxis.format不會更改vAxis號碼的格式。正如你可以在完整的腳本看,以下行定義了不同vAxis選項:

.setOption('vAxes', {0: {title: '€', format: 'short', textStyle: {fontSize: 10}, titleTextStyle: {fontSize : 8}, viewWindow: {min: 79000000}}}) 

只有格式:「短」似乎並沒有產生效果。然後,我改變了上面的腳本,這樣垂直的Axis選項就像水平軸被定義一樣。下面SCRIPT 2版本:

// create waterfall chart 
function waterfallChart() { 
    //get the sheet 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    //create a new chart 
    var chart = sheet.newChart() 
    //basics 
    .setChartType(Charts.ChartType.COLUMN) 
    .addRange(sheet.getRange("g1:k8")) 
    .setPosition(10, 10, 0, 0) 
    .setOption('isStacked', 'TRUE') 
    //title 
    .setOption('title', 'Cost Price Development - Stage 3') 
    .setOption('titleTextStyle', {fontSize: 12}) 
    //legend 
    .setOption('legend.position', 'none') 
    //vertical axis 
    //.setOption('vAxes', {0: {title: '€', format: 'short', textStyle: {fontSize: 10}, titleTextStyle: {fontSize : 8}, viewWindow: {min: 79000000}}}) 
    .setOption('vAxis.title', '€') 
    .setOption('vAxis.format', 'short') 
    .setOption('vAxis.textStyle', {fontSize: 10}) 
    .setOption('vAxis.textStyle', {fontSize: 10}) 
    .setOption('vAxis.titleTextStyle', {fontSize: 8}) 
    .setOption('vAxis.viewWindow', {min: 79000000}) 
    //horizontal axis 
    .setOption('hAxis.title', 'cost price changes') 
    .setOption('hAxis.titleTextStyle', {fontSize : 8}) 
    .setOption('hAxis.textStyle', {fontSize : 8}) 
    //chart height 
    .setOption('height', 250) 
    //colors series 
    .setOption('colors', ['tranparant', '#659CEF', 'red', 'green']) 
    .build(); 
    // Insert chart in sheet 
    sheet.insertChart(chart); 
} 

然而,隨着SCRIPT 2代碼所有定義的垂直軸選項

setOption('vAxis.title', '€') 
     .setOption('vAxis.format', 'short') 
     .setOption('vAxis.textStyle', {fontSize: 10}) 
     .setOption('vAxis.textStyle', {fontSize: 10}) 
     .setOption('vAxis.titleTextStyle', {fontSize: 8}) 
     .setOption('vAxis.viewWindow', {min: 79000000}) 

具有在圖表上沒有影響;見截圖:

chart 2 with the

彙總:

  • SCRIPT 1個結果與設置多數選項,因此可見在圖表中;只有垂直軸號碼格式定義不會在圖表中被接管。
  • SCRIPT 2產生的圖表中沒有定義的選項在圖表中可見。

所以,我的問題是:我必須使用什麼樣的代碼才能讓垂直軸的所有已定義的選項在圖表中被接管?

任何人都可以請幫助我嗎?

回答

0

嘗試設置明確使用vAxis,而不是在同一個選項...

.setOption('vAxis.format', 'short') 
+0

感謝@WhiteHat。我現在更改了vAxes選項,以便以您建議的明確方式對其進行定義。然而,不知何故,現在所有setOptions都不會在圖表中被接管......不幸的是。我將在下面更詳細地解釋發生了什麼。 – Marc

相關問題