.json으로 데이터를 가져 와서 다양한 데이터 요소를 압축하고 .data() 전체 데이터 집합을 전달할 수 있습니다. 나는 다음 사항이 귀하의 필터에도 적용될 수 있다고 생각합니다. 나는 당신이 당신의 데이터를 가져 오는 것처럼 설명 할 것입니다. 바라건대 .data() 이과 관련된 데이터와 함께 d3에서 활용 될 수있는 방법에 대한 빛이 빛나기를 바랍니다. 그 우편
d3.json("data.json", function(data) {
// zip the two (or more) attributes of your data
data = d3.zip(data.property1, data.property2).map(function(d) {
property1 = +d[0];
property2 = +d[1];
// return object for each property
return {prop1: property1, prop2: property2};
});
}
을 그리고 .DATA는() 얻을 수 있습니다 :
.data(data)
당신을
data.json 예 :
{
"property1":[0, 0, 0, 0],
"property2":['name1', 'name2', 'name3', 'name4']
}
는 .json으로 데이터 가져 오기 한 번에 하나의 데이터 속성 만 호출 할 수 있습니다.
// histogram example
d3.layout.histogram()
.bins()
.value(function(d) { return d.attr1; })
(data)
.value
은 zip 속성을 하나만 반환하는 것을 알고 있습니까? 그러나 다른 속성은 여전히 연관되어 있습니다. 여러 속성을 가질 수도 있고, 계산을 수행하기 위해 몇 가지를 사용하고, 다른 모든 데이터 속성을 메타 데이터로 사용할 수도 있습니다. 왜냐하면 모두 작은 멋진 묶음으로 묶여 있기 때문입니다.
또 다른 옵션은 .data()에 하나의 배열/데이터를 전달하고 다른 배열에 인덱스를 사용하는 것입니다. 여기에 설명 된
두 옵션 : 여기에 이전의 상세한 예와
d3 array input line graph example
는 :
http://bl.ocks.org/patrickberkeley/9162034
나는이 개념은 당신이 후에 무엇을 생각합니다. 내가 틀렸다면 알려줘.
감사합니다. D3 컬렉션 필터와 크로스 필터를 함께 사용하는 것이 가장 좋지 않을 수도 있습니다. '깨끗한'버전 (예 : 두 필터 모두 교차 필터 사용)은 어떻습니까? –
사실 저는 여러분이 할 수있는 최선의 방법에 대해 최선을 다하고 있다고 생각합니다. 명백한 방법을 수행하기에 쉽고 효율적이기 때문에 crossfilter는 그런 종류의 필터링 (값을 줄인 것)에 신경 쓰지 않는다고 생각합니다. dc.js를 사용하는 경우 [가짜 그룹 패턴] (https://github.com/dc-js/dc.js/wiki/FAQ#filter-the-data-before-its-charted)을 사용할 수 있습니다.)를 사용하여 논리를 래핑하고 차트가 당길 때마다 호출되도록하십시오. – Gordon