5

在 d3.js 中有没有要做 .axis path { fill : none } 的事情?

我在 .call(d3.svg.axis() 上尝试了 .attr 和 .style 但无济于事。我只是在这里做错了什么......

我用来创建轴的完整代码如下:

 // 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)
      .tickFormat("")
      .orient("left"))
      .attr("fill","none") // EDITED WITH FILL NONE
    .append("text") 
      .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

9

当我想将 CSS 设置应用于 d3 元素时,我发现最简单的方法是为它们分配一个 ID 或类(您在上面所做的),然后使用 CSS 应用所需的属性。比如保持上面的JS,然后在css中做:

.axis path {

    fill:           none;
}

如果你想在 JS 中做,你应该使用:

.style('fill', 'none')

但是,您应该将其应用于包含轴的 svg,而不是在 .call(d3.svg.axis()) 内。希望这可以帮助。

于 2012-07-30T12:51:14.583 回答