Hier ist mein Code:Wie kann ich die Achsen-Ticks der d3 an meine Daten anpassen?
<!doctype html>
<html>
<head>
<title>D3</title>
<script src="https://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<script>
var dataArray=[{"letter":"a", "value":20},
{"letter":"b", "value":40},
{"letter":"c", "value":50},
{"letter":"m", "value":60}];
console.log(dataArray)
var width=500;
var height=500;
var widthScale=d3.scale.linear()
.domain([0, 60])
.range([0, width]);
var heightScale=d3.scale.ordinal()
.domain(dataArray.map(function(d){ return d.letter }))
.range([0,height-125]);
var letterScale=d3.scale.linear()
.domain([0,26])
.range(["A","B","c","d"])
var color=d3.scale.linear()
.domain([0,60])
.range(["red", "blue"]);
var x_axis=d3.svg.axis()
.orient("bottom")
.ticks(12)
.scale(widthScale);
var y_axis=d3.svg.axis()
.orient("left")
.ticks(4)
.tickFormat(function (d) {return d})
.scale(heightScale);
var canvas=d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(25, 0)");
var bars=canvas.selectAll("rect")
.data(dataArray)
.enter()
.append("rect")
.attr("width", function(d) {return widthScale(d.value);})
.attr("height", 50)
.attr("fill", function(d) {return color(d.value)})
.attr("y", function(d, i) {return i*100});
// bars.append("text")
// .attr("x", function(d) {return widthScale(d)/2})
// .attr("y", function(d) {return -heightScale(d)})
// .style("stroke-width", 6)
// .style("text-anchor", "middle")
// .style("font-size", "34px")
// .style("fill", "black")
// .text(function(d) {return console.log(d);});
canvas.append("g")
.attr("transform", "translate(5, 375)")
.call(x_axis);
canvas.append("g")
.attr("transform", "translate(5,0)")
.call(y_axis)
</script>
</body>
</html>
Ich kann nicht herausfinden, wie die y-Achse erhalten tickt die Daten übereinstimmen und mit den Stäben in einer Reihe aufstellen? ODER wie Sie in dem auskommentierten Code sehen können, kämpfte ich, um den Text zu erscheinen. Der korrekte Text (die Zahlen) würde in den Elementen in den Entwicklungswerkzeugen erscheinen, aber nicht auf der Seite. Jede Hilfe würde sehr geschätzt werden.
Ich habe die obigen Änderungen vorgenommen, außer – joeblack24
Mit Ausnahme der Y-Achse wird jetzt extrem lange auf der Seite zurückgegeben – joeblack24