2016-03-27 16 views
0

Ich bin auf der Suche nach der Herstellung der Linkfarbe wie Knotenfarbe in d3 sankey Charts.d3.js sankey link Farbe

ich folgende Funktion bin mit dem Knoten Farbe

function getNodeColor(d){ 
      console.log(d3.rgb(d.color).darker(2)); 
      return d3.rgb(d.color).darker(2); 
} 

Im Anschluss an mein Code bekommen für die Malerei die Textfarbe der Links

// add in the title for the nodes 
    node.append("text") 
     .attr("x", -6) 
     .attr("y", function(d) { return d.dy/2; }) 
     .attr("dy", ".35em") 
     .attr("text-anchor", "end") 
     .attr("transform", null) 
     .text(function(d) { return d.name; }) 
     .filter(function(d) { return d.x < width/2; }) 
     .attr("x", 6 + sankey.nodeWidth()) 
     .attr("text-anchor", "start") 
     .style("stroke", getNodeColor); 

Above arbeitet völlig in Ordnung, und der Text wird der Knoten Text mit der Knotenfarbe. Same ist nicht wahr, wenn ich versuche, durch gleiche Art und Weise den Hub Wert in Link-Definition zu ändern:

var link = svg.append("g").selectAll(".link") 
     .data(graph.links) 
     .enter().append("path") 
     .attr("class", "link") 
     .attr("d", path) 
     .style("stroke-width", function(d) { return Math.max(1, d.dy); }) 
     .style("stroke", getNodeColor) 
     .sort(function(a, b) { return b.dy - a.dy; }); 

Ich bin neu in d3 sankey und folgen http://bl.ocks.org/d3noob/c9b90689c1438f57d649

Hilfe geschätzt ...

Bottom : Ich bin auf der Suche nach der Verknüpfung/Akkord Farben von Sankey-Diagramm gleichen wie die der richtigen Füllfarbe ...

Antwort

2

Sie können den folgenden Code verwenden, um die Farbe des Quellknotens für die Links in Ihrem Diagramm zu verwenden. Sie können auch target.color verwenden, wenn Sie die Farbe des Zielknotens bevorzugen.

Dieser Code müsste nach dem Code platziert werden, der die Knotenfarben festlegt.

+1

geschafft, den Gradienten mit Hilfe von http://jsfiddle.net/CeAZQ/3/ zu erreichen, danke! – Arun