2

是否可以创建 d3.js 轴并且没有刻度线和编号方案?基本上,我可以让轴不可见吗?我正在使用下面的代码来创建我的轴:

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

1 回答 1

2

如果您不希望您的轴可见,请不要绘制它们(基本上注释掉此代码)。

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

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

这将是操纵它们以“打开”和“关闭”它们的最简单方法。此外,如果您需要弄清楚如何为d3图表设置样式,您可以在 SVG 中导航,就像使用 html 和 CSS 样式一样。

例如,这里是axis.

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

您可以看到我以元素 ( line) 为目标,但您也可以以 ( .tick) 为目标。

于 2012-07-26T21:40:57.437 回答