Mam pionowy wykres słupkowy pogrupowany parami. Próbowałem się bawić, jak przekręcić w poziomie. W moim przypadku słowa kluczowe pojawią się na osi Y, a skala pojawi się na osi X.D3js - zmiana pionowego wykresu słupkowego na poziomy Wykres słupkowy
Próbowałem przełączać różne zmienne x/y, ale to oczywiście tylko produkowane funky wyniki. Na których obszarach mojego kodu muszę się skupić, aby przełączyć je z pionowych na poziome?
var xScale = d3.scale.ordinal()
.domain(d3.range(dataset.length))
.rangeRoundBands([0, w], 0.05);
// ternary operator to determine if global or local has a larger scale
var yScale = d3.scale.linear()
.domain([0, d3.max(dataset, function (d) {
return (d.local > d.global) ? d.local : d.global;
})])
.range([h, 0]);
var xAxis = d3.svg.axis()
.scale(xScale)
.tickFormat(function (d) {
return dataset[d].keyword;
})
.orient("bottom");
var yAxis = d3.svg.axis()
.scale(yScale)
.orient("left")
.ticks(5);
var commaFormat = d3.format(',');
//SVG element
var svg = d3.select("#searchVolume")
.append("svg")
.attr("width", w + margin.left + margin.right)
.attr("height", h + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
// Graph Bars
var sets = svg.selectAll(".set")
.data(dataset)
.enter()
.append("g")
.attr("class", "set")
.attr("transform", function (d, i) {
return "translate(" + xScale(i) + ",0)";
});
sets.append("rect")
.attr("class", "local")
.attr("width", xScale.rangeBand()/2)
.attr("y", function (d) {
return yScale(d.local);
})
.attr("x", xScale.rangeBand()/2)
.attr("height", function (d) {
return h - yScale(d.local);
})
.attr("fill", colors[0][1])
;
sets.append("rect")
.attr("class", "global")
.attr("width", xScale.rangeBand()/2)
.attr("y", function (d) {
return yScale(d.global);
})
.attr("height", function (d) {
return h - yScale(d.global);
})
.attr("fill", colors[1][1])
;
sets.append("rect")
.attr("class", "global")
.attr("width", xScale.rangeBand()/2)
.attr("y", function (d) {
return yScale(d.global);
})
.attr("height", function (d) {
return h - yScale(d.global);
})
.attr("fill", colors[1][1])
;
Możesz również odnieść się do tego https: //gist.gitub.com/ChandrakantThakkarDigiCorp/9587e667a3fab912537de03717af84a2 Zawiera poziomy wykres słupkowy z podpowiedziami i legendą, również jest odpowiedzialny w telefonii komórkowej –