2015-09-08 7 views
0

Я играю с различными типами диаграмм D3, и для этого конкретного примера я не могу заставить линии сетки отображаться. Я сравнил его с похожим примером, где есть строки, но я все еще не могу понять. Здесь есть jsfiddle того, что у меня есть на данный момент.Сетки сетки, не отображаемые в гистограмме D3

Я в основном заинтересован в горизонтальных линиях сетки так вот код, когда я добавляю ось у:

var gy = svg.append('g') 
    .attr('class', 'y axis') 
    .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')') 
    .call(yAxis); 

gy.selectAll('g').filter(function(d) { 
    return d; 
}) 
.classed('minor', true); 

ответ

0

Вы можете использовать размер клеща, чтобы установить размер горизонтальных линий сетки , Ширина должна быть такой же, как ваша ось x * -1:

var yAxis = d3.svg.axis() 
    .scale(yScale) 
    .tickFormat(formatNumber) 
    .tickSize(-width) 
    .ticks(3) 
    .orient('left'); 
+0

Это сработало отлично! Можете ли вы объяснить, почему ширина должна быть шириной x-осей * -1? – ddoria

+0

Так что я не уверен на 100%, но считаю, что тики по умолчанию начинаются с у и идут влево. Поэтому, чтобы заставить их идти вправо, вам нужно отправить их в отрицательное x координатное пространство тиков. Извините, если я не объяснил это хорошо :) –

+0

Не беспокойтесь. Это действительно имеет смысл, если это так работает за кулисами. Еще раз спасибо! – ddoria

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