博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
D3.js系列学习笔记之一:初识绘图流程和基本思想
阅读量:7292 次
发布时间:2019-06-30

本文共 912 字,大约阅读时间需要 3 分钟。

作者:心叶

时间:2018-07-17 15:10

注意:d3.js版本是v5.5.0

主体思想

D3.js就是一个和Jquery类似的Javascript库,其提供了很多有用的方法来用于数据可视化。

绘制图形的大致思想是:提供的布局(很多种布局)系列方法把数据转换成容易绘制的格式,然后调用绘图方法绘制图形,并且还可以使用额外的动画、交互等提供更友好的体验。

几个重要的概念

下面说明绘图过程中比较常用的相关知识。

比例尺

通俗的理解比例尺就是一个映射关系(比如你要绘制一个折线图,实际数值是0-10000,绘制的图形高度是0-400,实际数据就需要通过比例尺转换成绘制时的高度),D3.js提供的比例尺很多,大致可以分为定量比例尺(连续的定义域)和序数比例尺(定义域不连续)。

var ordinal = d3.scaleOrdinal().domain([0, 1, 2, 3, 4]).range(["red", "blue", "green", "yellow", "black"]);//打印结果:red blue green yellow blackconsole.log(ordinal(0), ordinal(1), ordinal(2), ordinal(3), ordinal(4));

d3.scaleOrdinal()方法是获取 序数比例尺,其中domain和range方便传入定义域和值域,最后返回一个获取转换后数据的函数。

布局

从字面上来看,就是把数据改造成适合绘制目标视图(希望展示的图形)的结构。D3.js提供的布局种类很多,通过这些布局将某种数据转换成另一种利于可视化的数据总是有益的。

比如你希望画一个饼状图,给你的数据是一个数组[ 7 , 3 , 3 , 4 , 2 ],转变成弧度更容易绘制:

//获取饼状布局方法var pie = d3.pie();//把数据转换成绘制饼状图需要的弧度var piedata = pie([ 7 , 3 , 3 , 4 , 2 ]);console.log(piedata);

打印结果:

图片描述

计算出来的数据标记了开始和结束的弧度,很方便画饼状图。

转载地址:http://mggjm.baihongyu.com/

你可能感兴趣的文章
XHTML简介
查看>>
Url中文参数传入后台乱码问题
查看>>
UITableViewCell的选中时的颜色设置
查看>>
为什么用evernote
查看>>
存储数据类型的转化总结
查看>>
Python基础语法
查看>>
rpm 与压缩解压缩
查看>>
CSS扩展技术-less
查看>>
食堂自助点餐系统需求分析
查看>>
组合数学的卡特兰数 TOJ 3551: Game of Connections
查看>>
vs如何通过Json生成类
查看>>
测试分页查询出数据并分文件导出[java工程]
查看>>
JAVA时间工具类,在维护的项目里的
查看>>
moa 35 批量删除
查看>>
个人知识管理的10个误区
查看>>
【沟通的艺术】你能勾住你的听众么?
查看>>
WYSE率先支持RemoteFX功能
查看>>
易宝典文章——用ISA 2006标准版发布Exchange 2010的OWA系列之外网客户端
查看>>
SCCM 2012系列4 配置SCCM2012 Endpoint Protection上
查看>>
分享做老师的幸福
查看>>