簡體   English   中英

Google圖表從主要數據數組中刪除數組

[英]Google charts remove array from inside the main array of data

我有以下腳本:

  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Year', 'Sales', 'Expenses'],
      ['2004',  1000,      400],
      ['2005',  1170,      460],
      ['2006',  660,       1120],
      ['2007',  1030,      540],
      ['2009',  1030,      540],
      ['2011',  1,      677]
    ]);

    var options = {
      title: 'Company Performance',
      curveType: 'function',
      legend: { position: 'bottom' }
    };

    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    chart.draw(data, options);

    function swicthGraphType(){
      $("input[type='radio']").click(function(){

        var thisValue = $(this).attr("data-lineType");

        console.log(data.Ad[0]);

        if(thisValue == ""){
          options.curveType = '';
        }
        if(thisValue == "function"){
          options.curveType = 'function';
        }

        chart.draw(data, options);


      });
    }

     swicthGraphType();

  }

我想創建一個單擊函數,以暫時刪除數組之一,例如:

data.Ad[0]

並在需要時將其放回圖表中。 基本上,我需要一個函數來顯示需要在圖中看到的內容

解決方案A:
添加一個數組變量var blackList = []
編寫一個過濾器函數function dataFilter() {} ,該function dataFilter() {}循環數據的每個元素(如果不在黑名單中),然后將其添加到新數組中,最后返回新數組。
然后使用新數組填充圖表而不是原始數據。
您修改黑名單變量,以決定是否進行過濾。

解決方案B(基於A):
將對象而不是數組用於黑名單:

如果您認為將黑名單修改為數組不容易,則可以將黑名單創建為對象,使用對象的屬性存儲黑名單,屬性名稱為年份,例如2006,屬性值為那年的數據。

添加/覆蓋黑名單元素: blackList[2006] = ['2006', 660, 1120];
讀取/檢測黑名單元素: blackList[2006]
刪除黑名單元素: delete blackList[2006]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM