簡體   English   中英

如何從D3中的CSV中加載的CSV子集中一列

[英]How to subset a column from loaded in CSV in D3 javascript from

我們有一些data.csv

University,Total,Females,Males,Year,Type
PortSaid,13817,6679,7138,2012,Public
PortSaid,14790,7527,7263,2013,Public
PortSaid,17295,8509,8786,2010,Public
6OctoberUniversity,12507,4297,8210,2012,Private
6OctoberUniversity,14608,5360,9248,2013,Private

我們嘗試使用D3操縱數據,並加載數據:

var dataset;

d3.csv("universities_data.csv", function(data) {
    data.forEach(function(d) {
      d.Females = +d.Females;
      d.Males = +d.Males;
      d.Total = +d.Total;
      d.Year = +d.Year
    dataset = data;
    });
  });

我正在嘗試重新創建以下D3塊 ,這非常簡單。 唯一的區別是:我正在加載CSV數據,而不是示例代碼中的簡單一維數組。

在Chrome開發人員中運行它,您將在第60行到達無法讀取的屬性“長度”,未定義錯誤,我將數據綁定到pie()函數。

我的問題:

  • 我是否可以正確加載csv數據?
  • 如何將Total列作為子集,僅用作pie()函數中的值? 看來應該解決問題。

問題在於,當您嘗試在回調函數之外訪問數據集變量時,該數據集變量未定義。 請查看mbostock對另一個問題的回答,以了解原因。

在d3.csv方法的回調函數中添加用於創建表示形式的代碼。

要將總計列用作值,可以使用餅圖布局value方法,如下所示:

var pie = d3.layout.pie()
    .value(function(d) { return d.Total; })
    .padAngle(.02);

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM