2014-07-04 25 views
6

Ich habe verzweifelt versucht, die Beschriftungstextfarbe auf den Charts zu ändern, die ich mit nvd3.js zeichne - sie sind in schwarz gezeichnet, aber ich brauche sie weiß wegen der Farbe der Seite sind sie enthalten.NVD3 Beschriftung ändern Textfarbe

Ich benutze nvd3.js Version 1.1.15BETA mit d3.js Version 3.3.13, integriert in meine AngularJS App über die angularjs-nvd3-Direktiven Version 0.0.7.

Hat jemand irgendwelche Vorschläge, was zu tun ist, um dies zu erreichen?

Danke.

Antwort

13

Ändern der Textfarbe in Ihrem Diagramm, versuchen Sie dies:

svg text { 
    fill: white; 
} 

Um die Farbe des Labels in der Tabelle pie zu ändern

.nvd3.nv-pie .nv-slice text { 
    fill: white !important; 
} 

Hier ist ein working fiddle.

Hoffe, es hilft

+0

Das ist ein guter Start ist - es ändert sich die Textfarbe der Legende Etiketten. Die Beschriftungen "innerhalb" des Diagramms sind jedoch immer noch schwarz - die Überprüfung zeigt, dass sie einen Inline-Stil mit "fill = rgb (0,0,0)" haben :( – nover

+0

Was meinen Sie mit ** Labels "innerhalb" der chart. ** Könnten Sie ein bisschen genauer sein. Beziehen Sie sich auf die Tooltips? Welche Tabelle verwenden Sie? – shabeer90

+0

Es ist ein Kreisdiagramm, und es ist die "Wert Etiketten" oder wie auch immer sie heißen - screenshot: http: //drops.isharp.dk/mwRE/cHADC8Tm – nover

1

Hoffe, es hilft:

in Ihrem Controller:

$scope.callbackFunction = function(){ 
    return function(){ 
      d3.selectAll('.nv-pieLabels text').style('fill', "white"); 
    } 
} 

in Ihrem HTML (die einzige wichtige Sache ist, Rückruf = callback()):

<nvd3-pie-chart 
data="exampleData" 
id="exampleId" 
color="colorFunction()" 
width="1100" 
height="700" 
x="xFunction()" 
y="yFunction()" 
rotateLabels="120" 
showLabels="true" 
callback="callbackFunction()"> 
<svg></svg> 
</nvd3-pie-chart> 

Credits:

https://github.com/cmaurer/angularjs-nvd3-directives/blob/master/examples/nvd3.callback.html & https://github.com/krispo/angular-nvd3/issues/8

Verwandte Themen