Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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 将数组传递到google图表_Javascript_Php_Laravel_Charts_Google Visualization - Fatal编程技术网

Javascript 将数组传递到google图表

Javascript 将数组传递到google图表,javascript,php,laravel,charts,google-visualization,Javascript,Php,Laravel,Charts,Google Visualization,我正在尝试用谷歌图表绘制一个甜甜圈图表。我使用的是MVC框架,确切地说是laravel。我有一个数组,我正在通过压缩函数传递给视图。 我真的到处都搜索过,但似乎找不到任何指向我的东西,请记住我对javascript还很陌生 我已经试过: var data=google.visualization.arrayToDataTable(?=$frequency?>) 这是我的服务器端php的摘录 { $memberNames = array_keys($frequency); $

我正在尝试用谷歌图表绘制一个甜甜圈图表。我使用的是MVC框架,确切地说是laravel。我有一个数组,我正在通过压缩函数传递给视图。 我真的到处都搜索过,但似乎找不到任何指向我的东西,请记住我对javascript还很陌生

我已经试过:

var data=google.visualization.arrayToDataTable(?=$frequency?>)

这是我的服务器端php的摘录

 {  
    $memberNames = array_keys($frequency);
    $frequency = array_count_values($members);
    return view('contact.stats', compact('frequency'));

}
这是谷歌用于实现图表的代码

 <script type="text/javascript">
  google.charts.load("current", {packages:["corechart"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['Work',     11],
      ['Eat',      2],
      ['Commute',  2],
      ['Watch TV', 2],
      ['Sleep',    7]
    ]);

    var options = {
      title: 'My Daily Activities',
      pieHole: 0.4,
    };

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

load(“当前”{packages:[“corechart”]});
google.charts.setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable([
[“任务”,“每天工作小时数”],
[Work',11],
[Eat',2],
[‘通勤’,2],
[“看电视”,2],
[Sleep',7]
]);
变量选项={
标题:“我的日常活动”,
pieHole:0.4,
};
var chart=new google.visualization.PieChart(document.getElementById('donutchart');
图表绘制(数据、选项);
}
就像我在返回$frequency时说的,它看起来像这样{“女性”:74,“其他人”:2,“na”:63,“男性”:59}


我基本上希望将$frequency传递到脚本中的var数据中。

php正在返回一个json对象(
{}

谷歌图表需要一个数组(
[]

只是需要转换

  var frequency = {"female":74,"others":2,"na":63,"male":59};
  var chartData = [];
  Object.keys(frequency).forEach(function (name) {
    chartData.push([name, frequency[name]]);
  });
创建google数据表时,
我们需要将
true
作为第二个参数传递给
arrayToDataTable

这表示数组中的第一行是数据,而不是列标题

  var data = google.visualization.arrayToDataTable(chartData, true);
请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
//无功频率=
变异频率={“女性”:74,“其他人”:2,“na”:63,“男性”:59};
var chartData=[];
Object.keys(频率).forEach(函数(名称){
chartData.push([name,frequency[name]]);
});
var data=google.visualization.arrayToDataTable(chartData,true);
变量选项={
标题:“我的日常活动”,
pieHole:0.4,
};
var chart=new google.visualization.PieChart(document.getElementById('donutchart');
图表绘制(数据、选项);
});

php正在返回一个json对象(
{}

谷歌图表需要一个数组(
[]

只是需要转换

  var frequency = {"female":74,"others":2,"na":63,"male":59};
  var chartData = [];
  Object.keys(frequency).forEach(function (name) {
    chartData.push([name, frequency[name]]);
  });
创建google数据表时,
我们需要将
true
作为第二个参数传递给
arrayToDataTable

这表示数组中的第一行是数据,而不是列标题

  var data = google.visualization.arrayToDataTable(chartData, true);
请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
//无功频率=
变异频率={“女性”:74,“其他人”:2,“na”:63,“男性”:59};
var chartData=[];
Object.keys(频率).forEach(函数(名称){
chartData.push([name,frequency[name]]);
});
var data=google.visualization.arrayToDataTable(chartData,true);
变量选项={
标题:“我的日常活动”,
pieHole:0.4,
};
var chart=new google.visualization.PieChart(document.getElementById('donutchart');
图表绘制(数据、选项);
});