Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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/1/php/293.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 如何从CSV文件制作气泡图?_Javascript_Php_Csv_Google Visualization_Bubble Chart - Fatal编程技术网

Javascript 如何从CSV文件制作气泡图?

Javascript 如何从CSV文件制作气泡图?,javascript,php,csv,google-visualization,bubble-chart,Javascript,Php,Csv,Google Visualization,Bubble Chart,因此,我有以下文件,data.csv。看起来是这样的: TestID,Cronbach,Percent Correct,Population 12416,0.866,0.17,26 12421,0.945,0.21,8 12385,0.777,0.40,258 12412,0.85,0.44,34 12407,0.831,0.45,48 [ ["Test ID", "Cronbach", "Percent Correct", "Population"], ["12416", 0.866, 0.

因此,我有以下文件,
data.csv
。看起来是这样的:

TestID,Cronbach,Percent Correct,Population
12416,0.866,0.17,26
12421,0.945,0.21,8
12385,0.777,0.40,258
12412,0.85,0.44,34
12407,0.831,0.45,48
[
["Test ID", "Cronbach", "Percent Correct", "Population"],
["12416", 0.866, 0.17, 26],
["12421", 0.945, 0.21, 8],
["12385", 0.777, 0.40, 258],
["12412", 0.85, 0.44, 34],
["12407", 0.831, 0.45, 48]
]
我希望它看起来像这样:

TestID,Cronbach,Percent Correct,Population
12416,0.866,0.17,26
12421,0.945,0.21,8
12385,0.777,0.40,258
12412,0.85,0.44,34
12407,0.831,0.45,48
[
["Test ID", "Cronbach", "Percent Correct", "Population"],
["12416", 0.866, 0.17, 26],
["12421", 0.945, 0.21, 8],
["12385", 0.777, 0.40, 258],
["12412", 0.85, 0.44, 34],
["12407", 0.831, 0.45, 48]
]
有没有一种方法我可以用php制作一个转换代码,将我的CSV文件转换成上面的格式。我需要这个,因为我想把代码放到


Q:我该如何编写代码,将其转换为可接受的格式,以适合谷歌气泡图?

以下示例演示如何解析csv文件内容:

function prepareChartData(data) {
    var items = [];
    var lines = data.split(/\r\n|\n/);

    lines.forEach(function(line,i){
         if(line.length > 0){
             var item =  line.split(','); 
             if(i > 0){
                 item[1] = parseFloat(item[1]);
                 item[2] = parseFloat(item[2]);
                 item[3] = parseInt(item[3]);   
             }
             items.push(item);
         }
    });
    return items;
}
结果

[
  [
    "TestID",
    "Cronbach",
    "Percent Correct",
    "Population"
  ],
  [
    "12416",
    0.866,
    0.17,
    26
  ],
  [
    "12421",
    0.945,
    0.21,
    8
  ],
  [
    "12385",
    0.777,
    0.4,
    258
  ],
  [
    "12412",
    0.85,
    0.44,
    34
  ],
  [
    "12407",
    0.831,
    0.45,
    48
  ]
]
完整示例

google.load("visualization", "1", { packages: ["corechart"] });
google.setOnLoadCallback(function(){
    readChartData()
    .then(prepareChartData)
    .done(drawChart);
});

function drawChart(items) {

    var data = google.visualization.arrayToDataTable(items);
    var options = {
        title: 'Chart'
    };
    var chart = new google.visualization.BubbleChart(document.getElementById('chart_div'));
    chart.draw(data, options);
}


function readChartData(complete)
{
    return $.ajax({
        type: "GET",
        url: "data.csv",
        dataType: "text"
    });  
}


function prepareChartData(data) {
    var items = [];
    var lines = data.split(/\r\n|\n/);

    lines.forEach(function(line,i){
         if(line.length > 0){
             var item =  line.split(','); 
             if(i > 0){
                 item[1] = parseFloat(item[1]);
                 item[2] = parseFloat(item[2]);
                 item[3] = parseInt(item[3]);   
             }
             items.push(item);
         }
    });
    return items;
}

非常感谢你!我非常感激。这是两天前回复的,帖子被关闭,而不是被编辑。甚至还提供了一个功能齐全的演示。