LiteChart轻量级数据可视化图表框架

联合创作 · 2023-09-28 22:42

LiteChart 是一款使用Swift开发,基于UIKit、面向iOS平台的轻量级数据可视化图表框架;只需少量代码,即可创建显示精美、动画流畅、高度自定义且易于移植的图表。

(展示图片和动画效果请见文档,GitHub中提供了中英文支持)

特性:

1. 覆盖面广。目前支持七种类型的图表,包括常用的雷达图气泡图散点图折线图柱状图饼图漏斗图

2. 高性能动画。使用异步动画绘制,动画效果流畅;

3. 支持两种动画类型。目前支持基础动画和弹簧动画,但漏斗图、饼状图、折线图、雷达图出于动画效果的考虑,不支持弹簧动画效果;用户可控制动画的暂停、重播、继续和结束控制;

4. 细致的用户自定义。除了基本的图表标题、x轴y轴、单位值等,还可以自定义参考线、各组件颜色配置、图例样式、图表显示方向等等;

5. 广泛的数据支持。折线图、散点图、气泡图支持负数输入,所有图表没有最大数据量限制;

6. 简便的使用方法。使用声明式语法,无需关心底层代码实现,只需赋值相关属性,即可完成自定义图表构建;

7. 颜色适配暗黑模式。调用合适的颜色初始化方法,快捷配置图表的暗黑显示。

代码示例(以饼图为例):

            var pieInterface = LiteChartPieChartInterface(inputDatas: [(90, .init(lightUIColor: UIColor(red: 2/255, green: 211/255, blue: 180/255, alpha: 1))), (60, .init(lightUIColor: UIColor(red: 0, green: 95/255, blue: 151/255, alpha: 1))), (45, .init(lightUIColor: UIColor(red: 255/255, green: 165/255, blue: 180/255, alpha: 1)))]) // 初始化饼图,传入数据和颜色
            pieInterface.inputLegendTitles = ["2019", "2020", "2021"] //设置图例内容
            pieInterface.displayDataMode = .percent                   //设置数据显示格式
            
            var interface = LiteChartViewInterface(contentInterface: pieInterface)
            interface.isShowLegendTitles = true                       //是否显示图例
            interface.isShowChartTitleString = true                   //是否显示图表标题
            interface.chartTitleString = "年度费用"                     //图表标题内容
            interface.chartTitleColor = .init(lightUIColor: UIColor(sRGB3PRed: 62, green: 62, blue: 62))
            interface.chartTitleDisplayLocation = .top                 //图表标题显示位置
            
            let backgroundView = try! LiteChartView(interface: interface)
            self.view.addSubview(backgroundView)                       //添加到视图中
            backgroundView.snp.updateConstraints{                      //设置约束
                make in
                make.width.equalToSuperview()
                make.center.equalToSuperview()
                make.height.equalTo(300)
            }
浏览 2
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报