2012-07-26 73 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