Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Charts 图表服务:如何选择要显示的系列_Charts_Google Apps Script_Google Visualization - Fatal编程技术网

Charts 图表服务:如何选择要显示的系列

Charts 图表服务:如何选择要显示的系列,charts,google-apps-script,google-visualization,Charts,Google Apps Script,Google Visualization,我正在创建一个简单的图表,以了解谷歌应用程序脚本中的图表服务是如何工作的。到目前为止,我所取得的成就如下: 守则: function doGet() { var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1x9g2N5gFCAeU6DkS-BYiB6womhsNfT3kPH2L22ZI3iM/edit#gid=973420299"); var sheetDados = ss.getSh

我正在创建一个简单的图表,以了解谷歌应用程序脚本中的图表服务是如何工作的。到目前为止,我所取得的成就如下:

守则:

 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 lastLine = sheetDados.getLastRow();
   var dataTableValeus = sheetDados.getRange(16, 1, lastLine, 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()
       .setTitle("Revenue and Cost")
       .setDataTable(data)
       .setOption("vAxis.format", "currency")
       .setOption("hAxis.format", "d/MMM/yyyy")
       .setOption("legend.position", "top")
       .setOption("selectionMode", "multiple")
       .setOption("tooltip.trigger", "selection")
       .setOption("aggregationTarget", "series")
       .setDimensions(600, 300)
       .build();


  var dashboard = Charts.newDashboardPanel()
      .setDataTable(data)
      .build();


  var uiApp = UiApp.createApplication();

  dashboard.add(uiApp.createVerticalPanel()
                .add(uiApp.createHorizontalPanel()
                    .add(chart)
                    .setSpacing(10)));

  uiApp.add(dashboard);
  return uiApp;
 }
我想找到一种方法,在仪表板中选择图表中显示的序列。我试过过滤器,但不起作用

我的问题不是显示一个或另一个,甚至不是显示两个。我的问题是最终用户能够选择要查看的系列。我会像一个过滤器一样工作,他会选择在图表中看到一个系列,另一个,或者两者兼而有之

在我的示例中,我想选择图表是只显示成本,还是只显示收入,还是同时显示两者。

您可以在dataTable上使用dataViewDefinition

为了显示成本

.setDataViewDefinition{'columns':[0,1]}

收入


.setDataViewDefinition{'columns':[0,2]}

对不起。。。我的问题不具体。。。我已经对它进行了更精确的编辑。你必须使用应用程序脚本吗?直接使用会更容易-你需要根据用户选择重新绘制图表-你发布了所有代码吗?据我所知,直接使用谷歌图表意味着用HTML开发所有内容,这比我愿意做的要复杂得多。我不熟悉谷歌应用程序脚本,您是否能够创建所引用的仪表板?然后你可以加一个。或者,如果您可以自己添加按钮或下拉列表,则根据选择设置视图定义并重新绘制图表。。。