D3.js学习(二)】的更多相关文章

习·D3.js 学习资源汇总 除了D3.js自身以外,许多可视化工具包都是基于D3开发的,所以对D3的学习就显得很重要了,当然如果已经有了Javascript的经验,学起来也会不费力些. Github主页:https://github.com/mbostock/d3/wiki 包括D3简介,案例,教程和公开课,以及之前提到的API参考等. Github教程页面:https://github.com/mbostock/d3/wiki/Tutorials -·-·-·-·-·-其他:-·-·-·-·…
简单例子 在这个例子中,你将会使用D3.js来将数据绑定到DOM元素上.然后再使用D3.js利用绑定到DOM元素上的数据来更新网页. 在上一章中,我们以下面这个页面作为开始的: <!DOCTYPE html> <html> <head> <script type="text/javascript" src="d3.v3.min.js"></script> </head> <body>…
从今天开始我将和大家一起学习D3.js(Data-Driven Documents),由于国内关于D3的学习资料少之又少,所以我觉得很有必要把自己学习过程记录下来,供同学们参考,如果文章有有哪些表达有错误的还希望同学们帮我指出来.当然了, 可以的话我希望大家都可以去看看英文资料(文章后面将列英文资源),毕竟那才是原汁原味的D3. 好了, 废话到此,下面我们开始我们的学习之旅吧! 什么是D3.js? 一句话:D3.js是一个操纵数据的javascript库! 从一个简单的例子开始 学习一个新的东西…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta h…
目标 在这一章,我们将会重温SVG图形,学习如何使用D3.js来创建这些图形. 这里会包括前面例子中的SVG基础图形以及如何使用D3.js设置图形的属性. 使用D3.js画一个SVG 的 圆 circle 可以使用如下代码创建: <svg width="50" height="50"> <circle cx="25" cy="25" r="25" fill="purple&quo…
目标 在这一章,你将会理解如何对数据进行结构化,来更好的使用D3.js. 我们将会回顾我们之前已经学习的,学习D3.js如何使用选集(selections),JavaScript对象基础,以及如何最优的结构化数据. 到目前我们已经学到了哪些? 到目前,我们使用D3.js完成的例子都包含一个定义在最上方的数据集: var spaceCircles = [30,70,110]; 这个spaceCircles变量是一个JavaScript数组.数组就是一个变量的枚举列表.这也就意味着,每一个元素都附有…
目标 在这一章,你将要使用D3.js基于一些数据把SVG元素添加到你想要的坐标位置上. 我们的目标就是使用下面的数据集: var spaceCircles = [30,70,110]; 并使用D3.js来对这些数据进行可视化: 数学/图形 坐标空间(Mathematical/Graph Coordinate Space) 在我们使用D3.js基于一些数据把SVG元素添加到指定的坐标位置之前,我们先来讨论下坐标空间. 我们了解一些基础数学中的基础数学图形(mathematical graphs).…
开始学习D3.js,网上没有找到很满意的中文教程,但是发现了一个很好的英文教程,讲解的非常详细.从一个初始简单的HTML网页开始,逐步加入D3.js的应用,几乎是逐句讲解.学习的时候,就顺便翻译成中文,来和大家分享 .当然,更推荐看英文原文教程了,点击这里. 简单例子 在这个例子中,你将会使用D3.js来把数据绑定到简单网页的DOM元素(DOM element)上. 现在开始了!下面是一个简单的HTML网页: <!DOCTYPE html> <html> <head>…
上一节中我们学会了如何旋转x轴标签以及自定义标签内容,在这一节中,我们将接触动画(transition) 首先,我们要在页面上添加一个按钮,当我们点击这个按钮时,调用我们的动画.所以,我们还需要在原来的基础上添加两个东西. 添加一个按钮 <div id="option"> <input name="updateButton" type="button" value="Update" onclick="…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta h…
目标 在这一章,你将会使用D3.js,基于我们的数据来把SVG元素添加到网页中.这一过程包括:把数据绑定到元素上,然后在使用这些元素来可视化我们的数据. 注意:不同于前几章,我们从一个完整的代码开始,然后去一步步理解它,从这一章开始,我们将会从零开始构建我们的数据可视化. 我们的目标是使用这个数据集: var circleRadii = [40,20,10]; 然后用D3.js来将这个数据集进行数据可视化. SVG的Circle元素 首先我们要知道的是SVG的Circle元素是什么?它是怎么定义…
上一节中我们已经画出了一个基本的图表,不过忘了给坐标轴添加标签了,所以在本节中我们要给坐标轴加上标签,目标效果如下 给X轴添加标签 很明显,标签是不是一个text内容块啊,所以我们只要在svg中添加一个text然后再给这个text定位和指定内容不就行了么?先来看如何给x轴添加标签 //增加一个x轴的标签 svg.append("text") .attr("transform", "translate(" + (width/2) + ",…
上节我们学习了如何绘制多条曲线, 以及给不同的曲线指定不同的坐标系.在这节当中,我们会对坐标轴标签相关的处理进行学习.首先,我们来想一个问题, 如何我们的x轴上的各个标签的距离比较近,但是标签名又比较长怎么办? 像是下面这种情况该如何处理? 上图中x轴上的标签是不是都重叠在一起了?非常恶心对不对?所以,我们得想个办法在不改变ticks标签直接的距离的情况下,让他们达到很好的阅读效果. 让ticks标签旋转一定的角度 下面我们的目标就是实现这一种效果:为了达到这个目标我们首先得做一个准备工作: …
上一节我们已经学习了如何设置填充区域,其实理解了他的实现原理还是非常简单了.这一节中, 我们主要学习多条曲线的绘制,以及给不同的曲线指定不同的纵坐标. 新的数据 由于我们要画两条曲线,所以我们要在原来的基础上新增一组测试数据,现在我们的数据是这样的: date close open 1-May-12 58.13 3.41 30-Apr-12 53.98 4.55 27-Apr-12 67.00 6.78 26-Apr-12 89.70 7.85 25-Apr-12 99.00 8.92 24-A…
上一节我们已经学习了线条样式和格栅的绘制,在这一节中我们将要根据之前绘制的线条对图表进行填充,首先来看一下我们的目标吧 在这个图表中,我们对位于线条下面的空间进行了填充,那么,如何改做到呢? 设置填充样式 这里设置我们填充区域的样式,我们使用浅蓝色进行填充: .area{ fill: lightsteelblue; stroke-width: 0; } 定义填充区域 就像前面绘制线条之前一样,我们首先要对其进行定义 //定义填充区域 var area = d3.svg.area() .x(fun…
上一节中,我们已经画出了图表,并且给图表添加了坐标轴的标签和标题,在这一节中,我们将要学习几个绘制线条不同特性的几个函数,以及给图表添加格栅.ok,进入话题! 如何给线条设置绘制的样式? 这个其实非常简单,在我们之前定义的valueline基础上加一个.interpolate(“样式”)就行啦 //定义线条 var valueline = d3.svg.line() .interpolate("basis") .x(function(d){return x(d.date);}) .y(…
<html> <head> <meta charset="utf-8"> <title>第三课:为柱形图添加坐标轴</title> <style> .axis path, .axis line{ fill: none; stroke: black; shape-rendering: crispEdges; } .axis text { font-family: sans-serif; font-size: 11px…
1.线性比例尺 d3.scale.linear()   创建一个线性比例尺           .domain([0,500]) 定义域           .range([0,1000]) 值域 linear(x)  输入定义域 返回 值域 linear.invert(y) 输入值域,返回定义域 linear.domain([numbers]) 设定或获取定义域 linear.range([values])设定或获取值域 linear.rangeRound([valuses]) 四舍五入,结果…
买了本吕大师的d3可视化.最近来学习一下,做个笔记.   1.选择元素  select(第一元素) 和selectAll(全部的元素)      类似css的选择器.也可以是dom选中的. var impotant = document.getElementById("important"); d3.select(important);      getElementById  使用select    getElementsByClassName  使用selectAll 2.选择集…
1.变量 JAVASCRIPT的变量是一种类型宽松的语言.定义变量不用指定数据类型.而且还是动态可变的. var value = 100;value = 99.9999;value = false;value = "This can't possibly work.";value = "Argh, it does work! No errorzzzz!"; 2.数组 从0开始 var percentages = [ 0.55, 0.32, 0.91 ];var na…
JS中的循环结构 [循环结构的执行步骤] 1.声明循环变量: 2.判断循环条件: 3.执行循环体操作: 4.更新循环变量: 然后,循环执行2~4,知道条件不成立.跳出循环. [while 循环] while 循环()中的表达式,运算结果可以是各种类型,但是最终结果都会转化为真假,转换规则同if就够: ① Boolean:true为真,false为假: ② String:空字符串为假,所有非空字符串为真: ③ Number:0为假,一切非0数字为真: ④ null/Undefined/NaN: 全…
/** * node.js大部分api都有同步的方法,同步方法名后面都会带有Sync,js编译的时候,同步代码会立即执行,异步代码会先存到异步池中,等同步代码执行完后它才会执行异步:不会阻塞线程,没有执行顺序,一般都会有回调函数 */ const fs=require("fs"); fs.readFile("/pure_hdaudioa-20140213101301_214086.7z","utf-8",(err,data)=>{ if(e…
// 1.选择d3.select('p')d3.selectAll('p')d3.select('.txt').style('color', '#fff')// 2.支持动态设置属性// a:随机属性d3.selectAll('p').style('color', function (d, i) { return 1 % 2 ? '#fff' : '#eee'})// b.将数组中的属性设置给元素d3.selectAll('p') .data([4, 8, 15, 16, 23, 42]) .s…
camera 上篇大致了解了three.js ,并可以创建一个简单的可动的立方体.下来我们着重了解下camera (照相机),照相机其实就是视角,就像你的眼睛.Three.js有两种不同的相机模式:直角相机(OrthographicCamera)和透视相机(PerspectiveCamera),最好的方式去理解这两个照相机的不同是-用你的眼睛去观察它们. 透视相机 下图是透视相机的投影 构造函数 THREE.PerspectiveCamera(fov, aspect, near, far) 实例…
选择集 select和selectAll类似jquery: d3.select('body') d3.select('.body') d3.select('#body') d3.selectAll('p') d3.selectAll('.box') var conent = document.getElementById('#box') d3.select(conent) 操作选择集 查看状态 判断选择集是否为空: selection.empty() 返回第一个选择集: selection.no…
[TOC] 1.Nuxt目录结构详解 Nuxt项目文件目录结构 |-- .nuxt // Nuxt自动生成,临时的用于编辑的文件,build |-- assets // 用于组织未编译的静态资源入LESS.SASS 或 JavaScript |-- components // 用于自己编写的Vue组件,比如滚动组件,日历组件,分页组件 |-- layouts // 布局目录,用于组织应用的布局组件,不可更改. |-- middleware // 用于存放中间件 |-- pages // 用于存放…
1.字符串长度 string.length var browserType = 'mozilla'; browserType.length; //7 2在字符串中查找子字符串 string.indexOf 找到返回字符串的下标,没找到返回-1 browserType.indexOf('zilla');//2 3.根据下标提取字符串 string .slice(start,end) browserType.slice(0,3);//"moz" browserType.slice(2);/…
一.安装D3.js 1.网络连接 <script src="https://d3js.org/d3.v4.min.js"></script> 2.命令行安装 cnpm || npm install d3 --save   => 我采用的是cnpm install d3 --save 3.创建node 服务器 a.  cnpm || npm install express --save       =>前面教程已经说了express 搭建服务器了.后面…
前言:在上一篇随笔BABYLON.js学习之路·前辈经验(一)中回顾了组内同事们长时间在Babylon开发实践中的总结出的学习之路和经验,这一篇主要对开发中常见的一些功能点做一个梳理,这里只作为温故知新. 一.相机   弧形旋转相机 —— 使用鼠标和光标键将相机绕着一个三维点(此处时0坐标处) 旋转 参数:  名称, 水平角(alpha), 垂直角(beta), 半径, 围绕的目标, 场景 var camera = new BABYLON.ArcRotateCamera("ArcRotateCa…
D3.js的v5版本入门教程(第十二章) D3中提供了各种制作常见图形的函数,在d3的v3版本中叫布局,通过d3.layout.xxx,来新建,但是到了v5,新建一个d3中基本的图形的方式变了(我也并不知道是不是还叫布局,我觉得也可以这么叫,反正布局指的也是一个绘图函数) 下面是d3中一些常见的部分图形 bubble —— 泡泡图 packing —— 打包图 bundling —— 捆图 force —— 力导向图 chord —— 弦图 pie——饼状图 tree——树状图 中国地图 我们利…