저는 d3.js를 처음 사용했기 때문에 X 축 선이 맨 위와 아래에 있지 않은 이유를 아직 이해할 수 없습니다. (이미지 벨소리를주십시오).d3.js에서 X 축 선을 위에서 아래로 변경하는 방법
var data = [];
var days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
for(var i = 0; i<7; i++){
data.push({"letter":i,"frequency":Math.random(), "day":days[i]})
}
var svg = d3.select("#graph1"),
margin = {top: 80, right: 20, bottom: 100, left: 100},
width = +svg.attr("width") - margin.left - margin.right,
height = +svg.attr("height") - margin.top - margin.bottom;
var x = d3.scaleLinear().rangeRound([0, width]),
y = d3.scaleBand().rangeRound([0, height]);
var g = svg.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
x.domain([0,1]);
y.domain(data.map(function(d) { return d.day; }));
g.append("g")
.attr("class", "axis axis--x")
.attr("transform", "translate(0," + height + ")")
.call(d3.axisBottom(x).ticks(5, "%"));
g.append("g")
.attr("class", "axis axis--y")
.call(d3.axisLeft(y))
.append("text")
.attr("transform", "rotate(-90)")
//.attr("y", 6)
//.attr("dy", "0.71em")
//.attr("text-anchor", "end");
//setup the tool
g.append("g")
.attr("class", "grid")
/*.attr("transform", "translate("+margin.left+"," + margin.top + ")")*/
.call(d3.axisBottom(x)
.ticks(5)
.tickSize(height)
.tickFormat("")
);
var thickness = 14;
g.selectAll(".bar")
.data(data)
.enter().append("rect")
.attr("class", "bar")
.attr("x", 0)
.attr("y", function(d) { return y(d.day) + thickness/2 ;})
.attr("width", function(d) { return x(d.frequency);})
.attr("height", thickness);
나는 격자가 맨 위에 선을 생성하고 있다고 생각하지 않습니다. 그는 코드에서 틱 길이가 '높이'인 그리드로만 x 축을 사용합니다. 그것은 그의 음모에서 볼 수있는 수직 그리드 요소만을 생성합니다. 축을 사용하는 것은 다소 해킹이지만 실제로는 그리드를 구현하는 아주 좋은 방법입니다. 왜냐하면 'd3.event.transform'을 사용하여 줌 및 팬 컨트롤을 쉽게 수정할 수 있으므로 확장 및 팬 컨트롤을 구현할 때 매우 쉽게 스케일을 조정하고 작업 할 수 있기 때문입니다 '. Mike Bostock조차도 정기적으로 그리드 그리기를 사용합니다. – HamsterHuey
방금 코드를 실행했고 격자 부분이 맨 위에 선을 작성합니다. 나는 Bostock이 그것을한다라고 확신한다. 축의 끝의 브래킷 모양의 경로는 실제 축 아래에 나타난다. .call (축)을 사용하면 4 개의 요소, 괄호 모양의 경로, 각 눈금에 대한 그룹, 선 눈금 및 각 눈금에 대한 텍스트가 작성됩니다. –
후속 작업을 수행하기 위해 첨부 된 이미지의 격자 선은 @Hangon이 제거하려고하는 선과 같은 회색을 가지고 있음을 알 수 있습니다. –