1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| ```js /* 定义高度与宽度,其中包括 x和y轴的宽度 */ var padding = { width: 700, height: 700, xAxisWidth: 500, yAxisWidth: 500, right: 30, bottom: 30, left: 130, }
// 定义数据 var center = [[1,1]]
/* 1.选择body元素,并添加一个<svg>元素 2.并设置<svg>的高\宽为 600. */ var svg = d3.select("body") .append("svg") .attr("width", padding.width) .attr("height", padding.height)
/* x/y 轴比例尺 */ var xScale = d3.scale.linear() .domain([0, 1 * d3.max(center, function(d) { return d[1]; })]) .range([0, padding.xAxisWidth])
var yScale = d3.scale.linear() .domain([0, 1 * d3.max(center, function(d) { return d[1]; })]) .range([0, padding.yAxisWidth])
/* x/y 坐标轴选择比例尺 */ var xAxis = d3.svg.axis() .scale(xScale) .orient("bottom") .ticks(5)
yScale.range([padding.yAxisWidth, 0]) /* 反向输出 */
var yAxis = d3.svg.axis() .scale(yScale) .orient("left") .ticks(5)
/* 在 svg 元素中添加一个包含坐标轴的数据并计算出位置 */ svg.append("g") .attr("class","axis") .attr("transform", "translate(" + padding.left + "," + (padding.height - padding.bottom) + ")") .call(xAxis) svg.append("g") .attr("class","axis") .attr("transform", "translate(" + padding.left + "," + (padding.height - padding.bottom - padding.yAxisWidth) + ")") .call(yAxis)
|