2014-04-30 3 views
0

배열의 값이 서로 같으면 색상이 동일합니다. 나는 그것이 값이 동일한 경우에도 수행 할 작업을d3 값이 같을 때 색상이 복제되기 때문에 색상이 값이 아닌 다른 값으로 매핑됩니다.

http://jsfiddle.net/featherita/8SkG9/1/

그리고 이것은이다 : 예를 들면 다음과 같습니다 그것은 Y를 만드는 스택 줄에 무슨 일이 일어나고

http://jsfiddle.net/featherita/8SkG9/

축을 채우고 색 배열로 값을 채우므로 파이 차트에서 왼쪽으로 이동하십시오.

bottom과 top =을 서로 설정하면 둘 다 배열의 첫 번째 색상을 사용합니다.

"threshRange":[{ "bottom": 6, "middle": 4, "top": 7 }], 

SiteStatus.slice =의 첫 번째 값과 마지막 값을 서로 설정하면 동일한 색상으로 렌더링됩니다. 데이터가 자동으로 배달 할 때

"slice":[16,84] *** in the first node and "slice":[16,84] *** in the last node 

이 문제를 일으키는, 그래서 그들은 항상 빨간색, 노란색, 녹색 배열에 다음 색상에 걸릴이를 설정하는 더 좋은 방법이 있나요?

.style("fill", function (d, i, j) { return color(j); }); 

전체 데모 here :

+0

나는 당신이 의미하는 것을 이해하는지 잘 모르겠습니다. 당신의 예가 어떻게 달라 지길 원합니까? –

+0

동일한 값을 입력 할 수 있고 2 가지 다른 색을 사용할 수 있기를 바랍니다. "threshRange": [{ "bottom": 6, "middle": 4, "top": 6}] 여전히 녹색, 노란색, 빨간색으로 렌더링됩니다. 그게 도움이 되니? – featherz

+0

다음은 값이 동일 할 때 수행되는 작업의 예입니다. http://jsfiddle.net/featherita/8SkG9/1/ – featherz

답변

1

당신은 단순히 채우기를 결정하는 값 대신 (이 경우 부모의) 요소의 인덱스를 사용할 수 있습니다.

관련 문제