2015-12-02 33 views
0

根據因子列,是否可以使用繪製幾行?我會解釋。我旁邊的CSV文件:Amcharts:如何使用帶有因素的csv文件?

year,lessThanWorkingAge,withinWorkingAge,moreThanWorkingAge,sex 
2004,203,4928,32143,female 
2005,195,4728,32005,female 
2006,155,4211,31578,female 
2007,150,3997,30526,female 
2008,151,3800,30930,female 
2009,180,3544,30614,female 
2010,194,3411,31236,female 
2011,171,3294,29193,female 
2012,181,3243,29913,female 
2013,187,2992,29505,female 
2004,298,17634,19317,male 
2005,252,17070,19120,male 
2006,223,15264,18594,male 
2007,179,14023,18591,male 
2008,206,13153,18469,male 
2009,230,11998,18341,male 
2010,238,11449,18867,male 
2011,221,11043,17810,male 
2012,242,10485,17961,male 
2013,232,9879,17509,male 

怎樣繪製兩條線爲femalemale usnig sex列因素,如year x軸類別和lessThanWorkingAge爲y軸的值?

回答

0

通常情況下,amCharts不支持這樣的數據。

但是,如果您使用Data Loader將CSV數據加載到圖表,則可以使用其postProcess處理程序自動重新格式化數據,以便將相同類別的值合併到同一數據點中,因此它可以工作。

事情是這樣的:

"dataLoader": { 
    "url": "data.csv", 
    "format": "csv", 
    "useColumnNames": true, 
    "postProcess": function(data) { 
    var tmp = {}; 
    var newData = []; 
    for (var i = 0; i < data.length; i++) { 
     var row = data[i]; 
     if (tmp[row.year] === undefined) 
     tmp[row.year] = { 
      "year": row.year 
     }; 
     tmp[row.year][row.sex] = row.lessThanWorkingAge; 
    } 
    for (var x in tmp) { 
     if (tmp.hasOwnProperty(x)) 
     newData.push(tmp[x]); 
    } 
    return newData; 
    } 
} 

下面是使用加載數據加載數據圖表的working example

相關問題