
D3
BEconfidence
坚持才是胜利之道
展开
-
D3
1. HelloWorld Hello World 1 Hello World 2 d3.select("body").selectAll("p").text("www.decembercafe.org"); var p = d3.select("body") .selectAll("p") .text("www.ourd3原创 2017-10-31 21:40:10 · 509 阅读 · 0 评论 -
深入学习D3JS:d3-array Transformations部分
d3.rollup(iterable, reduce, …keys)将可迭代的值转化为Map,转化结果从key到value,并支持嵌套。function dogroup(values, keyof) { const map = new Map(); let index = -1; for (const value of values) { const key = keyof...原创 2019-04-06 15:15:03 · 738 阅读 · 0 评论 -
深入学习d3.js:d3-ease
ease是扭曲时间控制动画中运动的方法,常用与淡入淡出,使动画过度更平滑。ease方法实现中,输入一个标准时间t,返回一个ease化的时间,他们的范围都在0,1内,表示动画的开始和结束。ease(t)首先设置你的ease,然后在动画期间调用。// Before the animation starts, create your easing function.var custo...原创 2019-04-13 15:45:32 · 1702 阅读 · 0 评论 -
深入学习D3JS:Stacks
stack用来生成多类型可重叠的数据的二维数组。适用于如下图表类型:stack生成器不会直接产生形状,它可以产生位置信息,然后传入area生成器或者直接使用。stack(data[,arguments…])根据输入的数据生成一个stack,返回一个表示每一个系列的数组,参数传播到访问器。用法如下:var data = [ {month: new Date(2015,...原创 2019-04-13 15:58:37 · 497 阅读 · 0 评论 -
深入学习D3JS: Arcs
arc生成器生成圆型或环,如果大于start到end大于260度会生成圆,否则扇形。数据可以从pie生成。这里插一句要想移动pie的位置,只能是translate g的位置。d3.arc()默认的生成器arc(arguments…)var arc = d3.arc() .innerRadius(0) .outerRadius(100) .st...原创 2019-04-17 17:03:46 · 981 阅读 · 0 评论 -
d3js源码解析,selection模块(三),数据是如何绑定到元素上的?
selection模块结构选择元素修改元素加入数据(本章的内容)处理事件控制流局部变量命名空间添加数据这部分开始介绍Join,讲解的两个文章selection.join notebookThinking With Joinsselection.data([data[, key]])讲述数据数组绑定到元素上,返回绑定成功的selection表示update状态,同时也定义了...原创 2019-07-01 22:11:11 · 478 阅读 · 0 评论 -
[数据可视化]d3js源码,selection(四)添加事件,控制流,局部变量
selection模块结构选择元素修改元素加入数据处理事件(本章的内容)控制流(本章的内容)局部变量(本章的内容)命名空间事件处理出于交互考虑,selection支持监听(listening)和分派(dispatching)事件。selection.on(typenames[, listener[, options]])根据typenames向元素添加或删除事件监听,类型...原创 2019-07-02 11:42:56 · 1074 阅读 · 0 评论 -
数据可视化d3源码学习,仿写d3-fetch之数据读取
evs-dsv该模块为文本分隔符分隔进行解析,常见的数据格式为逗号分隔的csv文件或制表符分割的tsv文件,这些表格非常受excel欢迎,而且比json更节省空间,代码实现基于论文RFC 4180Common Format and MIME Type for Comma-Separated Values (CSV) Files. 感兴趣的可以访问github阅读源码及解析esv-dsvAPI...原创 2019-06-29 20:52:09 · 608 阅读 · 0 评论 -
数据可视化d3源码学习,仿写d3-dsv之数据解析模块
evs-dsv该模块为文本分隔符分隔进行解析,常见的数据格式为逗号分隔的csv文件或制表符分割的tsv文件,这些表格非常受excel欢迎,而且比json更节省空间,代码实现基于论文RFC 4180Common Format and MIME Type for Comma-Separated Values (CSV) Files. 感兴趣的可以访问github阅读源码及解析esv-dsvAPI...原创 2019-06-29 20:57:20 · 1095 阅读 · 1 评论 -
数据可视化,仿写d3-selection,核心模块选择器(二)
这部分承接上一篇,介绍d3-selection模块中的修改元素节点部分和命名空间。看源码戳selection模块结构选择元素修改元素(本章的内容)加入数据处理事件控制流局部变量命名空间(本章的内容)选择元素选择元素后,设置文档的不同属性,例如设置a的name和color:evs.select("a") .attr("name", "fred") .styl...原创 2019-07-01 11:14:02 · 430 阅读 · 0 评论 -
深入学习D3JS:d3-array Search部分
d3.scan(iterable[, comparator])返回数组最小值下标,具体见上一部分。d3.bisectLeft(array, x[, lo[, hi]])返回x在数组中的插入点,lo,hi为可选数组范围,默认为整个数组,如果x已经存在返回该值左侧。d3.bisector(comparator)d3.bisector(accessor)这里构造一个平分器,可以向个人构造的对...原创 2019-04-06 14:19:55 · 701 阅读 · 0 评论 -
深入学习d3.js:d3-dispatch
这是d3设置的一种调度机制,类似于node里的eventEmitter。例如,要为开始和结束时间创建调度。var dispatch = d3.dispatch("start", "end");然后用on来注册回调函数。dispatch.on("start", callback1);dispatch.on("start.foo", callback2);dispatch.on...原创 2019-04-10 16:25:57 · 2008 阅读 · 0 评论 -
D3-2
1.坐标轴 HelloWorld .axis path,.axis line{ fill: none; stroke: black; shape-rendering: crispEdges;}.axis text{ font-family: sans-serif; font-size: 11px;} var widt原创 2017-11-01 15:29:38 · 391 阅读 · 0 评论 -
svg
.linestyle{ stroke: red; stroke-width: 2;} you <svg width="600" height="600" version="1.1" xmlns="http://www.w3.org/2000/svg"> <rect x="20" y="20" width="200" height="100"原创 2017-11-02 16:16:20 · 329 阅读 · 0 评论 -
D3treemap布局
form{ font-family:"Helvetica Neue",Arical, sans-serif;}svg{ font: 10px sans-serif;} var svg=d3.select("svg");var width=1200,height=600;var data={"name":"gen","children":[{ "name":"原创 2017-12-16 11:47:49 · 2376 阅读 · 0 评论 -
d3:data and datum
datum是在一项元素后面添加,把所有数据添加到一项元素中。data则是运用data enter exit3个函数去捆绑数据原创 2018-01-12 15:48:21 · 472 阅读 · 0 评论 -
ECMAscript modules in browsers
easy to use import , export with 'model':<script type="module"> import {addTextToBody} from './utils.mjs'; addTextToBody('Modules are pretty cool.');</script>// utils.mjsexpor...原创 2018-10-26 22:37:17 · 187 阅读 · 0 评论 -
深入学习D3JS: d3-path
function drawCircle(context, radius) { context.moveTo(radius, 0); context.arc(0, 0, radius, 0, 2 * Math.PI);}使用canvas画图你需要上面的代码,d3.path可以让你在svg上使用类似代码画图。var context = d3.path();drawCircle(...原创 2019-04-10 11:23:17 · 1535 阅读 · 0 评论 -
深入学习D3JS:d3-axis
axis的用处就是给坐标轴添加标尺。通过事先定义好的scale,来绘制,所以要先了解scale对象的方法。后面在更。import {slice} from "./array";import identity from "./identity";var top = 1, right = 2, bottom = 3, left = 4, epsilon ...原创 2019-04-10 11:27:41 · 926 阅读 · 0 评论 -
深入学习D3JS:d3-array Statistics部分 d3.min, d3.max,d3.extent,d3.sum,d3.scan,d3.ascending,d3.deviation
本着学习d3js的原则,对函数用法做出解释,对源码写出自己的理解,文章最后补充一些源码中用到的JS语法,欢迎各位批评指正,学习交流!多多评论共同进步!d3.min(iterable[,accessor])根据顺序返回可迭代对象中的最小值,如果没有可以比较的值,返回undefined. 可选访问函数等价于调用Array.from(Array.from用法,将类似于数组的对象转化为数组,要求该...原创 2019-04-05 23:16:42 · 2195 阅读 · 0 评论 -
深入学习D3JS:d3-color
d3color对颜色进行操作,比如根据名字设置颜色,steelbluevar c = d3.color("steelblue"); // {r: 70, g: 130, b: 180, opacity: 1}转化为hsl格式var c = d3.hsl("steelblue"); // {h: 207.27…, s: 0.44, l: 0.4902…, opacity: 1}...原创 2019-04-10 15:42:28 · 3660 阅读 · 0 评论 -
数据可视化,仿写d3-selection,核心模块选择器(一)
evs-selection数据可视化以数据为主,那对数据集的选择就尤为重要,这个模块允许对DOM进行强大的数据驱动的转换,如设置属性(attributes)、样式、属性(properties)、html以及文本等,通过绑定和解绑数据,就可以直接添加和删除对应的元素。选取方法返回当前选择集或一个新的选择集,支持链式操作,例如设置当前文档的所有段落元素的类和颜色样式:evs.selectAll(...原创 2019-07-01 11:16:08 · 446 阅读 · 0 评论