0

好的,我正在从数据库中收集数据并使用它来创建谷歌可视化折线图。用户可以选择年份间隔和月份。我有一个将数据收集到数组中的 json 变量。例如,如果用户选择 1990-1992 和 1 月,则 json 数组变量将如下所示:

[[1990,157894],[1991,173725],[1992,181227]] 

然后我将 json 变量导入到我的 javascript 中:

<script type="text/javascript">

var inputData = [[1990,157894],[1991,173725],[1992,181227]] ;
var month = "January" ;

  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {    
var data = new google.visualization.DataTable();
  data.addColumn('number', 'Year');
  data.addColumn('number', month);
  data.addRows(inputData);

    var formatter = new google.visualization.NumberFormat({groupingSymbol: ',', fractionDigits: '0'});
    formatter.format(data, 1);  

    var options = {
      title: 'Unemployed Statistics',
      hAxis: {title: 'Year', format: '####'},
   vAxis: {title: 'Number of Unemployed'},
    };

    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    chart.draw(data, options);
  }
</script>

从那里我可以创建我的图表。当用户选择所有月份而不是一个月时,就会出现问题。假设用户选择 1990-1992 和所有月份。然后数组将如下所示:

[[1990,157894],[1990,161642],[1990,155422],[1990,146588],[1990,139732],[1990,131337],[1990,129894],[1990,139529],[ 1990,126164],[1990,124355],[1990,141208],[1990,146554],[1990,141693],[1991,173725],[1991,189556],[1991,196588],[1991, 157444],[1991,160583],[1991,160256],[1991,150932],[1991,144383],[1991,134035],[1991,136319],[1991,142753],[1991,152923] ,[1991,158291],[1992,181227],[1992,190536],[1992,183923],[1992,171126],[1992,180363],[1992,188129],[1992,180816],[ 1992,176638],[1992,165608],[1992,151023],[1992,158695],[1992,164348],[1992,174369]]

第一个 1990 是 1 月的值,第 2 个是 2 月,...第 13 个是年平均值。看,每个 1990 年的值之间没有区别。但实际上,1990 年 1 月 < 1990 年 2 月 < 1990 年 12 月。我不需要年平均值。我想我的问题是如何更改年份值而不是全部相同(全部为 1990 年)到现在基于月份(1990 年 1 月 < 1990 年 2 月 < 1990 年 12 月)具有不同的值?

4

0 回答 0