d3的scale()函数

对

scale()是坐标转换函数,用法如下:

var scale = d3.scale.linear(); //<- scale是javascript函数!
.domain([100, 500]);
.range([10, 350]);

 

用这个函数执行的话(结果参考上图):
scale(100);  //Returns 10
scale(300);  //Returns 180
scale(500);  //Returns 350
 

另外经常与scale()一起用的D3的 max(), min()函数:

var dataset = [
                [5, 20], [480, 90], [250, 50], [100, 33], [330, 95],
                [410, 12], [475, 44], [25, 67], [85, 21], [220, 88]
              ];
 
d3.max(dataset, function(d) {    //Returns 480
    return d[0];  //References first value in each sub-array
});
d3.max(dataset, function(d) {    //Returns 95
    return d[1];  //References second value in each sub-array
});
 

y轴的转化

因为在浏览器上,左上角是坐标原点,X轴向右为正,Y轴向 为正。用D3描画一般常用数学坐标系时,需要把Y轴转向。
方法是:
把 .range([0, h]); 改写为
.range([h, 0]);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值