我使用基本的d3 js线图。 x -axis的最小值和最大值类似于
min = 128000 and max = 447916.09
两个值都不会显示在x轴上。我如何让它们出现?这是我用来绘制轴线的代码。
var x = d3.scale.linear().domain([min, max]).range([0, width]);
var y = d3.scale.linear().domain([0, 25]).range([height, 0]);
var xAxis = d3.svg.axis().scale(x).orient("bottom");
var yAxis = d3.svg.axis().scale(y).tickValues([0, 5, 10, 15, 20, 25]).orient("left");
svg.append("g").attr("class", "x axis").attr("transform", "translate(0," + height + ")").call(xAxis).selectAll("text").style("text-anchor", "end").attr("dx", "-.8em").attr("dy", ".15em").attr("transform", "rotate(-90)");
答案 0 :(得分:0)
您无法看到x轴的原因是缺少在源代码中声明和初始化的宽度和高度变量。
var min = 500, max = 960;
var margin = {top: 20, right: 20, bottom: 30, left: 50},
width = max - margin.left - margin.right,
height = min - margin.top - margin.bottom;`var x = d3.scale.linear().domain([min, max]).range([0, width]);
var y = d3.scale.linear().domain([0, 25]).range([height, 0]);
var xAxis = d3.svg.axis().scale(x).orient("bottom");
var yAxis = d3.svg.axis().scale(y).tickValues([0, 5, 10, 15, 20, 25]).orient("left");` `var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");` ` svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis)
.selectAll("text")
.style("text-anchor", "end");` `svg.append("g")
.attr("class", "y axis")
.call(yAxis)
.append("text")
.attr("transform", "rotate(-90)")
.attr("y", 6)
.attr("dy", ".71em")
.style("text-anchor", "end")
.text("Y Axis Tick Values");`