2012-07-26 68 views
2

是否有可能创建一个d3.js轴,并有有没有刻度标记和没有编号方案?基本上,我可以使轴不可见吗?我使用下面的代码创建我的轴:d3.js轴 - 使它有0蜱和没有标记

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"); 
+1

也可以在定义轴时使用.ticks(0),至少使用d3的v3。 – PhoebeB 2013-01-25 21:42:48

回答

3

如果你不想让你的轴是可见的,只是不吸引他们(基本上注释掉的代码)。

如果你真的只是想将它们白色的,你可以使用下面的类:

.axis line, .axis text, .axis path { 
    color: white; 
} 

这将是最简单的方法来处理他们把他们“开”和“关”。另外,如果您需要弄清楚如何设计一个d3图表,您可以像浏览HTML一样浏览SVG,也可以用CSS以相同的样式进行浏览。

例如,以下是axis中的刻度标记的SVG。

<line class="tick" y2="6" x2="0"></line> 

你可以看到,我的目标元素(line),但你也可以针对(.tick),以及。

+1

我知道有人会这样说。我应该补充说我需要动态绘制坐标轴。有时我希望他们在那里,其他时间我不想。有没有办法让轴的颜色和它们的各种附件(滴答/文本)变成白色或清晰的颜色?谢谢 – Apollo 2012-07-26 21:57:19

+0

更新了我的答案。 – Bill 2012-07-26 22:59:29

+0

谢谢比尔。我很感激 – Apollo 2012-07-26 23:11:30