问答详情
源自:2-2 绘制曲线

老师能不能再详细解释下是怎么给x,y赋值的?

var line_generator=d3.svg.line()

.x(function(d,i){return i;})

.y(function(d){return d;})

line_generator(data)  这个数组的获取表示看不懂,老师能不能再详细解释下是怎么给x,y赋值的?


提问者:Originally_Yoke 2015-04-29 15:51

个回答

  • 程序媛ing
    2016-10-08 16:20:46

    data是一个含有数据的数组,老师用line_generator()这个函数将d的值指向data,也就是将data数组里的数据赋给d。然后i为啥代表数组的下标我也不知道。

    代码:

    var data=[1,3,5,7,8,4,3,7]//定义了一个数组

    var line_generator=d3.svg.line()//line()是svg的一个函数,x、y分别是它的一个参数

    .x(function(d,i){return i;})//用line_generator这个函数将data数组里的数据依次取出来,通过函数function(){}传入d和i来实现,函数的第一个参数d表示了data里的每一个数据;i表示数据下标的值

    .y(function(d){return d;})

    var path=d3.select("g")

    .append("path")

    .attr("d",line_generator(data))//d,path data的缩写,是path的一个轨迹属性;line_generation函数指向d的值也就是数组data,即path的轨迹;括号里的data把数组里的数据传进来


  • 霜花似雪
    2016-06-05 01:14:34

    i 是数组的下标

    d 是数组元素值

    每一个元素值都有一个下标。