2012-06-06 1 views
17

Sono nuovo di D3 e ho appena fatto una breve domanda sulle etichette di graduazione nei grafici a linee realizzati con D3. Sto usando d3.svg.axis.scale(). TickSize(). TickSubdivide() per generare i miei segni di spunta.Nascondere le etichette di spunta in D3 nel grafico a linee

C'è un modo per nasconderli o modificarne il valore? Ad esempio, ho un grafico a linee in cui le etichette delle tacche sono gli intervalli (1, 2, 3, ecc.) E mi piacerebbe cambiarle in stringhe come ('Jan', 'Feb', 'Mar', 'Apr ', eccetera). È possibile?

Grazie!

risposta

7

Sì, è possibile generare diversi formati per i tick. Potete trovare alcuni dettagli qui: https://github.com/mbostock/d3/wiki/SVG-Axes#wiki-tickFormat. Sfortunatamente non tutti i formati sono attualmente documentati, quindi potresti voler dare un'occhiata al codice d3 per quel metodo. Se si dispone sia asseX e asseY si può fare qualcosa di simile:

myGraph.yAxis.tickFormat(d3.format(',.2%')); 

Anche dare un'occhiata alla libreria di grafici di Bob Monteverde: https://github.com/novus/nvd3 (in particolare nella cartella fonti, ai componenti degli assi), se si vuole vedere un sacco di trucchi relativi ai componenti degli assi e alla formattazione degli assi.

Se invece non si desidera visualizzare i segni di spunta, quindi penso che è possibile creare un componente asse senza zecche (non ho provato questo, difficile), ma non vedo il punto nel farlo quando hai i formattatori personalizzati e puoi fare praticamente tutto ciò che vuoi con i tick.

Cordiali saluti!

22

È possibile nascondere il formato tick in questo modo:

myGraph.yAxis.tickFormat(function (d) { return ''; }); 
+3

'.tickFormat ('')' funziona pure al momento. – jibiel

+0

Ma '.tickFormat ('')' dà errori quando il mouse passa sopra il grafico – Dinesh

+0

Per d3 v4 puoi fare qualcosa di simile: 'd3.axisBottom (xScale) .tickFormat ((d) => '') .tickSize (0) ' –