2015-01-06 3 views
0

버튼을 클릭 할 때 표시되는 선/링크와 동일한 색상으로 마커를 표시하고 싶습니다.어떻게 마커 (화살표 헤드)의 색상을 변경합니까?

var arrows = inner.append("defs").selectAll("marker") 
     .data(data) 
     .enter().append("marker") 
      .attr("id", "arrow") // changed to - .attr("id", function(d){ return 'arrow' + d.name}) 
      .attr("viewBox", "0 -5 10 10") 
      .attr("refX", 20) 
      .attr("refY", 0) 
      .attr("markerWidth", 10) //size of arrow head 
      .attr("markerHeight", 10) 
      .attr("orient", "auto") 
      .style("stroke-width", lineWidth) 
      .append("path") 
      .attr("d", "M0,-5L10,0L0,5 L10,0 L0, -5") 
      .style("stroke", "steelblue"); 

내가 링크에 화살표를 추가합니다 :

var links = inner.selectAll("line.link") 
      .style("stroke", function(d) { return color(d.name); }); 
: 지금은 버튼을 한
var links = svg.selectAll(".link").append("g") 
.style("marker-end", "url(#arrow)") //-changed to - .style("marker-end", function(d,i){ return 'url(#arrow' + d.name+ ')' }) 

은 링크의 색상을 변경할 수

여기 화살표 만들기

마커로 처리하려고했으나 작동하지 않는 것 같습니다.

var arrows = inner.selectAll("#arrow") 
      .style("stroke", function(d) { return color(d.name); }); 

나는 마커에서 동일한 데이터를 사용하고 있는데 원래의 문제라고 생각했지만 필자는 벽에 닿았 고이를 수행하는 방법을 모른다. 여기

내가에서 작업을 시도했지만 여전히 캔트 나의

작업받을 것으로 보인다되는 작동하는 예이다 " http://bl.ocks.org/dustinlarimer/5888271는"

+0

더 나은 데 도움이 될 데모를 제공해 주시겠습니까? – indubitablee

+0

죄송합니다. 전체 문서를 아직 제공 할 수 없으며 추가 할 특정 항목이 있습니까? @GraceLee – rekoDolph

+0

은 단지 약간의 데모 (전체 문서가 아니라 문제를 재현하는 스 니펫과 같이)를 찾고있었습니다. 개체를 보지 않고 CSS를 사용하여 문제를 파악하는 것은 어렵습니다. 특히 i (및 나머지는 우리 중 일부)가 d3.js에서 작업 했으므로 어렵습니다. 그러나 솔루션이 d3.js의 종속성 밖에 있으면 아마도 도움이 – indubitablee

답변

2

개별적으로 대응하기 위해 동일한 마커의 색상을 변경할 수 없습니다 즉석에서 선의 색상. 이를 수행하는 유일한 방법은 원하는 색에 해당하는 ID 또는 클래스를 사용하여 def에서 다르게 색칠 된 별도의 마커를 만든 다음 해당 CSS 선택기를 사용하는 것입니다.

링크 된 예제에서 마커는 색상과 모양으로 정의되며 해당 줄에서 개별적으로 참조됩니다.

+0

은 문자 그대로 방금 읽은 후 그걸 알아 냈습니다 - https://groups.google.com/forum/#!topic/d3-js/08uROmH28HA. 도움을 주셔서 감사합니다 – rekoDolph

+0

내가 그것을 이해할 때까지 나 밖으로 지옥을 좌절. 실제로 나에게 의미가 없지만 SVG 마커가 정의 된 방법입니다. – Elijah

+0

하하 atleast 나는 유일한 사람이 아니야. 또 다른 질문은, 당신이 이것을 보거나 답을 아는지 모르겠다. 질문에서 나는 단추를 클릭하고 링크 + 마커는 색을 바꾸려고한다. selectAll (Markers)을 어떻게 다르게 색칠 할 수 있습니까? 나 자신이 업데이트 한 것을 보여주기 위해 원래 질문을 업데이트하십시오. @elijah – rekoDolph

관련 문제