java d3.js_[Java教程][D3.js] SVG

[Java教程][D3.js] SVG

0 2015-03-17 23:02:50

D3的坐标轴组件会自动显示刻度的参考线。这可以让你只专注于数据的显示,而让坐标轴组件去帮你绘制坐标轴和标记刻度。

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif 

bc91bb04e6e9c61e24c974e4440db8f2.gif

Axis

D3的轴组件是为D3的quantitative, time 和 ordinal 标度所设计的。

# d3.svg.axis()

新建一个默认的坐标轴。

# aixs(selection)

轴线适用于selection 或 transition。选择器必须包含一个 svg 或者 g 元素。 例如:d3.select("body").append("svg") .attr("class", "axis") .attr("width", 1440) .attr("height", 30) .append("g") .attr("transform", "translate(0,30)") .call(axis);

# axis.scale([scale])(量度)

若scale量度有指定,则设置相应量度并返回轴线。若没有指定,则返回当前量度,默认为线性量度。

# axis.orient([orientation])(方向)

若orientation方向有指定,则设置相应方向并返回。若没有指定,则返回默认方向“bottom”。支持的方向有:"top" - 横坐标的刻度标注位于轴上方

"bottom" - 横坐标的刻度标注位于轴下方

"left" - 纵坐标的刻度标注位于轴左边

"right" - 纵坐标的刻度标注位于轴右边

如果指定的方向不是以上四个支持的参数之一,则会自动恢复默认值。改变方向只能改变刻度标注和轴路径相关标签的位置,并不能改变轴线本身的位置;而要针对当前区域去改变轴的位置,则可以通过指定相应的g元素的transform属性。

# axis.ticks([arguments...])(刻度)

若arguments参数有指定,则存储这些参数,然后在生成刻度时使用并返回。这些参数之后也会被传给 scale.ticks 去生成刻度值(除非刻度值有通过 axis.tickValues 明确地指定)。同时,这些参数也会被传进 scale 的 tickFormat 方法去生成默认的刻度格式。若没有指定参数,则返回默认的刻度参数,默认为[10]。

合适的参数依赖于相关的量度:对于一个线性量度来说,你可以像 axis.ticks(20) 这样去指定刻度数量;对于对数量度,你应该指定数量同时指定刻度格式;而对于时间量度,像 axis.ticks(d3.time.minutes, 15) 这样有一个时间间隔会更为恰当。

#axis.tickValues([values])(刻度值)

若指定了values 数组,这些值将会被用于刻度标注,而不会使用量度自动生成的刻度值。如果values 为空,将会清空所有之前设置的刻度值并恢复到原来生成的默认刻度值。若没有指定刻度值,返回当前设置好的刻度值,默认为空。例如,指定刻度值生成刻度尺:var xAxis = d3.svg.axis() .scale(x) .tickValues([1, 2, 3, 5, 8, 13, 21]);

这里明确指定的刻度值的优先级高于在 axis.ticks 传入的参数。但是,所有刻度参数都会传入 scale 的 tickFormat 方法里即使刻度格式没有设置;因此,它对于 axis.ticks 和 axis.tickValues 都是有效的。

# axis.tickSize([inner, outer])(刻度线长度)

若指定内部和外侧刻度线的长度,则设置之;若无指定,则返回当前内部刻度线的长度,默认为6(6px)。

# axis.innerTickSize([size])(内部刻度线的长度)

若大小指定,则按大小设置内部刻度线的长度并返回轴线。若无指定,则返回当前默认为6的内部刻度线大小。内部刻度线控制着刻度线的长度,从轴本身的位置开始计算偏移。

# axis.outerTickSize([size])(外侧刻度线的长度)

若大小指定,按大小设置外侧刻度线的长度并返回轴线。若无指定,则返回当前默认为6的外侧刻度线大小。外侧刻度线控制的是刻度尺值域两端的刻度线的长度,从轴本身的位置开始计算偏移。然而,“外侧刻度线”实际上不是刻度线而是值域路径中的一部分,它们的位置有相关量度的值域范围所决定。因此,外侧刻度线可能会被第一个或最后一个内部刻度线重合。大小为0的外侧刻度线会禁止掉值域路径的两端,无法绘制出直线。

# axis.tickPadding([padding])(刻度线与刻度标注之间的填充)

若指定填充,则设置之并返回轴线;反之,返回当前的填充大小,默认为3(3px)。

# axis.tickFormat([format])(刻度标注格式化)

若指定格式,按指定的方法设置格式并返回轴线。若无指定格式,默认为空。空的格式也意味着将会使用 scale 在调用 scale.tickFormat 时的默认格式。这种情况下,在 ticks 里指定的参数就会被传到 scale.tickFormat 里。

戳 d3.format 帮助创建格式化。例如 axis.tickFormat(d3.format(",.0f")) 会把整数在千位上用逗号隔开来显示。首先定义格式:var commasFormatter = d3.format(",.0f"),这样你可以在你的数据上像方法那样调用它,例如,在以逗号分组的整数前加上货币单位:.tickFormat(function(d) { return "$" + commasFormatter(d); })。

注:对于对数(log)量度,刻度的个数无法自定义;但是,刻度标签的个数可以通过 ticks 定义。同样的, 对数量度的刻度格式通常会通过 ticks 去指定而不是 tickFormat,以便保留默认的行为。

本文网址:http://www.shaoqun.com/a/112411.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JS

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值