Скрипт Google Apps — Служба диаграмм: как форматировать числа и даты

Мне удалось создать таблицу с данными и простую диаграмму, используя данные из электронной таблицы 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;
 }

А вот и конечный продукт: Простая диаграмма

Моя проблема заключается в изменении формата даты и числа на оси.

По оси X теперь написано «12 ноября 2015 года». Я хочу изменить его на 12 ноября 2015 г.

а по оси Y теперь отображается "7.500", "15.000"... Я хочу изменить это на "7.500 реалов", "15.500 реалов".

Как я могу отформатировать это?!

вот ссылка на таблицу


person user3347814    schedule 28.12.2015    source источник
comment
похоже, это зависит от ваших региональных настроек... когда я его развертываю, я получаю этот результат   -  person Serge insas    schedule 29.12.2015
comment
Я нашел ответ самостоятельно.. Но я подумал, что было бы неплохо поделиться с сообществом, так как я не видел много вопросов по этой теме...   -  person user3347814    schedule 29.12.2015


Ответы (1)


Я действительно нашел решение этого вскоре после того, как опубликовал вопрос. Вот ответ.

Метод 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;
 }
person user3347814    schedule 29.12.2015