Axure教程——用中继器制作动态切换的柱状图

3 评论 3242 浏览 9 收藏 10 分钟

编辑导语:一般的柱状图,只能看到某年份各月的数据,而组合柱状图或者堆叠柱状图又会显得缭乱,这时便可以用动态切换的柱状图。本文作者分享如何用中继器做一个可以动态切换的柱状图,一起来学习一下吧。

柱状图是数据可视化常用的组件,一般的柱状图只能看到某年份各月的数据,如果用组合柱状图或者堆叠柱状图,太多分类看起来也会很缭乱,这时就可以用动态切换的柱状图。

今天作者就教大家在Axure里面如何用中继器做一个可以动态切换的柱状图。

制作完成之应具备以下交互效果:

  1. 在中继器表格中填写具体数据和坐标轴最大值后,自动生成对应的柱状图
  2. 鼠标移入对应柱状体时,显示该柱状体对应的具体数据的数值
  3. 可以点击切换不同标签查看对应选项的柱状图

原型地址:https://w56jiw.axshare.com/#g=1

一、标签的制作

我们用几个矩形制作标签,表现需要设置选中样式, 案例中选中样式为填充颜色为灰色,文字颜色为白色,如下图2021年标签所示。所有标签设置为同一个单选组,第一个标签默认勾选选中。

鼠标单击标签时我们用选中的交互,设置当前元件选中为真。

二、柱状图的制作

1. 中继器表格的填写

柱状图我们需要用中继器制作,中继器内部表格是存放具体数据的位置。我们需要增加一下几列数据:

  • text:对应柱状图的横坐标文字
  • year2017~2021:分别和上面的5个标签年份的数据对应
  • fuzhu:默认为空即可,只用于后续逻辑交互

我们填写或者在excel复制对应数据过来即可。

2. 中继器内部元件

柱状图我们用中继器来制作,中继器内部元件包括、蓝色条形(矩形)、透明背景(矩形)、横坐标文字(文本标签),如下图所示摆放:

透明背景矩形主要是用来制作高亮效果,即鼠标移入对应柱状体时,会有一个变色的提示。所以我们先设置一个选中的样式为浅蓝色,然后将柱状体和背景矩形组合,鼠标移入该组合时,设置背景矩形为选中,鼠标移出组合时,设置背景矩形为取消选中。

横坐标的文本对应的是中继器表格里text里的值,所以在中继器每项加载时,我们用设置文本的交互将text列的值设置到横坐标的数据文本里。

3. 坐标轴最大值和设置柱状的高度

我们在中继器外面增加一个文本标签,在里面填写坐标轴的最大值,这里的值应该要大于或等于中继器表格里最大的数据,案例中我们填写5000。这个文本只用于计算,所以默认隐藏即可。

回到中继器每项加载时,我们根据中继器表格里的数据,用设置尺寸的交互,宽不变还是原来的宽度,高度其实就是柱状原来的高度(或者背景原来的高度)*对应的数据值在除以最大值的文本,设置尺寸的时候记的锚点设置在底部位置。

简单来书就是我当前数据值例如2500除以最大值5000,得到0.5,0.5在乘柱状图最开始的高度(这里可以看做背景矩形的高度)。

这就是设置尺寸的原理了,明白了原理之后我们还需要根据那个标签选中来确定用哪一个数据,例如2021年的标签选中我们就用year2021列的数据,如果是2020年的标签选中,我们就用year2020的数据……

4. 坐标和边线

这样柱状图就可以自动生成了,接下来我们回到中继器外面,增加边线和y坐标值,如下图所示摆放:

y坐标值用几个文本标签制作,可以手动输入文字,也可以通过交互来自动设置,前面我们填写了最大值的文本,我们可以通过该文本自动计算,例如最下面是0,然后上面一个其实就是五分之一乘最大值5000=1000;在上面一个就是五分之二*最大值5000=2000,以此类推……

都是数学关系,具体也要看你分成几份,我们在载入时用设置文本的交互来设置即可,预览时数值就会自动变化,这里注意,如果输入的最大值不是整数,或者有可能除不尽的话,我们还要用tofixed函数将他四舍五入:

5. 显示弹窗的标签

我们想做移入对应柱状体显示对应的数据的标签,所以我们用矩形制作,调整大小和样式后默认隐藏,在中继器里的柱状组合里写添加交互。

鼠标移入时,我们增加显示数据标签的交互,鼠标移出时,增加数据标签隐藏的交互,鼠标移动时,我们增加一个移动事件,我们想标签跟随鼠标移动,所以这里用到cursor的函数,可以获取鼠标的x或y值,移动时选择到达,然后获取鼠标的x值(Cursor.x)和y值(Cursor.y),我们还要加一点距离,不然就会被弹窗挡住,相当于鼠标移出了柱状组合。

最后,我们还要在鼠标移入时,用设置文本的交互将数据设置到标签上即可,这里和上面设置尺寸一样,需要分条件,就是根据选中的标签来设置具体的数据

如果2021年的标签被选中,我们就设置值中继器表格里year2021列的值;如果2020年的标签被选中,我们就设置值中继器表格里year2020列的值……

这样我们就完成动态切换柱状图原型模板的制作了,以后使用时只需要在中继器表格里填写内容,就可自动生成能切换查看不同数据的柱状图,是不是很方便呢。

那以上就是用中继器制作树形表格原型模板的全部内容了,感谢您的阅读,我们下期见。

 

本文由 @Axure高保真原型 原创发布于人人都是产品经理,未经许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 做出来了,但是我不同年份的条形结果只能加在中继器外的鼠标单击事件里,并不能加在“载入时”这种条件下,而且当数值大于设置的那个限定值的话,如何显示条形呢?以及我觉得限制值这种用全局变量更好实现。

    来自江苏 回复
  2. 就是切换的年份后 柱图的样式不会改变是为什么

    来自江苏 回复
  3. 做不出来呀。。

    来自江苏 回复