19

有没有办法在没有任何编号的情况下创建 d3.js 轴?刻度线还可以,但根本没有数字。目前我正在使用下面的代码创建我的 d3.js 轴。提前致谢。

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

1 回答 1

45

隐藏刻度标签的最简单方法是通过 CSS:

.axis text { display: none; }

或者,您可以使用空字符串作为刻度格式:

axis.tickFormat("");

或者,您可以在创建轴后使用后选择删除文本元素:

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

当然,我更喜欢 CSS,因为它是最具声明性的。这里的例子:

于 2012-07-27T16:43:17.977 回答