2012-07-27 38 views
17

Có cách nào để tạo trục d3.js mà không có bất kỳ loại đánh số nào không? Đánh dấu là ok nhưng không có số nào cả. Hiện tại tôi đang tạo trục d3.js bằng mã bên dưới. Cảm ơn trước.tạo trục d3.js mà không đánh số

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

Trả lời

42

Cách đơn giản nhất để ẩn nhãn đánh dấu là thông qua CSS:

.axis text { display: none; } 

Ngoài ra, bạn có thể sử dụng chuỗi rỗng như là định dạng đánh dấu:

axis.tickFormat(""); 

Hoặc, bạn có thể sử dụng sau khi lựa chọn để xóa các phần tử văn bản sau khi tạo trục:

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

Tất nhiên, tôi thích CSS vì nó là khai báo nhiều nhất. Ví dụ ở đây:

+2

như mọi khi, một lót lớn từ mbostock! – Apollo

+1

có cách nào để nhúng css vào phần tử d3.js không? Tôi đang sử dụng canvg và nó tước tất cả css của tôi đó là nội tuyến trong html ... – Apollo

+0

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