D3.js比例尺 序数比例尺(v3版本)
上一章介绍了阈值比例尺:https://www.cnblogs.com/littleSpill/p/10825038.html。到目前所有的定量比例尺已经介绍完了。
现在给大家介绍一下序数比例尺。
var ordinal = d3.scale.ordinal()
.domain([1,2,3,4,5])
.range([10,20,30,40,50]) console.log(ordinal(1)) //输出10 console.log(ordinal(3)) //输出30 console.log(ordinal(5)) //输出50 console.log(ordinal(8)) //输出10

var ordinal2 = d3.scale.ordinal()
.domain([1,2,3,4,5])
.rangePoints([0,100]) console.log(ordinal2.range()) //输出 [0, 25, 50, 75, 100] console.log(ordinal2(1)) //输出0 console.log(ordinal2(3)) //输出50 console.log(ordinal2(5)) //输出100
    ordinal2.rangePoints([0,100],5)
         console.log(ordinal2.range())        //输出[27.77777777777778, 38.888888888888886, 50, 61.11111111111111, 72.22222222222223]
    ordinal2.rangeRoundPoints([0,100],5)
         console.log(ordinal2.range())        //输出[28, 39, 50, 61, 72]结果被四舍五入取整了

var bands = d3.scale.ordinal()
.domain([1,2,3,4,5])
.rangeBands([0,100]) console.log(bands.range()) //输出[0, 20, 40, 60, 80] console.log(bands.rangeBand()) //输出20
 bands.rangeBands([0,100],0.5,0.2)
         console.log(bands.range())          //输出[4.081632653061225, 24.489795918367346, 44.89795918367347, 65.3061224489796, 85.71428571428571]
         console.log(bands.rangeBand())      //输出10.204081632653061
 var color = d3.scale.category10();
         console.log(color(1))                    //输出#1f77b4
         console.log(color("zhangsan"))           //输出#ff7f0e
var width = 600; //svg绘制区域的宽度
var height = 600; //svg绘制区域的高度
var dataset = d3.range(5); //返回[0,1,2,3,4,5] var color2 = d3.scale.category10(); //定义表示颜色的序数比例尺 var svg = d3.select("#body") //选择id为body的div
.append("svg") //在<body>中添加<avg>
.attr("width",width) //设定<svg>的宽度属性
.attr("height",height) //设定<svg>的高度属性 //绘制圆
svg.selectAll("circle") //选择所有的圆
.data(dataset) //绑定数据
.enter() //获取enter部分
.append("circle") //添加ciecle元素,使其与绑定数组的长度一致
.attr("cx",function(d,i){return 30 + i*80}) //设定圆的x方向的位置
.attr("cy",100) //设定圆的y方向的位置
.attr("r",30) //设定圆的半径
.attr("fill",function(d,i){ //设定圆的颜色
return color2(i)
})

D3.js比例尺 序数比例尺(v3版本)的更多相关文章
- D3.js(v3)+react   制作 一个带坐标与比例尺的柱形图 (V3版本)
		现在用D3.js + react做一个带坐标轴和比例尺的柱形图.我已经尽力把代码全部注释上了,最后我也会把完整柱形图代码奉上.如果还有疑惑的,可以去翻看一下我之前介绍的方法,以下方法都有介绍到. 还有 ... 
- D3.js坐标轴的绘制方法、添加坐标轴的刻度和各比例尺的坐标轴(V3版本)
		坐标轴(Axis) 坐标轴(Axis)在很多图表中都可见到,例如柱形图.折线图.散点图等.坐标轴由一组线段和文字组成,坐标轴上的点由一个坐标值确定.但是,如果使用SVG的直线和文字一笔一画的绘制坐 ... 
- D3.js(v3)+react 制作 一个带坐标与比例尺的散点图 (V3版本)
		上一章做了柱形图,https://www.cnblogs.com/littleSpill/p/10835041.html 这一章做散点图. 散点图(Scatter Chart),通常是一横一竖 ... 
- D3.js比例尺   定量比例尺 之 线性比例尺(v3版本)
		定量比例尺 : 数学上有函数的概念,不是编程中所说的函数,如线性函数.指数函数.对数函数等,而指的是一个量随着另一个量的变化而变化.例如有一下线性函数 : y=2x+1该函数在二维坐标系中绘制出来的图 ... 
- D3.js的v5版本入门教程(第七章)—— 比例尺的使用
		D3.js的v5版本入门教程(第七章) 比例尺在D3.js中是一个很重要的东西,我们可以这样理解d3.js中的比例尺——一种映射关系,从domain映射到range域(为什么会是domain和rang ... 
- 交互式数据可视化-D3.js(三)比例尺
		线性比例尺 线性比例尺是常用比例尺常用方法有: var linear = d3.scaleLinear() - 创建一个定量的线性比例尺. linear.domain([numbers]) - 定义或 ... 
- D3.js 比例尺的使用
		比例尺是 D3 中很重要的一个概念,直接用数值的大小来代表像素不是一种好方法 一.为什么需要比例尺 制作一个柱形图,会有一个数组:var dataset = [ 250 , 210 , 170 , 1 ... 
- D3.js系列——比例尺和坐标轴
		比例尺是 D3 中很重要的一个概念.绘制图形时直接用数值的大小来代表像素不是一种好方法,本章正是要解决此问题. 一.为什么需要比例尺 上一章制作了一个柱形图,当时有一个数组,绘图时,直接使用 250 ... 
- 精通D3.js学习笔记(2)比例尺和坐标
		1.线性比例尺 d3.scale.linear() 创建一个线性比例尺 .domain([0,500]) 定义域 .range([0,1000]) 值域 l ... 
随机推荐
- Linux上VNC 启动和关闭
			查询vnc的线程: [admin@cn2-uat-esb-01-0001 ~]$ ps -ef|grep vncadmin 19080 21305 0 10:04 pts/2 00:00:00 gre ... 
- Redis启动Sentinel出现警告的解决
			Redis 3.0.7版本启动时出现警告的解决办法 7283:M 12 Mar 12:13:33.749 # WARNING: The TCP backlog setting of 511 canno ... 
- Cuckoo架构
			cuckoo在部署阶段,只在Guest系统里塞了一个agent,这个agent在运行阶段负责与Host端程序进行通信,从Host端接收sample, 整个客户端程序,以及配置文件. 在Host端主要的 ... 
- jQuery 对象与 Dom 对象转化
			首先,我们需要知道,为什么我们需要转化两者,原因在于,两者提供的方法不能共用. 比如: $("#id").innerHTML; document.getElementById(id ... 
- JavaFX开发环境安装配置
			JavaFX开发环境安装配置 从Java8开始,JDK(Java开发工具包)包括了JavaFX库. 因此,要运行JavaFX应用程序,您只需要在系统中安装Java8或更高版本. 除此之外,IDE(如E ... 
- 20140719  找到单链表的倒数第K个节点  判断一个链表是否成为一个环形 反转
			1.找到单链表的倒数第K个节点 2.判断一个单链表对否形成环形 3.单链表翻转 
- Day 20: 面向对象【多态,封装,反射】字符串模块导入/内置attr /包装 /授权
			面向对象,多态: 有时一个对象会有多种表现形式,比如网站页面有个按钮, 这个按钮的设计可以不一样(单选框.多选框.圆角的点击按钮.直角的点击按钮等),尽管长的不一样,但它们都有一个共同调用方式,就是o ... 
- keepalived高可用haproxy负载均衡varnish缓存wordpress的动静分离(第一次配置成功)
			haproxy和nginx都可以作为七层和四层反代服务器对外提供服务,此文通过haproxy和keealived配置varnish搭建wordpress的动静分离站点 一.实验环境 五台虚拟机: ha ... 
- 标准 IO fgets与fputs 对文件的操作
			char *fgets(char *s, int size, FILE *stream); int fputs(const char *s, FILE *stream); 使用fgets从流中读取 ... 
- Spring mvc Hello World
			Spring mvc Hello World 添加依赖 <dependency> <groupId>org.springframework</groupId> &l ... 
