Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 api饼图字符_Javascript_Jquery_Html_Web Applications_Google Visualization - Fatal编程技术网

Javascript 从复杂数组和对象生成google api饼图字符

Javascript 从复杂数组和对象生成google api饼图字符,javascript,jquery,html,web-applications,google-visualization,Javascript,Jquery,Html,Web Applications,Google Visualization,我想用我的数据创建一个google pie()聊天室。{code>{amt:“500”,“tag:“travel”,“date:“2015-11-23”},{amt:“3750”,“tag:“rent”,“date:“2015-11-23”},{amt:“500”,“tag:“rent”,“date:“2015-11-23”},{amt:“500”,“tag:“food”,“date:“date:“2015-11-23”},{{“金额”:“30”,“标签”:“饮料”,“日期”:“2015-11-

我想用我的数据创建一个google pie()聊天室。{code>{amt:“500”,“tag:“travel”,“date:“2015-11-23”},{amt:“3750”,“tag:“rent”,“date:“2015-11-23”},{amt:“500”,“tag:“rent”,“date:“2015-11-23”},{amt:“500”,“tag:“food”,“date:“date:“2015-11-23”},{{“金额”:“30”,“标签”:“饮料”,“日期”:“2015-11-23”}]

我必须根据
标记对数据进行分组
,以便为特定的
标记

我在写这样的东西:

function genPiechart() { // generate piechart
  if (localStorage.expArr) {
    var expArr = JSON.parse(localStorage.getItem("expArr")),
      tagObj = {},
      i = expArr.length;
    while (i--) {
      var sHash = expArr[i].tag.toString();
      if (typeof(tagObj[sHash]) == "undefined")
        tagObj[sHash] = [];
      tagObj[sHash].push(expArr[i].amt);
    }

var amtArrArr = Object.keys(tagObj).map(function (key) {return tagObj[key]});


  }
}
但这将变得更加复杂

因此,请在这方面帮助我。

试试这个:

var myData='[{“amt”:“500”,“tag”:“旅行”,“日期”:“2015-11-23”},{“amt”:“3750”,“tag”:“租金”,“日期”:“2015-11-23”},{“amt”:“500”,“tag”:“食品”,“日期”:“2015-11-23”},{“amt”:“租金”,“日期”:“2015-11-23”},{“食品”,“日期”:“2015-11-23”},{“amt”:“日期”:“租金”,“日期”:“2015-11-23”{“饮料”,“tag2015-11-23"}]';
var myObj=generateTmpObj(JSON.parse(myData));
变量tmpArray=[['Tag','Amount']];
tmpArray=为数据表(myObj)生成数组;
setOnLoadCallback(drawChart(tmpArray));
函数生成器MPOBJ(数据){
var tmpObj={};
对于(变量i=0;i
var myData = '[{"amt":"500","tag":"travel","date":"2015-11-23"},{"amt":"3750","tag":"rent","date":"2015-11-23"},{"amt":"500","tag":"food","date":"2015-11-23"},{"amt":"500","tag":"rent","date":"2015-11-23"},{"amt":"500","tag":"food","date":"2015-11-23"},{"amt":"3750","tag":"rent","date":"2015-11-23"},{"amt":"30","tag":"drinks","date":"2015-11-23"}]';

var myObj = generateTmpObj(JSON.parse(myData));

var tmpArray = [['Tag', 'Amount']];
    tmpArray = generate_array_for_DataTable(myObj);

google.setOnLoadCallback(drawChart(tmpArray));

function generateTmpObj(data) {
    var tmpObj = {};
    for(var i = 0; i < data.length; i++) {
       if (tmpObj[data[i].tag]) {
           tmpObj[data[i].tag] += parseInt(data[i].amt);
       } else {
           tmpObj[data[i].tag] = parseInt(data[i].amt);
       }
    }
    return tmpObj;
 }

 function generate_array_for_DataTable(data) {
    for (var prop in data) {
        tmpArray.push([prop, data[prop]]); 
    }
    return tmpArray;
 }

function drawChart(data) {
    var data = google.visualization.arrayToDataTable(data);

    var options = {
      title: 'My Pie Chart'
    };

    var chart = new google.visualization.PieChart(document.getElementById('piechart'));

    chart.draw(data, options);
  }