2012-07-27 9 views
17

C'è un modo per creare un asse d3.js senza alcun tipo di numerazione? I segni di spunta sono ok ma solo nessun numero. Attualmente sto creando il mio asse d3.js con il codice qui sotto. Grazie in anticipo.crea gli assi d3.js senza numerazione

// create Axis 
    svg.selectAll("axis") 
     .data(d3.range(angle.domain()[1])) 
    .enter().append("g") 
     .attr("class", "axis") 
     .attr("transform", function(d) { return "rotate(" + angle(d) * 180/Math.PI + ")"; }) 
    .call(d3.svg.axis() 
     .scale(radius.copy().range([0,0])) 
     .ticks(1) 
     .orient("left")) 
    .append("text") 
    .style("color", "white") 
     .attr("y", 
     function (d) { 
      if (window.innerWidth < 455){ 
      console.log("innerWidth less than 455: ",window.innerWidth); 
      return -(0); 
      } 
      else{ 
      console.log("innerWidth greater than 455: ",window.innerWidth); 
      return -(0); 
      } 
     }) 
     .attr("dy", "0em"); 

risposta

42

Il modo più semplice per nascondere etichette delle tacche è tramite CSS:

.axis text { display: none; } 

In alternativa, è possibile utilizzare la stringa vuota come il formato di zecca:

axis.tickFormat(""); 

Oppure, si potrebbe utilizzare post-selezione per rimuovere gli elementi di testo dopo aver creato l'asse:

selection.call(axis).selectAll("text").remove(); 

Ovviamente preferisco i CSS perché è il più dichiarativo. Esempio qui:

+2

come sempre, un grande uno di linea da mbostock! – Apollo

+1

c'è un modo per incorporare css in un elemento d3.js? Sto usando canvg e sta eliminando tutto il mio css che è in linea in html ... – Apollo

+0

http://stackoverflow.com/questions/11694038/setting-css-of-axis-in-d3-js – Apollo