D3.js v5 Tutorials

D3.js v5 教程

https://github.com/d3/d3/blob/master/API.md

CHANGES

https://github.com/d3/d3/blob/master/CHANGES.md

0xfffff & .toString(16)

16 进制转换


d3-scale

https://github.com/d3/d3-scale#installing

# d3 global is exported

$ npm i -S d3-scale


let x = d3.scaleLinear();

ordinal-scales

https://github.com/d3/d3/blob/master/API.md#ordinal-scales

创建一个序数带尺度

https://github.com/d3/d3-scale/blob/master/README.md#scaleBand

continuous-scales

https://github.com/d3/d3/blob/master/API.md#continuous-scales

创建一个定量线性标度

https://github.com/d3/d3-scale/blob/master/README.md#scaleLinear


// d[0] & d[1]
// d.key & d.value
let Xdatas = data.map(d => d.key),
Ydatas = data.map(d => d.value); let width = 800,
height = 500; // x-Axis 轴 scale range
let x = d3.scaleBand()
.domain(Xdatas)
.rangeRound([0, width])
.padding(0.1); // y-Axis 轴 scale range
let y = d3.scaleLinear()
.domain([0, d3.max(Ydatas)])
.rangeRound([height, 0]); let padding = {
left: 50,
top: 20,
right: 50,
bottom: 50
};

what's new

  1. Promise & Async Await & Fetch AP
  2. ES6 module

https://github.com/d3/d3/releases

https://d3js.org.cn/

https://d3js.org.cn/introduce/

refs

http://www.manongjc.com/article/29914.html

https://blog.csdn.net/qq_34414916/article/details/80032731

https://github.com/mp2930696631/d3.js-demo/blob/master/d3.js-demo/testD3_chp9_1.html

D3.js & v4

big break changes

https://github.com/d3/d3/releases/tag/v4.0.0

D3.js & v3

big break changes

https://github.com/d3/d3/releases/tag/v3.0.0

https://github.com/d3/d3-3.x-api-reference/blob/master/API-Reference.md


viewBox & preserveAspectRatio

layout responsive

https://stackoverflow.com/questions/9400615/whats-the-best-way-to-make-a-d3-js-visualisation-layout-responsive


<svg id="chart" width="960" height="500"
viewBox="0 0 960 500"
preserveAspectRatio="xMidYMid meet">
</svg>

D3.js v5 Tutorials的更多相关文章

  1. D3.js V5 教程

    D3.js V5 教程 1.在项目中使用D3.js 2. 选择元素和设置(获取)属性 3. 绑定数据 4. 理解Update.Enter.Exit 与 添加.删除元素 未完待续..........

  2. d3.js V5版本在vue里使用 自定义节点图片

    var width = this.$refs.topInfo.offsetWidth; var height = this.$refs.topInfo.offsetHeight; var img_w ...

  3. 用 D3.js 画一个手机专利关系图, 看看苹果,三星,微软间的专利纠葛

    前言 本文灵感来源于Mike Bostock 的一个 demo 页面 原 demo 基于 D3.js v3 开发, 笔者将其使用 D3.js v5 进行重写, 并改为使用 ES6 语法. 源码: gi ...

  4. D3.js的v5版本入门教程(第十三章)—— 饼状图

    D3.js的v5版本入门教程(第十三章) 这一章我们来绘制一个简单的饼状图,我们只绘制构成饼状图基本的元素——扇形.文字,从这一章开始,内容可能有点难理解,因为每一章都会引入比较多的难理解知识点,在这 ...

  5. D3.js的v5版本入门教程(第十二章)—— D3.js中各种精美的图形

    D3.js的v5版本入门教程(第十二章) D3中提供了各种制作常见图形的函数,在d3的v3版本中叫布局,通过d3.layout.xxx,来新建,但是到了v5,新建一个d3中基本的图形的方式变了(我也并 ...

  6. D3.js的v5版本入门教程(第十一章)——交互式操作

    D3.js的v5版本入门教程(第十一章) 与图形进行交互操作是很重要的!所谓的交互操作也就是为图形元素添加监听事件,比如说当你鼠标放在某个图形元素上面的时候,就会显示相应的文字,而当鼠标移开后,文字就 ...

  7. D3.js的v5版本入门教程(第九章)——完整的柱状图

    D3.js的v5版本入门教程(第九章) 一个完整的柱状图应该包括的元素有——矩形.文字.坐标轴,现在,我们就来一一绘制它们,这章是前面几章的综合,这一章只有少量新的知识点,它们是 d3.scaleBa ...

  8. D3.js的v5版本入门教程(第八章)—— 坐标轴

    D3.js的v5版本入门教程(第八章) D3中没有现成的坐标轴图形,需要我们自己用其他组件拼凑而成.D3中提供了坐标轴组件,使得我们在SVG中绘制一个坐标轴变得像添加一个普通元素那样简单 为了表绘制一 ...

  9. D3.js的v5版本入门教程(第七章)—— 比例尺的使用

    D3.js的v5版本入门教程(第七章) 比例尺在D3.js中是一个很重要的东西,我们可以这样理解d3.js中的比例尺——一种映射关系,从domain映射到range域(为什么会是domain和rang ...

随机推荐

  1. 关于Java并发编程的总结和思考

    编写优质的并发代码是一件难度极高的事情.Java语言从第一版本开始内置了对多线程的支持,这一点在当年是非常了不起的,但是当我们对并发编程有了更深刻的认识和更多的实践后,实现并发编程就有了更多的方案和更 ...

  2. mysql获取表中数据行数

    获取单个表的行数 使用count(*)或者count(1) SELECT count(1) AS count FROM table_name; 执行结果 获取两个表的行数 使用union组合每个sel ...

  3. jsp、freemarker、velocity、thymeleaf页面方案分析

    1.概述在java领域,表现层技术主要有三种, (1)jsp; (2)freemarker; (3)velocity; (4)thymeleaf; 2.jsp优点: 1.功能强大,可以写java代码 ...

  4. WebSocket原理与实践(一)---基本原理

    WebSocket原理与实践(一)---基本原理 一:为什么要使用WebSocket?1. 了解现有的HTTP的架构模式:Http是客户端/服务器模式中请求-响应所用的协议,在这种模式中,客户端(一般 ...

  5. SkylineGlobe 如何实现二次开发加载KML文件

    示例代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  6. Oracle ORA-01940: 无法删除当前连接的用户

    当我们要删除一个oracle的用户时,如果有其他人连接到数据库则会报以下错误: ORA-01940: 无法删除当前连接的用户 处理办法就是:将连接到当前用户的session给kill掉. 处理步骤如下 ...

  7. ASP.NET Web API上实现 Web Socket - 转

    1. 什么是Web Socket Web Socket是Html5中引入的通信机制,它为浏览器与后台服务器之间提供了基于TCP的全双工的通信通道.用以替代以往的LongPooling等comet st ...

  8. QueryHelper

    [1].[代码] QueryHelper.java 跳至 [1] package my.db; import java.io.Serializable; import java.math.BigInt ...

  9. Can't connect to MySQL server (10060)

    前天刚装的MySql,今天再次使用就出现了标题显示的错误.我是本地机器连接Linux下的MySql. 网上有一些解决方案: 方法一.检查本地的防火墙 如果是如上状态,请关闭防火墙再试. 方法二.检查服 ...

  10. Jmeter(三十二)_搭建本地接口自动化环境

    我们在学习接口自动化的时候,最理想的状态是在公司有项目可以操作.大部分时候我们并没有可以练习的项目,因此练习接口无从谈起,只能找一些开放的api来练一练,但是这样并不能提高我们的技术.因此我们需要搭建 ...