【发布时间】:2016-05-31 10:39:42
【问题描述】:
所以我最近在学习 d3 并遇到一个小问题:当人们创建 x 轴和 y 轴时,如何从代码中判断哪个轴是先创建的?
例如:
.......
.......
//Create scale functions
var xScale = d3.scale.linear()
.domain([0, d3.max(dataset, function(d) { return d[0]; })])
.range([padding, w - padding * 2]);
var yScale = d3.scale.linear()
.domain([0, d3.max(dataset, function(d) { return d[1]; })])
.range([h - padding, padding]);
.......
.......
//Define X axis
var xAxis = d3.svg.axis()
.scale(xScale)
.orient("bottom")
.ticks(5);
//Define Y axis
var yAxis = d3.svg.axis()
.scale(yScale)
.orient("left")
.ticks(5);
.......
.......
//Create X axis
svg.append("g")
.attr("class", "axis")
.attr("transform", "translate(0," + (h - padding) + ")")
.call(xAxis);
//Create Y axis
svg.append("g")
.attr("class", "axis")
.attr("transform", "translate(" + padding + ",0)")
.call(yAxis);
对于这段代码,我真的找不到创建 x 轴或 y 轴的区别吗?是因为转换功能吗?但是,当我删除 x 和 y 的变换函数时,x 回到顶部而 y 消失,到底发生了什么?有默认功能吗?
代码来源:http://alignedleft.com/content/03-tutorials/01-d3/160-axes/6.html by Scott Murray。
【问题讨论】:
标签: javascript d3.js