D3入门教程——比例尺的使用

本文是一篇关于D3比例尺的入门教程,介绍了线性比例尺和序数比例尺的概念与使用方法。线性比例尺用于将连续数据区间映射到指定范围,而序数比例尺则适用于非连续数据的一一映射。文中通过实例代码展示了如何在D3中创建和应用这两种比例尺。
摘要由CSDN通过智能技术生成


一、介绍

1.概念

我们知道地图有比例尺,作为地图缩放时的标尺。

同样的D3也比例尺。

D3绘制表是需要依赖数据的,有时候数据可能太大或太小,太小的数据如果按照实际绘制导致看不见,太大的数据按照事迹绘制将会超出画布的范围。因此比例尺在D3绘制中是非常重要的。

在D3种有两种比例尺:

2.线性比例尺

  • 线性比例尺:能将一个连续的区间,映射到另一区间。要解决柱形图宽度的问题,就需要线性比例尺。

例如:

现有一组数据:

var dataset = [1.2, 2.3, 0.9, 1.5, 3.3];

有如下要求:将 dataset 中最小的值,映射成 0;将最大的值,映射成 300。

代码如下:将 dataset 中最小的值,映射成 0;将最大的值,映射成 300。

代码如下:

var min = d3.min(dataset);
var max = d3.max(dataset);

var linear = d3.scaleLinear()
        .domain([min, max])
        .range([0, 300]);

linear(0.9);    //返回 0
linear(2.3);    //返回 175
linear(3.3);    //返回 300

**注意:**这里有两个函数,其中domain()是指定义域,range()是指值域。需要注意他们的写法。

3.序数比例尺

  • 序数比例尺:有时候,定义域和值域不一定是连续的。要让他们一一映射则需要序数比例尺。

例如:

有两个数组:

var index = [0, 1, 2, 3, 4];
var color = ["red&#
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值