【Axure教程】增删改饼图

今天教大家制作增删改饼图的原型模版,该模版是用Axure原生元件制作的,所以不需要联网或者调用外部接口,使用也很方便,默认数据在中继器表格里填写,默认支持20个不同颜色的扇形,后续可根据实际需要自己增加扇形,预览时即可自动生成交互效果,具体效果可以打开下方原型地址体验

【原型效果】

修改数据效果------在表格里修改数据后,会自动生成对应的饼图

添加数据效果------可以在表格对应行上方或下方添加新行,在新行里添加数据后,会自动生成对应的饼图,案例中提供20种不同颜色的扇形,后续有需要也可以自行增加扇形。

删除数据效果------点击删除按钮,可以删除对应行的数据,删除后会重新生成对应的饼图

【原型预览含下载地址】

https://axhub.im/ax11/9a27399d9b2d17a5/?g=1&p=能增删改的饼图

【制作教程】

一、材料准备

主要包括左侧表格和右侧饼图两部分

1.1左侧表格

表格表头我们用矩形制作,如下图所示摆放:

表格内容我们用中继器来制作,包括矩形、按钮、输入框。底部矩形要和表头矩形同宽;第一列对应饼图的颜色,我们要用多个颜色矩形,放在一个动态面板的不同状态页里,案例中是20中颜色。如下图所示摆放

中继器表格里需要新增3列,no列对应序号,默认按12345......填写;text列对应项目文本;data列对应项目数据。

1.2右侧饼图

饼图也是要用中继器来制作,和前面一样,我们需要20种颜色的半圆,分为左半圆和右半圆,左右半圆分别放在两个动态面板里,有多少个颜色对应多少个面板状态,案例中是20个,因为后续旋转需要再圆的中心,所以我们要增加透明的圆,然后将动态面板和透明圆组合,然后再次转为动态面板,如果是右侧半圆我们就放在左侧面板,默认是看不到他的,后续通过占比和交互,将他显示对应的角度;左侧半圆也是同样操作。

中继器表格里需要新增2列,data列对应该扇形的项目数据,gengxin列默认为空,仅用于逻辑交互。

1.3其他材料

我们在制作的过程中,还需要一些默认隐藏的文本标签和按钮,用来实现交互逻辑。

二、交互制作

2.1饼图的生成

在中继器每项加载时,我们首先要根据每个项目数据、项目数总和来控制半圆的显示,例如a项目数值是25,所有项目总和是100,那他的占比就是25/100=25%,相当于要占比1/4个圆,1/2个半圆,所以我们就要将半圆旋转90,就是显示1/4个圆了,所以我们用旋转的交互,将左侧动态面板里的组合旋转到对应的位置,这样就可以显示对应的扇形面积了。

这里还需要说明一点,上面的扇形最大值显示的就是半个圆,就是说数据占总数据最大是50%,超过了50%,我们就要理由右侧圆了。数据占比大于50%,例如项目b的数值是75,项目总数是100,按他的占比是75/100=75%,相当于要显示4分之3个圆。所以我们想把左侧半圆组合全部显示,就是旋转180度,然后右半圆旋转90度,显示剩下的50%即可。

这里是第一个扇形的情况,然后后面的扇形也是类似,只不过旋转的交互,要加上之前旋转的交互,例如第一个旋转了25度,那第二个就要从25度后面开始旋转,所以我们要记录每行旋转的角度,然后再次用旋转的交互旋转该角度。然后用设置面板状态,将半圆的动态面板设置到和序号一样的状态页,这样就会出现对应颜色的扇形。因为中继器第二行的数据会在第一行下面,所以我们要用移动的交互,将他移动到一样的位置,例如第二行就要减一个圆的高度,第三行就要减2个圆的高度。

这样饼图就可以根据中继器表格里的数据自动生成了。

这里最大值的数据是要自己填写的,我们也可以自动统计,我们可以设一个开关,如果开关是开,就在每行数据加载的时候累计,这样加到最后一行就可以得出总值了,如果开关为关,再执行上面生成饼图的交互。

这样就可以自动统计总和了。

2.2左侧表格的交互

在中继器每项加载时,我们用设置文本的交互将文本设置到对应的元件里,用设置动态面板的交互,设置颜色动态面板显示每行对应的颜色。

然后我们还要用这个中继器的数据控制饼图的数据。如果是刚开始加载,我们就用删除行的交互,删除右侧扇形图中继器的所有数据,然后每项加载时,再用添加行的交互将该中继器表格的数据传过去,这要就可以通过该表格的数据控制饼图。

控制饼图之后,我们先设置开关值为开,让他执行上面计算总数的交互,等待计算总和完成后,我们再奢姿开关值为关,并更新gengxin列的值,这样饼图中继器就会重新加载生成饼图。

这样就可以通过左侧表格的数据动态控制右侧的饼图。

2.3表格内数据的增删改

输入框失去焦点时,我们用更新行的交互,更新当前中继器对应列的值为输入框里的文本值即可。例如更新的是项目名的输入框,我们就更新text列,更新的是数据的输入框,我们就更新data列。

删除按钮单击时,我们首先要更新序号,例如删除的是第三行,原来第四行的序号就要变成3,原来第五行的序号就要变成4......总结就是比删除的行的序号要大的行的需要都要减一。然后再用删除行的交互删除当前行。

鼠标点击下方添加行按钮时,我们同样也是,要先更新序号,例如在第三行下方添加,原来第四行的序号就要变成5,原来第五行的序号就要变成6......总结就是比添加的行的序号要大的行的需要都要加一。然后用添加行的交互,添加一行序号为当前行的序号+1的空行。

鼠标点击在上方添加行按钮也是同理,在上方添加的话,更新行的条件变成当前行也要+1,例如在第三行上方添加行,那第三行也要变成第四行,添加新的行的序号就是第三行。

另外,我们在中继器载入时,要用排序的交互,中继器表格按no列来排序,这样插入的数据才会出现在对应的位置。

这样我们就完成了增删改饼图的效果,如果需要增加扇形数量也很简单,在动态面板里增加不同颜色的半圆和对应的矩形即可,不过20个项目在一个饼图里已经算很多了,再多的数据也不建议使用饼图。

恭喜你已经学习了用Axure原生元件制作增删改饼图的教程,后续使用时,数据在中继器表格里维护,既可自动生成饼图,是不是很方便呢?

那以上就是本期的全部内容了,感谢您的阅读,我们下期见~

相关推荐
北极星日淘3 天前
前端 i18n 中日双语交互 + 翻译客服接口联动方案|日系海淘平台中文友好化开发实战
前端·交互
UXbot3 天前
帮助企业低门槛开展AI应用开发的平台推荐
前端·低代码·ui·交互·产品经理·原型模式·web app
蓝速科技3 天前
蓝速科技 AI 数字人部署与交互实战指南
人工智能·科技·交互
夜郎king3 天前
Axure 原型落地 HTML:基于 Trae Solo 实现 GIS 多级行政区划切换全流程实践
axure·trae solo·gis可视化
UXbot3 天前
原型设计工具如何帮助新人快速进入产品行业?
前端·低代码·ui·交互·团队开发·原型模式·web app
Resurgence_zc3 天前
openGauss 资源池化主备页面交互流程梳理
网络·交互·数据库开发
potion()4 天前
浏览器用户画像分析-大屏静态布局制作+数据接入+交互设置
交互·助睿数智·商业数据分析
LONGZETECH4 天前
无人机仿真教学软件选型实战:5 个硬核技术维度,避开实训建设踩坑
3d·无人机·交互·cocos2d
6v6-博客4 天前
PyCharm 中调用项目内文件夹的 Python 文件方法
教程·6v6博客网