0

Googleスプレッドシートのデータを使用して、データテーブルと簡単なグラフを作成できました。コードは次のとおりです。

 function doGet() {
   var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1x9g2N5gFCAeU6DkS-BYiB6womhsNfT3kPH2L22ZI3iM/edit#gid=973420299");
   var sheetDados = ss.getSheetByName("Receita e Investimento");
   var dataTableValeus = sheetDados.getRange(16, 1, 31, 3).getValues();



   var data = Charts.newDataTable()
       .addColumn(Charts.ColumnType.DATE, "Data")
       .addColumn(Charts.ColumnType.NUMBER, "Cost")
       .addColumn(Charts.ColumnType.NUMBER, "Revenue");

   for(var linha = 0, len = dataTableValeus.length; linha < len; linha++){
     if (dataTableValeus[linha][0] != ""){
       data.addRow(dataTableValeus[linha]);
     }
   }

   data.build();

   var chart = Charts.newAreaChart()
       .setDataTable(data)
       .setRange(0, 40)
       .setTitle("Revenue and Cost")
       .build();

   var uiApp = UiApp.createApplication().setTitle("My Chart");
   uiApp.add(chart);
   return uiApp;
 }

最終製品は次のとおりです: Simple Chart

私の問題は、軸の日付と数値の形式を変更することです。

X 軸では、「2015 年 11 月 12 日」と表示されます。2015年11月12日に変更したい

Y 軸では "7.500"、"15.000" になっています... "R$ 7.500"、"R$ 15.500" に変更します。

どうすればこれをフォーマットできますか?!

ここにスプレッドシートのリンクがあります

4

1 に答える 1

0

質問を投稿した後、実際にこの短い解決策を見つけました。これが答えです。

この方法Charts.setOption(option, value)により、チャートをかなりカスタマイズできます。

メソッドの説明は次のとおりです。メソッドが受け入れるパラメータの説明は次のとおりです。

私の最終的なコードは次のようになります。

 function doGet() {
   var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1x9g2N5gFCAeU6DkS-BYiB6womhsNfT3kPH2L22ZI3iM/edit#gid=973420299");
   var sheetDados = ss.getSheetByName("Receita e Investimento");
   var dataTableValeus = sheetDados.getRange(16, 1, 31, 3).getValues();



   var data = Charts.newDataTable()
       .addColumn(Charts.ColumnType.DATE, "Data")
       .addColumn(Charts.ColumnType.NUMBER, "Cost")
       .addColumn(Charts.ColumnType.NUMBER, "Revenue");

   for(var linha = 0, len = dataTableValeus.length; linha < len; linha++){
     if (dataTableValeus[linha][0] != ""){
       data.addRow(dataTableValeus[linha]);
     }
   }

   data.build();


   var chart = Charts.newAreaChart()
       .setDataTable(data)
       .setTitle("Revenue and Cost")
       .setOption("vAxis.format", "currency")
       .setOption("hAxis.format", "d/MMM/y")
       .setOption("legend.position", "top")
       .setDimensions(600, 300)
       .build();

   var uiApp = UiApp.createApplication().setTitle("My Chart");
   uiApp.add(chart);
   return uiApp;
 }
于 2015-12-29T13:54:50.820 に答える