2012-07-27 17 views
17

Czy istnieje sposób na stworzenie osi d3.js bez jakiejkolwiek numeracji? Znaczniki są w porządku, ale po prostu żadnych liczb. Obecnie tworzę swoją oś d3.js za pomocą poniższego kodu. Z góry dziękuję.tworzenie osi d3.js bez numerowania

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

Odpowiedz

42

Najprostszym sposobem, aby ukryć etykiety kleszcza poprzez CSS:

.axis text { display: none; } 

Alternatywnie, można użyć pusty łańcuch jako format kleszcza:

axis.tickFormat(""); 

Albo można użyć zaznaczenie końcowe w celu usunięcia elementów tekstowych po utworzeniu osi:

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

Oczywiście preferuję CSS, ponieważ jest najbardziej deklaratywny. Przykład tutaj:

+2

jak zawsze świetny liner z mbostock! – Apollo

+1

jest sposób na osadzenie css w elemencie d3.js? Używam canvg i to jest usuwanie wszystkich moich css, które są wstawiane w html ... – Apollo

+0

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