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 ...
随机推荐
- 13、java获取路径
1.获取WEB-INF文件夹下的文件 /C:/Users/Administrator/Workspaces/MyEclipse%2010/day_38_spring_hibernate/WebRoot ...
- (转载)理解和使用Promise.all和Promise.race
声明:本文转载自:https://www.jianshu.com/p/7e60fc1be1b2 一.Pomise.all的使用 Promise.all可以将多个Promise实例包装成一个新的Prom ...
- 【React-Native】---Android环境配置
一.前言 本文主要内容是在Window系统下配置Android APP的开发环境,要配置RN的Android开发环境需要3个依赖 1.JDK(版本必须是 1.8) 2.Node(版本必须高于8.3) ...
- 获取hdfs集群信息(fs.defaultFS)
[root@hive-dp-7bd6fd4d55-wctjn hive-1.1.0-cdh5.14.0]# hdfs getconf -confKey fs.default.name19/12/04 ...
- squid+stunnel搭建代理服务器
设备:需要两台服务器 一,外部服务器 属于外网 ip 为 47.106.8.100 1,安装squid软件 2,vi /etc/squid/squid.conf acl localnet src ...
- JUC源码分析-集合篇:并发类容器介绍
JUC源码分析-集合篇:并发类容器介绍 同步类容器是 线程安全 的,如 Vector.HashTable 等容器的同步功能都是由 Collections.synchronizedMap 等工厂方法去创 ...
- ArcGis基础——动态显示面要素的面积值
很基础,不赘述. 1.在catalog(目录)新建一个PersonalGeoDatabase(个人地理数据库),导入需要处理的Shapefile文件. 坐标系统,存储路径与命名根据自己需求设定 2.直 ...
- The J2EE Architecture
- unicode_stop - 撤销控制台unicode模式(例如, 回到8-bit模式).
总览 unicode_stop 描述 unicode_stop 撤销以前 unicode_start(1) 命令的效果, 将显示屏和键盘设回到 8-bit 模式.
- 从零开始搭建系统1.1——CentOs安装
本篇主要是记录安装CentOs的过程,为什么会选择CentOs,没有过多的原因,主要是出于CentOs相对来说安装的人比较多, 以后有问题了方便查资料.本次安装是安装在一台笔记本上,WIN7+Cent ...