为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我画出来的图横坐标轴是小数呢?

var width = 500,
height = 250,
margin = {left:50, top:30, right:20, bottom:20},
g_width = width - margin.left - margin.right,
g_height = height - margin.top - margin.bottom;
//svg
var svg = d3.select("#container")
.append("svg")
//width,height
.attr("width",width)
.attr("height",height)

var g = d3.select("svg")
.append("g")
.attr("transform","translate("+margin.left+","+margin.top+")")

var data = [1, 4, 5, 8, 7, 3, 6]

// 缩放函数
var scale_x = d3.scale.linear()
// 输入范围
.domain([0,data.length-1])
//输出范围
.range([0,g_width])
var scale_y = d3.scale.linear()
// 输入范围
.domain([0,d3.max(data)])
//输出范围
.range([g_height,0])

//绘制函数
var line_generator = d3.svg.line()
.x(function(d,i) { return scale_x(i);})
.y(function(d) { return scale_y(d);})
.interpolate("cardinal")

d3.select("g")
.append("path")
.attr("d",line_generator(data))

var x_axis = d3.svg.axis().scale(scale_x),
y_axis = d3.svg.axis().scale(scale_y).orient("left");

g.append("g")
.call(x_axis)
.attr("transform","translate(0,"+g_height+")")

g.append("g").call(y_axis)

代码就是照着老师敲的,但是这个横坐标怎么了?

http://img1.sycdn.imooc.com//587498ee0001106b04950251.jpg

正在回答

1 回答

你是引用的d3 v3的包吗?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我画出来的图横坐标轴是小数呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信