从下往上增加的柱状图生成动画(适用于统计类应用)

echarts柱状图实现立体柱状效果,柱体出现时显示上升动画,柱体上方数字也从0开始动画 【代码】echarts柱状图实现立体柱状效果,柱体出现时显示上升动画,柱体上方数字也从0开始动画。 阅读详情

我们在一些统计,理财应用中,经常能看到很多的柱状图,用来直观的标注信息,最近一个朋友刚好在做这方面的应用,跑来问我这个怎么实现,我笑他不就是简单的实现一个动画嘛,额,然后自己去做的时候才发现各种坑.

       1.所有的UIView子类中,UILabel不能实现效果

       2.创建View和对View实现的动画效果要放在一个方法中

       3.增加的height和减少的top(顶部y坐标)必须成2倍关系 或者 增加的height和增加的bottom(底部y坐标)必须成2倍关系

       @最后,直接上代码,大家可以去试验下,我也不太清楚究竟是什么原理,有了解的欢迎给我留言

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. #import "HMTRootViewController.h"  
  2. #import "UIViewAdditions.h"  
  3.   
  4. @interface HMTRootViewController ()  
  5.   
  6. @property (nonatomic, strong)NSMutableArray *imageArray;  
  7. @property (nonatomic, strong)NSArray        *urlArray;  
  8.   
  9. @property (nonatomic, strong)UIView *columnarView;  //  柱状图  
  10.   
  11. @end  
  12.   
  13. @implementation HMTRootViewController  
  14.   
  15. - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil  
  16. {  
  17.     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];  
  18.     if (self) {  
  19.         // Custom initialization  
  20.     }  
  21.     return self;  
  22. }  
  23.   
  24. - (void)viewDidLoad  
  25. {  
  26.     [super viewDidLoad];  
  27.     // Do any additional setup after loading the view.  
  28.      
  29. #pragma mark - 一个bug,创建view必须和动画增高在同一个方法里面  
  30.     self.columnarView = [[UIView alloc] initWithFrame:CGRectMake(10, 100, 40, 10)];  
  31.     self.columnarView.backgroundColor = [UIColor redColor];  
  32.     [self.view addSubview:_columnarView];  
  33.       
  34.     //  用来对比,columnarView是否发生了偏移  
  35.     UIView *aa = [[UIView alloc] initWithFrame:CGRectMake(50, 150, 40, 10)];  
  36.     aa.backgroundColor = [UIColor brownColor];  
  37.     [self.view addSubview:aa];  
  38.   
  39.     UIButton * button = [UIButton buttonWithType:UIButtonTypeSystem];  
  40.     button.frame = CGRectMake(100, 510, 80, 40);  
  41.     [button setTitle:@"生成" forState:UIControlStateNormal];  
  42.     [button addTarget:self action:@selector(onClickTextButton) forControlEvents:UIControlEventTouchUpInside];  
  43.     [self.view addSubview:button];  
  44.       
  45.     [UIView animateWithDuration:2 animations:^{  
  46.           
  47.         //  增加的height和减少的top(顶部y坐标)必须成2倍关系,才能保持动画的一致  
  48.         self.columnarView.height += 100;  
  49.         self.columnarView.top -= 50;  
  50.           
  51.     } completion:^(BOOL finished) {  
  52.     }];  
  53.   
  54. }  
  55.   
  56. - (void)onClickTextButton{  
  57.       
  58.     self.columnarView = [[UIView alloc] initWithFrame:CGRectMake(150, 100, 40, 10)];  
  59.     self.columnarView.backgroundColor = [UIColor redColor];  
  60.     [self.view addSubview:_columnarView];  
  61.   
  62.     [UIView animateWithDuration:2 animations:^{  
  63.   
  64.         //  增加的height和增加的bottom(底部y坐标)必须成2倍关系,才能保持动画的一致  
  65.         self.columnarView.height += 100;  
  66.         self.columnarView.bottom = 160; // self.columnarView.bottom += 50 不能实现  
  67.       
  68.     } completion:^(BOOL finished) {  
  69.     }];  
  70.   
  71. }  
瀑布图直方图案例 瀑布图是由麦肯锡顾问公司所独创的图表类型,因为形似瀑布流水而称之为瀑布图( Waterfall Plot)。此种图表采用绝对值与相对值结合的方式,适用于表达数个特定数值之间的数量变化关系。常用于表示两个数据点之间的演变过程,在瀑布图中,底部贴着坐标轴的条图表示阶段性统计值(汇总值),其余的表示增长或者减少(相对值)。劣势name:右侧图例的标签measure:设置相对值还是汇总值(是否贴着底部)increasing:设置上升的颜色decreasing:设置下降的颜色。 阅读详情

相关推荐

动态柱状图(事实动态重绘)

比较粗糙的动态垂直增长柱状图,在绘制过程中可以事实的响应数据的改变重新绘制

SVG 动画基础 (横向动态排序柱状图为例)

对于场景2,当在父组件中,改变传递给子组件的参数,子组件的props会跟着改变,但是mounted生命周期函数不会再次调用,所以不会发送请求,子组件显示的依然是老数据。如果子组件中的数据只有部分是请求接口返回的数据,可以选择重新渲染子组件,也可以更新子组件中部分数据。对于场景1,当在父组件中,改变传递给子组件的参数,子组件的props会跟着改变,所以子组件会更新。2.1 给子组件加ref,父组件通过ref调用子组件中的请求后端数据的方法。如果子组件中的数据仅仅是请求接口返回的数据,可以选择重新渲染子组件。

无心使然云中漫步 1096

android 炫酷动画柱状图例子

android自带的图表控件都很简单,样式单调,这个例子利用html5加js定义图表样式,在html里调用java的方法传递数据生成图表。很强大。同时也是一个对于html调用java方法的很大的启发!

让Echarts柱状图动起来

让Echarts柱状图动起来

文龙刚的博客 5019

jQuery 3D水池百分比柱形图特效

一款基于html5 canvas和jQuery绘制的3D水池百分比柱形图特效,点击柱状图可以动态改变水量高度值!

nvlddmkm事件ID14报错排查全指南:从找不到描述到显卡驱动崩溃

系统日志中的“无法找到描述”往往让人一头雾水,但这类提示其实隐藏着驱动故障的关键线索。Windows事件查看器通过事件源和ID记录系统异常,其中显卡驱动相关的内核模式驱动组件一旦超时失败,就会触发TDR机制,产生13、14、153等不同事件ID。理解这些ID的含义,比纠结“找不到描述”本身更重要。对于频繁出现的驱动崩溃问题,可以从日志频率和发生场景判断方向,再通过安全模式下彻底清理驱动、关闭冲突软件、检查供电和温度等步骤逐层定位。无论是游戏满载黑屏,还是睡眠唤醒后闪退,掌握NVIDIA驱动日志的解读逻辑,都

weixin_30545945的博客 409

echarts-柱状,动态

echarts-柱状,动态 代码 <template> <div style="width:100%;height:100%;" id="issues"></div> </template> <script> import echarts from 'echarts' export default { mounted() { this.drawLine() }, methods: { drawLine(...

qq_44891434的博客 807

ANSYS-CFX,计算时报错,内存参数报错,return code 1【终极解决方案】

ANSYS-CFX,计算时报错,内存参数报错,return code 1【终极解决方案】 在CFX计算时经常会遇到内存不足的错误报告,有的算例网格并不多也会出现这样的问题,本文就最近遇到的内存错误问题以及解决方法进行简单的总结,以供大家参考。 1 CFX-Solver Manager内存种类 打开Define Run,面板上的Partitioner、Solver、Interpolator选项中分别都有关于内存的设置选项。当出现内存不足错误时,应该设置哪一个选项的内存参数,要看是哪一部分的内存不足。 2 C

深海民工CFDer 3万+

android伸缩动画自定义,Android干货:自定义带动画的View

对于一个自定义View来说,onMeasure只是用来计算View尺寸,onDraw()才是真正执行View的绘制,所以一般我们都需要重写onDraw()函数来绘制我们期望的UI界面,下面我以一个具体的例子探索自定义View的onDraw()的实现过程和关键点。我们的目标是制作一个柱状图动画,View的动画启动后,会显示一排柱状图增长的画面,这种动画多用于财务类或者统计类的APP中,效果如图所示(...

weixin_36131782的博客 386

langchain入门学习笔记

langchain快速入门

1731

GSEA富集分析实战:从数据准备到结果解读的完整R代码指南

本文提供了一份完整的GSEA富集分析实战指南,涵盖从R环境准备、数据质量控制到基因ID转换、参数优化和结果解读的全流程。通过详细的R代码示例和实用技巧,帮助研究人员高效完成基因集富集分析,特别针对生物信息学中常见的GSEA分析痛点提供了专业解决方案。

weixin_29246195的博客 536

AI论文写作工具:从提纲生成到学术规范检查全解析

AI论文写作工具通过自然语言处理技术,为学术写作提供智能化解决方案。其核心原理是基于领域适应的预训练模型,结合学术语料库进行微调,实现论文提纲生成、文献综述加速和实验数据可视化等功能。这类工具的技术价值在于显著提升写作效率,降低格式错误率,同时通过智能算法保障学术规范性。在计算机、医学等学科领域,AI写作工具已展现出90%以上的格式合规准确率。对于科研工作者而言,合理使用这类工具可以优化从开题到答辩的全流程,特别是在处理参考文献管理、统计图表生成等高频刚需场景时效果显著。以千笔AI写作为代表的专业工具,正通

weixin_29056865的博客 283

宝塔面板+pbootCMS建站全流程:从服务器选购到上线优化(附常见问题排查)

本文提供了一份详尽的宝塔面板与pbootCMS建站实战指南。内容涵盖从云服务器选购、宝塔面板部署与安全加固,到pbootCMS安装、权限配置、数据库连接等核心步骤。同时深入讲解了PHP环境优化、Nginx伪静态设置、缓存开启等性能与SEO优化技巧,并附有常见问题排查与后期维护建议,帮助用户高效、稳健地完成专业网站构建。

e4f5g6h的博客 660

Bar 3D 和Pie 3D的统计图形

最近在做一个关于图形统计的界面,主要用到的是Dev控件ChartControl(功能很强大,能解决基本和复杂图形统计问题)。 ChartControl主要有Diagram、Series、Legend三个重要属性 diagram主要是用来控制图形X、Y、Z轴显示的样式和是否允许旋转以及旋转的角度和绕那个轴旋转。 series主要是用来给chartcontrol控件增加各种图形,图形

qiupu4667的博客 1044

LVGL(lv_table)

LVGL中的lv_table是一个轻量级表格控件,用于显示行列式文本数据。它支持设置单元格内容/样式、行列调整、事件响应等基础功能,适用于参数配置、数据展示等场景。通过API可快速创建表格,设置行列数、填充数据,并自定义对齐方式与样式。但需注意默认无滚动条、行数限制等问题。该控件适合简单表格需求,复杂交互需结合自定义事件处理。

m0_49476241的博客 1262

MEMS传感器技术深度解析:从原理到未来趋势的全面指南(智能驾驶赛道有戏)

在智能汽车每秒产生1GB数据的今天,在可穿戴设备厚度突破1毫米的极限挑战下,MEMS(微机电系统)传感器正以的三大核心优势,重塑着人类感知世界的方式。作为从业10年的MEMS工程师,我见证了这个领域从实验室走向量产的完整历程——从2005年汽车安全气囊中笨重的压阻式加速度计,到2025年智能手机中集成5种传感器的SoC芯片,MEMS技术正在书写传感器行业的摩尔定律新篇章。本文将带您穿透技术迷雾,深入解析MEMS传感器的技术密码,涵盖,并附独家整理的与。文末更提供,助您把握万亿级市场机遇。

优快云-新能源汽车研发测试专业博主 2300

基于Granite-4.0-H-350m的自动化报表生成系统

本文介绍了如何在星图GPU平台上自动化部署【ollama】granite-4.0-h-350m镜像,构建轻量高效的企业级自动化报表生成系统。该模型可理解自然语言指令,自动生成SQL、图表代码及多格式导出(PDF/Excel/PPT),典型应用于销售分析、用户留存监测与财务成本结构报告等场景。

weixin_29317963的博客 274

【人工智能】拒绝焦虑,理性突围:AI 时代 Java 工程师的职业重构与进化指南

摘要:在AI技术快速发展的背景下,Java工程师面临职业转型挑战。本文通过MECE原则解构工作内容,划分高替代风险区(如CRUD开发)、高增效潜能区(如逻辑优化)和高核心壁垒区(如架构设计),指出AI对不同任务的影响程度。从劳动经济学视角分析行业将呈现K型分化,初级执行者被替代,而精通AI协作的全栈工程师需求增长。文章强调警惕过度依赖AI导致认知能力退化,并提出转型路径:掌握AI驱动开发(AIDD)、深耕领域驱动设计(DDD)、拓展全流程能力及AI原生应用开发。最终结论指出,未来的核心竞争力在于结合AI工具

奶爸的编程之路,也就一周冷个三天 133

Web全栈应用之旅-启程篇

一、Web应用技术栈 在开发Web应用时,通常会使用到以下技术栈: 对应这些技术栈都已有相应的开源产品,可以根据项目需要选择适合的产品。 二、开源产品选型原则 开源产品选型主要考虑: 适合本项目,如满足功能需要,开发者已有的技能储备等等。 活跃度高,发现问题开发团队能及时解决。 已经有不少项目的成功经验。 三、iTracker产品选型 iTracker是一个开源任务管理系统,目的是通过实际项...

weixin_45490875的博客 521

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

okbiye AI 科研绘图:一站式期刊级科研图表生成工具,告别 Origin 与 Visio 繁琐制图

科研的核心价值在于实验探究、数据分析、学术创新,而不是耗费大量时间在繁琐的图表绘制、格式调整上。传统制图软件学习成本高、多软件切换操作繁琐、付费工具门槛高、普通 AI 绘图工具不贴合期刊规范,长期以来拖累科研工作效率。

okbiye|免费论文查重/开题报告/论文初稿/文献综述 54

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

数学建模核心理论与实战指南:从模型分类到算法应用

数学建模是将现实世界复杂问题抽象为数学结构,并通过计算求解以指导决策的关键技术。其核心原理在于通过合理简化与假设,抓住问题主要矛盾,构建描述变量关系的数学模型。这一过程的技术价值在于为优化资源配置、预测趋势、评估方案等提供了科学量化工具。在应用场景上,数学建模广泛渗透于生产调度、物流规划、金融分析、流行病预测及人工智能等领域。本文聚焦于模型构建的通用流程与关键环节,深入剖析了优化类、评价预测类、机理分析类及统计分析类等主流模型的应用逻辑,并结合线性规划、时间序列分析、微分方程数值求解等具体算法,探讨了从问题

weixin_30243533的博客 397

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

基于HarmonyOS API 24实战解析图表柱状条数据,由工具函数生成而非用户输入,barHeight 采用了 ArkTS 的 vp(虚拟像素)单位,maxValue 字段用于在图表中计算相对比例

在 HarmonyOS NEXT 正式商用的背景下,ArkTS 作为鸿蒙生态的官方应用开发语言,正在从传统的命令式 UI 开发范式向声明式 UI 范式全面迁移。ArkUI 框架以组件化、声明式、状态驱动为核心特征,要求开发者以"描述 UI 应该是什么样"而非"一步步操作 UI 怎么变"的思维方式构建界面。

2302_79499487的博客 160

Android产品开发中常用的一些开源项目

你在工作中可能会遇到同时给你说不要重复发明轮子,其实这个说的就是第一:不要做重复的事情,第二:站在巨人的肩膀上。现在有了互联网以及开源的精神,我们的很多在产品中需要实现的功能组件都可以在互联网上找到,我们可以直接拿来用,这样我们就不用重复做东西了,这得益于开源奉献精神。像Google、Facebook这类的大公司都在使用很多的开源产品,比如我们常见的Apache系列、我们使用的Eclipse I...

用平常的心,做不平常的事 246

基于HarmonyOS ArkTS API 24 HitTestMode 还有 Default(默认阻断)和 Block(阻断父级)两种模式,None 适用于纯装饰覆盖层

在移动互联网与智能穿戴设备高度普及的今天,"习惯养成"已经从一个模糊的自我管理理念,演变为一个可量化、可追踪、可视化的数字化产品赛道。越来越多的人希望借助手中的智能终端,把"早起、冥想、阅读、运动"这些抽象的自律行为,转化为一条条清晰的数据曲线和一张张可触摸的打卡卡片。而鸿蒙生态(HarmonyOS)凭借其跨设备协同、分布式软总线以及声明式 UI 开发框架 ArkUI,为这类注重"轻量化交互 + 即时反馈"的生活方式类应用提供了极为理想的生长土壤。本应用正是一款面向"晨间场景"深度打磨的习惯追踪工具。它聚焦

qq_17776737的博客 192

陀螺匠低代码PC统计看板,数据驱动,智领办公!(1)

支持将多种样式的数据报表,按照一定的业务逻辑进行排布展示,供使用者进行实时数据查看、筛选、分析、处理。它的数据来源于各实体中的数据,随数据实时更新、团队共享,各种统计图表需要展示的维度/指标相关数据都可以自由设置。

crmebyyy的博客 512
上一篇: 剖析Path侧边栏抽屉效果原理(抽屉效果,Path效果)
下一篇: 点击搜索取消UISearchDisplayController的搜索状态
SMY_API
博客等级 码龄13年 5粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值