Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.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
Google图表数据数组由javascript输入值组成_Javascript_Html_Charts_Google Visualization - Fatal编程技术网

Google图表数据数组由javascript输入值组成

Google图表数据数组由javascript输入值组成,javascript,html,charts,google-visualization,Javascript,Html,Charts,Google Visualization,我用谷歌图表制作图表有问题。 我的页面需要选择正确的数组,用输入值修复它,然后在折线图上显示它。 脚本代码: <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type = "text/javascript" src = "prototype.js"></script> <script type="te

我用谷歌图表制作图表有问题。 我的页面需要选择正确的数组,用输入值修复它,然后在折线图上显示它。 脚本代码:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type = "text/javascript" src = "prototype.js"></script>
<script type="text/javascript">
    google.charts.load('current', {'packages':['corechart']});
    google.charts.setOnLoadCallback();
    function fixArray(){
        var array_0 = [['Day', 'research', 'Weight'], ['32', 1898, null], ['33', 2432, null], ['34', 2533, null], ['35', 2267, null],
                    ['36', 2649, null], ['37', 3018, null], ['38', 3264, null], ['39', 3460, null],
                    ['40', 3561, null], ['41', 3706, null], ['42', 3576 , null], ['43', 3465, null]];

        var array_1 = [['Day', 'research', 'Weight'], ['32', 1405, null], ['33', 1779, null], ['34', 2158, null], ['35', 2272, null],
                    ['36', 2493, null], ['37', 2783, null], ['38', 2984, null], ['39', 3185, null],
                    ['40', 3310, null], ['41', 3426, null], ['42', 3531, null], ['43', 3784, null]];
            .
            .
            .

        var array_10 = [['Day', 'research', 'Weight'], ['32', 2605 ,null], ['33', 3402, null], ['34', 3500, null], ['35', 3705, null],
                         ['36', 3810, null], ['37', 3856, null], ['38', 3955, null], ['39', 4120, null],
                         ['40', 4260, null], ['41', 4100, null], ['42', 4000 ,null], ['43', 3900, null]];

        var fixed = new Array(12);  // defining empty 2D array to the fixed array that will be show
        for (var i = 0; i < fixed.length; i++) 
          fixed[i] = []; 
        var number = Number($('number').getValue());       
        var day = document.getElementById("day");
        var weight = Number($('weight').getValue());
        switch (number) {
            case 0:
                for(i=1; i<=12; i++){
                    if(array_0[i][0] == day)
                        array_0[i][2] = weight;
                }
                fixed = array_0;
                break;

            case 1:
                for(i=1; i<=12; i++){
                    if(array_1[i][0] == day)
                        array_1[i][2] = weight;
                }
                fixed = array_1;
                break;
          .
          .
          .
            case 10:
                for(i=1; i<=12; i++){
                    if(array_10[i][0] == day)
                        array_10[i][2] = weight;
                }
                fixed = array_10;
                break;

            default:
                alert("Not Enough Data");
                break;
        }
        drawVisualization(fixed);
    }   
    function drawVisualization(fixed) {
        var data = google.visualization.arrayToDataTable(Array.from(fixed));
        var options = {
            title : 'Results',
            vAxis: {title: 'Weight'},
            hAxis: {title: 'Day'},
            seriesType: 'line',
            series: {1: {type: 'scatter'}}
        };

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

</script>
当我尝试运行页面并输入值时,它只显示红色错误,其中是图表div。 当我更改
google.charts.setOnLoadCallback()时,我可以看到错误是什么
to
google.charts.setOnLoadCallback(fixArray)错误为“给定轴上的所有系列必须具有相同的数据类型×”

我想这不是修复数组的问题,因为当我尝试
drawVisualization(array_0)
检查代码时,它会显示相同的错误


这里有什么问题?

setOnLoadCallback的要点是传递一个函数,
这样您就可以知道google图表何时完成加载。
setOnLoadCallback
将调用传递给它的函数

e、 g.--加载完成后,将调用
fixArray

google.charts.setOnLoadCallback(fixArray);
您还可以使用
load
语句返回的承诺

google.charts.load('current', {
  packages: ['corechart']
}).then(fixArray);
接下来,当使用jquery按id获取元素时,
您需要在id的前面添加英镑符号(
#number

$('#number').val()
您可以使用
val
方法获取值。
另外,在这里,您将获得元素,
不是元素的值

var day = document.getElementById("day");
只需使用与其他相同的

var day = Number($('#day').val());
接下来,我给了输入元素一个默认值,
因此,图表将在第一次运行时绘制

不确定您希望页面如何“流动”

请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(固定数组);
函数fixArray(){
变量数组_0=[
[‘天’、‘研究’、‘体重’],
[32',1898,空],
[33',2432,空],
[34',2533,空],
[35',2267,空],
[36',2649,空],
[37',3018,空],
[38',3264,空],
[39',3460,空],
[40',3561,空],
[41',3706,空],
[42',3576,空],
[43',3465,空]
];
变量数组_1=[
[‘天’、‘研究’、‘体重’],
[32',1405,空],
[33',1779,空],
[34',2158,空],
[35',2272,空],
[36',2493,空],
[37',2783,空],
[38',2984,空],
[39',3185,空],
[40',3310,空],
[41',3426,空],
[42',3531,空],
[43',3784,空]
];
变量数组_10=[
[‘天’、‘研究’、‘体重’],
[32',2605,空],
[33',3402,空],
[34',3500,空],
[35',3705,空],
[36',3810,空],
[37',3856,空],
[38',3955,空],
[39',4120,空],
[40',4260,空],
[41',4100,空],
[42',4000,空],
['43',3900,空]
];
var fixed=new Array(12);//为将要显示的固定数组定义空的2D数组
对于(变量i=0;i对于(i=1;i而言,
setOnLoadCallback
的要点是传递一个函数,
这样您就可以知道google图表何时完成加载。
setOnLoadCallback
将调用传递给它的函数

e、 g.--加载完成后,将调用
fixArray

google.charts.setOnLoadCallback(fixArray);
您还可以使用
load
语句返回的承诺

google.charts.load('current', {
  packages: ['corechart']
}).then(fixArray);
接下来,当使用jquery按id获取元素时,
您需要在id的前面添加英镑符号(
#number

$('#number').val()
您可以使用
val
方法获取值。
另外,在这里,您将获得元素,
不是元素的值

var day = document.getElementById("day");
只需使用与其他相同的

var day = Number($('#day').val());
接下来,我给了输入元素一个默认值,
因此,图表将在第一次运行时绘制

不确定您希望页面如何“流动”

请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(固定数组);
函数fixArray(){
变量数组_0=[
[‘天’、‘研究’、‘体重’],
[32',1898,空],
[33',2432,空],
[34',2533,空],
[35',2267,空],
[36',2649,空],
[37',3018,空],
[38',3264,空],
[39',3460,空],
[40',3561,空],
[41',3706,空],
[42',3576,空],
[43',3465,空]
];
变量数组_1=[
[‘天’、‘研究’、‘体重’],
[32',1405,空],
[33',1779,空],
[34',2158,空],
[35',2272,空],
[36',2493,空],
[37',2783,空],
[38',2984,空],
[39',3185,空],
[40',3310,空],
[41',3426,空],
[42',3531,空],
[43',3784,空]
];
变量数组_10=[
[‘天’、‘研究’、‘体重’],
[32',2605,空],
[33',3402,空],
[34',3500,空],
[35',3705,空],
[36',3810,空],
[37',3856,空],
[38',3955,空],
[39',4120,空],
[40',4260,空],
[41',4100,空],
[42',4000,空],
['43',3900,空]
];
var fixed=new Array(12);//为将要显示的固定数组定义空的2D数组
对于(变量i=0;i