可视化工具–D3–坐标轴的使用

坐标轴作为一个可视化图表里的组成部分,扮演者十分重要的角色。
d3.js里定义了坐标轴的绘制方法(个人翻译,有错误请谅解):
• d3.axisTop – 创建一个坐标轴生成器(top)
• d3.axisRight - 创建一个坐标轴生成器(Right)
• d3.axisBottom - 创建一个坐标轴生成器(Bottom)
• d3.axisLeft - 创建一个坐标轴生成器(Left)
• axis – 生成坐标轴
• axis.scale – 为坐标轴设置比例尺
• axis.ticks – 定义坐标轴刻度生成方式(默认值为)
• axis.tickArguments – 定义坐标轴刻度参数
• axis.tickValues – 设置有特殊需求的刻度值(默认值为null)
• axis.tickFormat – 设置有特殊需求的刻度格式(默认值为null)
• axis.tickSize – 设置刻度的大小
• axis.tickSizeInner – 设置除两端外所有刻度的长度(默认值为6)
• axis.tickSizeOuter - 设置两端刻度的长度(默认值为6)
• axis.tickPadding – 设置刻度与文字之间距离(默认值为3)

这里写图片描述

axis.ticks(5) 与 axis.tickArguments([5]) 的效果相同
axis.ticks(d3.timeMinute.every(10)) 可以生成时间刻度,同时也可以用
axis.tickArguments([d3.timeMinute.every(10)]) 来生成

var svg = d3.select("svg"),
            margin = {top: 20, right: 20,bottom: 30, left: 50},
            width = +svg.attr("width") - margin.left - margin.right,
            height = +svg.attr("height") - margin.top - margin.bottom,
            g = svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")");

var Format= d3.format(',.0f');


var x = d3.scaleLinear()
            .range([0, width])
            .domain([0,10]);

var y = d3.scaleLinear()
            .range([height, 0])
            .domain([20,0]);

var xAxis=d3.axisBottom()
            .scale(x)
            .ticks(5)
            .tickValues([1, 2, 4, 8])
            .tickFormat(function(d) { return '#' + Format(d); })
            .tickSizeInner(5)
            .tickSizeOuter(20)
            .tickPadding(10);

var xAxis2=d3.axisTop()
            .scale(x)
            .tickArguments([5])
            .tickValues([2, 3, 5, 7])
            .tickFormat(function(d) { return Format(d)+ '*' ; })
            .tickPadding(2);

g.append("g")
            .attr("transform", "translate(0," + height + ")")
            .call(xAxis);

g.append("g")
            .attr("transform", "translate(0,0)")
            .call(xAxis2);

g.append("g")
            .call(d3.axisLeft(y));

g.append("g")
            .attr("transform", "translate("+width+",0)")
            .call(d3.axisRight(y));

这是上图的代码,比较简单,如有错误请谅解。(本文使用d3.v4)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章,D3入门指南,是D3.js预热。它涵盖了一些基本概念,诸如D3.js是什么,以及如何搭建一个适用于D3.js数据可视化程序的开发环境等。 第 2章,精挑细选,向你介绍了D3数字可视化中最基本的一项操作——选集。选集可以帮助读者定位页面上的元素。 第3章,与数据同行,探索了任何数据可视化程序中都会涉及的基础问题——如何通过程序构造、可视化效果展示数据。 第4章,张弛有“度”,介绍了数字可视化中非常重要的一个子领域。作为一个数字可视化的开发人员,如何将数据映射为可视化元素,是一个每天都要面对的问题,本章就此问题做了深入探索。 第5章,玩转坐标轴,介绍了坐标轴组件,以及基于笛卡尔坐标系的可视化程序的相关技术。 第6章,优雅变换,介绍了过渡相关的概念。“一图胜千言”正是对数字可视化的最好总结。这一章涵盖了D3库中过渡以及动画的相关概念。 第7章,图形之美,介绍了SVG相关的概念。SVG是一个广泛用于数字可视化程序的W3C(World Wide Web Consortium)标准。 第8章,图表美化,探索了数据可视化中最为人知的组件——图表。图表是定义良好的且易于理解的数据可视化展示方式。 第9章,井然有序,本章集中讲述D3的布局。D3的布局是一种算法,用于计算和生成元素的位置信息,这些元素可用于生成复杂又有趣的可视化程序。 第10章,可视化交互,本章集中讲述D3可视化交互的支持,换句话说,即如何向你的可视化程序添加控制能力。 第 11 章,使用“原力”,介绍了D3 中又一神奇的功能——力学。力模拟是数字可视化程序中最炫的一项技术。 第12章,地图的奥秘,介绍了D3基本的地图可视化技术,以及如何在D3中实现一个全功能的可视化地图。 第13章,测试驱动,帮助你使用TDD的方式来实现可视化程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值