D3之比例尺

线性比例尺 Linear Scale

  1. d3.scale.linear() 创建线性比例尺
  2. linear.domain([]) 设置或获取定义域,支持分段形式
  3. linear.range([]) 设置或获取值域
  4. linear(x) 获取值域中与定义域中x对应的值
  5. linear.invert(y) 获取定义域中与值域中y对应的值
  6. linear.clamp([boolean]) 设置超出定义域值得处理方式,设置为true时,超出值将限定在值域内。
  7. linear.nice() 以较理想的方式调整定义域
  8. linear.ticks([count]) 选取坐标轴刻度
  9. linear.tickFormat(count,[format]) 设置刻度值得显示格式

例程

    var linear = d3.scale.linear()
                  .domain([0,20.304, 101])
                  .nice()
                  .range([0, 100, 1021])
                  .clamp(true);

    console.log(linear.domain(), linear.range());
    console.log(linear(2), linear(60), linear(120));
    console.log(linear.invert(50), linear.invert(600), linear.invert(1100));
    
    var ticks = linear.ticks(10);
    var tickFormat = linear.tickFormat(10, "%");
    console.log(ticks);
    console.log(tickFormat(ticks[2]));
线性比例尺

指数比例尺 Power Scale

  1. d3.sacle.pow() 定义指数比例尺
  2. exponent(number) 指定指数

例程

    var powerScale = d3.scale.pow()
                       .exponent(4)
                       .domain([0,10])
                       .range([0, 200]);
    console.log(powerScale(2), powerScale(5), powerScale(-2));
    console.log(powerScale.invert(3),powerScale.invert(200));
    console.log(powerScale.exponent()); 
指数比例尺

对数比例尺 Log Scale

  1. base([number]) 设置或获取底数

例程

    var logScale = d3.scale.log().base(2)
                     .domain([0.1, 10])
                     .range([-10, 20]);
    console.log(logScale(1), logScale(8),logScale(10));
    console.log(logScale.invert(-4),logScale.invert(12));
    console.log(logScale.base(),logScale.domain(),logScale.range());    
对数比例尺
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 比例尺:就像函数一样,将一个量转换为另一个量,定义域到值域的转换。每个比例尺都需要指定一个domain(定义域)和...
    陆lmj阅读 1,038评论 0 0
  • D3是用于数据可视化的Javascript库。使用SVG,Canvas和HTML。结合强大的可视化技术和数据驱动的...
    Evelynzzz阅读 7,912评论 7 5
  • 比例尺 连续比例尺continuous continuous(value) //给定domain范围中的一个val...
    Doter阅读 585评论 0 0
  • 你不能体会,因为你从未在那样的家庭里生活过。 她的每一字,每一句都让我感到无比震撼和无奈。 她在说的时候觉得哭笑不...
    ShellydeDiary阅读 180评论 0 1
  • 曾有同龄人质问过我,为什么你那么“忙”! 因为我努力啊,就比你努力那么一点点,所以我理应比你优秀一点。我本来就应该...
    逗霸君阅读 667评论 4 15