2013-04-30 4 views
1

Я использую D3.js для рисования оси с тиками. Я хотел бы скрыть только последний тик на оси y.D3.js: Скрыть последний тик на оси?

Возможно, изображение станет более четким. Это то, на что похожа моя ось на данный момент - я бы хотел, чтобы спрятал «21» и связанный с ним галочку.

enter image description here

Вот мой текущий код:

var yAxisScale = d3.svg.axis().orient("left"); 
    yAxisScale.scale(y_position); 
    yAxisScale.ticks(20).tickFormat(function(d) { return d+1; }); 
    var yAxis = vis.selectAll("g.y.axis").data([1]); 

Есть ли способ, что я могу скрыть только последний тик, независимо от того, сколько клещей там находятся на оси у?

Я попытался добавить эту строку, но она не работает, хотя выражение selectAll, похоже, возвращает правый элемент.

d3.select(d3.selectAll("g.y.axis g")[0].pop()).style('opacity', 1e-6); 

Непрозрачность до сих пор устанавливается в 1.

ответ

4

вы должны взглянуть на axis.tickSize(). он позволяет установить размер основных, второстепенных и конечных тиков.

также смотрите здесь подобный вопрос:

Remove end-ticks from D3.js axis

+0

Спасибо! Фактически я закончил установку значений явно с помощью 'tickValues ​​()', и это сделало трюк. – Richard

Смежные вопросы