Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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
Javascript 没有数据的谷歌图表馅饼_Javascript_Php_Charts_Google Visualization - Fatal编程技术网

Javascript 没有数据的谷歌图表馅饼

Javascript 没有数据的谷歌图表馅饼,javascript,php,charts,google-visualization,Javascript,Php,Charts,Google Visualization,我试图在我的民意调查网站上使用谷歌图表。一切都很顺利,直到我没有选票(例如,没有人回答这个问题)。该图表甚至没有出现,正如您在本例中看到的: 我甚至将属性sliceVisibilityThreshold设置为0。 有可能有一个包含任何数据的饼图吗? 对我来说行吗?错误是什么 在外部js部分添加js,只需将url复制到那里,就可以了更改透视图 var data = google.visualization.arrayToDataTable([ ['Task', 'Hours

我试图在我的民意调查网站上使用谷歌图表。一切都很顺利,直到我没有选票(例如,没有人回答这个问题)。该图表甚至没有出现,正如您在本例中看到的:

我甚至将属性sliceVisibilityThreshold设置为0。 有可能有一个包含任何数据的饼图吗?

对我来说行吗?错误是什么

在外部js部分添加js
,只需将url复制到那里,就可以了

更改透视图

var data = google.visualization.arrayToDataTable([
          ['Task', 'Hours per Day'],
          ['Work',     0],
          ['Eat',      0],
          ['Commute',  0],
          ['Watch TV', 0],
          ['Sleep',    0],
          ['No activities or no response',    24]
        ]);


您可以测试dataTable以查看是否存在响应,然后相应地调整显示内容

google.setOnLoadCallback(drawChart);
  function drawChart() {

    var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['Work',     0],
      ['Eat',      0],
      ['Commute',  0],
      ['Watch TV', 0],
      ['Sleep',    0]
    ]);

    if(hasResponses(data, 1){
      ...
      [build your options array and draw you chart]
      ...
      }else{
      ...
      [display something else instead of the chart (i.e., a graphic or text indicating that the question has no responses).]
      }
  }


function hasResponses(datasource, column){
  var sumValues = 0;
  for(var i = 0; i < datasource.getNumberOfRows(); ++i) {
    sumValues = sumValues + datasource.getValue(column, i);
    }
  if(sumValues > 0){
    return true;
    }else{
    return false;
    }
  }
google.setOnLoadCallback(绘图图);
函数绘图图(){
var data=google.visualization.arrayToDataTable([
[“任务”,“每天工作小时数”],
['Work',0],
[Eat',0],
[‘通勤’,0],
[“看电视”,0],
[Sleep',0]
]);
如果(数据,1){
...
[构建选项阵列并绘制图表]
...
}否则{
...
[显示其他内容,而不是图表(即,表明问题没有答案的图形或文本)。]
}
}
函数hasResponses(数据源,列){
var sumValues=0;
对于(var i=0;i0){
返回true;
}否则{
返回false;
}
}
这假设每个受访者将至少为一项活动(工作、睡眠等)提供大于0的值,如果不是,则数据收集(调查)应具有一个全面的类别(即“其他”等),允许您在不影响回答完整性的情况下强制回答问题


假设您的数据来自其他数据库(不是手动输入javascript),一种更快、更简单的方法可能涉及在用javascript构建数据表之前计算数据集中的响应数。然后,使用与上述类似的逻辑,如果存在少于一个响应,则显示另一条消息。

如果没有任何类别的投票,它应该显示什么?饼图的百分比是“0”?还有,这和海图有什么关系?你们的表中都有数据,我的问题是如果你们没有任何数据,每个选项都简单漂亮!
var data = google.visualization.arrayToDataTable([
          ['Task', 'Hours per Day'],
          ['Work no response',     4.8],
          ['Eat no response',     4.8],
          ['Commute no response',     4.8],
          ['Watch TV no response',     4.8],
          ['Sleep no response',     4.8]
        ]);
google.setOnLoadCallback(drawChart);
  function drawChart() {

    var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['Work',     0],
      ['Eat',      0],
      ['Commute',  0],
      ['Watch TV', 0],
      ['Sleep',    0]
    ]);

    if(hasResponses(data, 1){
      ...
      [build your options array and draw you chart]
      ...
      }else{
      ...
      [display something else instead of the chart (i.e., a graphic or text indicating that the question has no responses).]
      }
  }


function hasResponses(datasource, column){
  var sumValues = 0;
  for(var i = 0; i < datasource.getNumberOfRows(); ++i) {
    sumValues = sumValues + datasource.getValue(column, i);
    }
  if(sumValues > 0){
    return true;
    }else{
    return false;
    }
  }