好的,我正在从数据库中收集数据并使用它来创建谷歌可视化折线图。用户可以选择年份间隔和月份。我有一个将数据收集到数组中的 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 月)具有不同的值?