2017-03-27 5 views
1

간단한 작업을 수행하는 데 어려움을 겪고 있습니다. DC js 차트에 XY 분산 형 플롯을 표시해야합니다. 그러나 동일한 XY 값을 가진 여러 점이있을 수 있습니다. 이 경우 반복 횟수를 입력으로받는 함수에 따라 XY 점의 색이 변해야합니다.dc.js 점을 기반으로하는 점 색상의 분산 형 차트

예 :

X - Y

1-9

1-9

1-9

1-4

2-10

3-5

1-4

포인트 1-9 3 번 나타납니다 ... 레드 컬러

은 이런 식으로 뭔가를 구현 할 수 있습니까?

답변

1

확실히 값을 기준으로 색상을 지정하려면 colorAccessor을 사용하십시오. 기본적으로 계열에 따라 색이 지정됩니다.

또한 색상 매핑 값을 제어 할 수 있도록 색 눈금을 지정할 수도 있습니다. 아래에서 0-4를 노란색, 파란색, 자주색, 빨간색, 주황색으로 매핑합니다.

scatterPlot 
    .colorAccessor(function(kv) { return kv.value; }) 
    .colors(d3.scale.ordinal().domain(d3.range(5)).range(['yellow', 'blue', 'purple', 'red', 'orange'])) 
+0

그냥 ... kv.value는 XY 포인트가 나타나는 횟수입니다. 맞습니까? 차트를 그리기 전에 계산할 필요가 없습니다. – guilhermecgs

+1

맞습니다. 기본적으로 crossfilter는 [count by reduce] (https://github.com/crossfilter/crossfilter/wiki/API-Reference#group_reduceCount)이며 x 및 y 좌표를 키로 사용하기 때문에 각 위치에서 점수의 수를 계산합니다. – Gordon

+0

도서관을 개발 한 사람으로부터 답변을 얻는 것이 항상 좋은 :-) – guilhermecgs