美文网首页
二、序数比例尺

二、序数比例尺

作者: 陆lmj | 来源:发表于2017-10-24 16:44 被阅读0次

序数比例尺的定义域和值域都是离散的。,如果需要通过输入一些离散的值得到另一些离散的值,这时候就要考虑序数比例尺。

  • d3.scale.orinal():构建一个序数比例尺
  • ordinal(x) :输入定义域内的一个离散值,返回值域内一个离散值
  • ordinal.domain([values]): 设定和获取定义域
  • ordinal.range([values]) :设定或获取值域
  • ordinal.rangePoint(interval,[padding]):接收一个连续的区间,然后根据定义域中离散值的数量将其分段,分段值即为值域的离散值。interval是区间,padding是边界部分留下的空白。
  • ordinal.rangeRoundPoints(interval,[padding]) :和ranggePoint()一样,但是会将结果取正
  • ordinal.rangeBands(interval,[padding],[outerpadding]) 代替 range()设定值域,接收一个连续的区间,然后根据定义域中离散值的数量将其分段,但是分段方法不同。
  • ordinal.rangeRoundBands():和rangeBands()一样,但是会将结果取整。
  • ordinal.rangeBand():返回使用rangeBands()设定后每一段的宽度。
  • ordinal.rangeExtend():返回一个数组,数组中存有值域的最大值和最小值。
var ordinal = d3.scale.ordinal()
                .domain([1,2,3,4,5])
                .rangePoints([0,100]);
                
console.log( ordinal.range() );          //输出[0,25,50,75,100]
console.log( ordinal(1) );                 //输出0
console.log( ordinal(3) );                 //输出50
console.log( ordinal(5) );                 //输出100
//计算见下图
ordinal.rangePoints([0,100],5);
console.log( ordinal.range() );        //输出[27.77,38.88,50,61.11,72.22]

ordinal.rangeRoundPoints([0,100],5);   
console.log( ordinal.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

step的计算

rangePoints中step的计算 rangeBands中step的计算

获取颜色的序数比例尺

  • d3.scale.category10():10种颜色
  • d3.scale.category20():20种颜色
  • d3.scale.category20b():20种颜色
  • d3.scale.category20c():20种颜色
    卢纶输入值是什么样的离散值,该比例尺都按照颜色顺序返回
var color = d3.scale.category10();

console.log( color(1) );       //输出颜色中的第一个
console.log( color("zhangsan") );      //输出颜色中的第一个

.attr("fill".function(d,i){
    return color(i);          //color是颜色比例尺,i是被绑定数据的索引hao
})

相关文章

  • D3.js --- 第二章 比例尺与坐标轴

    4种常用的比例尺: 线性、序数、序数段、时间比例尺 d3.scaleLinear() //线性比例尺 如 [...

  • 二、序数比例尺

    序数比例尺的定义域和值域都是离散的。,如果需要通过输入一些离散的值得到另一些离散的值,这时候就要考虑序数比例尺。 ...

  • 地图的故事

    1、比例尺的表示方法:文字式、线段式、数字式 2、比例尺大小的比较:分母越大,比例尺越小;分母越小,比例尺越大。 ...

  • D3系列07-比例尺

    比例尺是用来映射值域(真实值)和画布(svg)之间对应关系的工具。 比例尺分为线性比例尺,d3.scale.lin...

  • D3之比例尺

    线性比例尺 Linear Scale d3.scale.linear() 创建线性比例尺 linear.domai...

  • 六年级数学典型题型(一) 正元学堂

    1、比例尺问题:注意面积的比例尺 【相关例题】在比例尺为1:2000的沙盘上,实际面积为800000平方米的生态公...

  • 第四章 比例尺

    比例尺 连续比例尺continuous continuous(value) //给定domain范围中的一个val...

  • d3.js关于比例尺报Cannot read property

    在学习d3比例尺的时候关于比例尺报Cannot read property 'linear' of undefin...

  • D3 v5 学习笔记-3 坐标轴概览

    D3中,比例尺和坐标轴是非常重要而且紧密相关的两个概念。 比例尺: D3的比例尺:https://g...

  • 可视化D3.js库(6)-比例尺

    D3.js库-6-比例尺的使用 比例尺在D3中是一个非常实用的工具,可以这样理解比例尺:的关系,从domain映射...

网友评论

      本文标题:二、序数比例尺

      本文链接:https://www.haomeiwen.com/subject/xputpxtx.html