создавать оси d3.js без нумерации

17

Есть ли способ создать ось 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");
    
задан Apollo 27.07.2012 в 18:02
источник

1 ответ

42

Самый простой способ скрыть метки ярлыков - через CSS:

.axis text { display: none; }

В качестве альтернативы вы можете использовать пустую строку в качестве формата тика:

axis.tickFormat("");

Или вы можете использовать post-selection для удаления текстовых элементов после создания оси:

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

Конечно, я предпочитаю CSS, поскольку он является наиболее декларативным. Пример здесь:

ответ дан mbostock 27.07.2012 в 18:43
источник
  • , как всегда, отличный лайнер от mbostock! –  Apollo 27.07.2012 в 18:58
  • есть ли способ вставить css в элемент d3.js? Я использую canvg, и он лишает все мои CSS, которые встроены в html ... –  Apollo 27.07.2012 в 19:09
  • stackoverflow.com/questions/11694038/... –  Apollo 27.07.2012 в 20:59