2012-07-27 30 views
17

¿Hay alguna manera de crear un eje d3.js sin ningún tipo de numeración? Tickmarks está bien, pero no hay números en absoluto. Actualmente estoy creando mi eje d3.js con el siguiente código. Gracias por adelantado.crear ejes d3.js sin numerar

// 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"); 

Respuesta

42

La forma más sencilla de ocultar etiquetas señalizadoras es a través de CSS:

.axis text { display: none; } 

Como alternativa, puede utilizar la cadena vacía como el formato de señal:

axis.tickFormat(""); 

O bien, puede utilizar post-selección para eliminar los elementos de texto después de crear el eje:

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

Por supuesto, prefiero CSS porque es el más declarativo. Ejemplo aquí:

+2

como siempre, un gran un trazador de líneas de mbostock! – Apollo

+1

¿hay alguna manera de incrustar css en un elemento d3.js? Estoy usando canvg y está eliminando todo mi CSS que está en línea en html ... – Apollo

+0

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