EasyCharts

EasyCharts

一个简单可方便快捷画出折线图、饼图、进度条、柱状图、雷达图的iOS库(Objective-C版本)。新库刚开始维护,希望大家多多支持,可issuepull requestfind bugfeature requestGitHub地址

还有别忘了 star :-)

Features

  • BrokenLineChart (折线图)
  • PieChart (圆饼图)
  • ProgressChart (进度条)
  • BarGraph (柱状图->开发中)
  • RadarMap (雷达图->开发中)

持续更行中……

Installation

目前

  • 下载源代码,将EasyChartscopy进项目

Usage

导入头文件

#import "EasyCharts.h"

下面介绍一下几种图的基本使用

BrokenLineChart

BrokenLineChart目前有两种类型BrokenLineTypeCenterPointBrokenLineTypeNormal

BrokenLineTypeNormal是普通的折线图 \
BrokenLineTypeCenterPoint选中的点始终居中

创建时除了BrokenLineType还有两个参数,一个是frame,另一个是ECBrokenLineConfig(参数如下)对象。

ECBrokenLineConfig可配置折线图的属性,属性都有默认值。当然可以传nil,全部被使用默认值

@property (nonatomic, strong) UIColor *brokenLineColor;
@property (nonatomic, strong) UIColor *backVeiwLineColor;
@property (nonatomic, strong) UIColor *backVeiwTextColor;
@property (nonatomic, strong) UIColor *backVeiwBackGroupColor;
@property (nonatomic, strong) UIColor *brokenAbscissaColor;

@property (nonatomic, assign) CGFloat minValue;  //default 0
@property (nonatomic, assign) CGFloat maxValue;  //default 100

@property (nonatomic, assign) CGFloat numberOfIntervalLines; //default 5
@property (nonatomic, assign) BrokenLineType brokenLineType;

delegate,在当前折线图上的点被点击时调用:

- (void)brokenLineView:(ECBrokenLineView *)brokenLineView
   selectedAtIndexPath:(NSIndexPath *)indexPath;

初始化:

 ECBrokenLineView *brokenLineView = [ECBrokenLineView lineViewWithFrame:frame
                                                      withBrokenLineConfig:nil
                                                            brokenLineType:BrokenLineTypeNormal];
    brokenLineView.delegate = self;
    [self.view addSubview:brokenLineView];
 ECBrokenLineView *brokenLineView = [ECBrokenLineView lineViewWithFrame:frame
                                                      withBrokenLineConfig:nil
                                                            brokenLineType:BrokenLineTypeCenterPoint];
    brokenLineView.delegate = self;
    [self.view addSubview:brokenLineView];

填充数据(也可刷新页面数据)(数值小于最小值,则值显示为最小值,点两边为虚线。值大于最大值,则显示最大值,点两边为虚线):

[self.brokenLineView reloadLineViewDataWithPointValveList:self.pointValveList
                                                    titleText:self.pointTextList];

BrokenLineTypeNormal 效果图:


EC_lineNormal

BrokenLineTypeCenterPoint 效果图:


EC_lineCenterView

ProgressView

初始化只需要传入frame

ECProgressChartView *progressView = [ECProgressChartView progressChartViewWithFrame:frame];
    [self.view addSubview:progressView];

填充数据(也可刷新页面数据);

[self.progressView resetProgress:[self createProgress]];

效果图:


EC_lineCenterView

BrokenLineChart && ProgressView

简单看一下应用场景:


EC_lineCenterView

PieChart

初始化只需要传入frame

 ECPieChartView *pieView = [ECPieChartView pieChartViewWithFrame:CGRectMake(0, 100, ECScreenW, 200)];
    [self.view addSubview:pieView];

填充数据(也可刷新页面数据);三个参数,分别是百分比列表、颜色列表、文案列表

[pieView drawPieChartWithPercentList:self.percentList
                               colorList:self.colorList
                             arcTextList:self.arcTextList];

效果图:


EC_lineCenterView

Communication

  • 如果在使用过程中遇到BUG,希望你能Issues我(最好提供复现步骤),谢谢
  • 如果在使用过程中发现功能不够用,希望你能Issues我
  • 如果你想为EasyCharts输出代码,请拼命Pull Requests
### EasyCharts 库简介 EasyCharts 是一款专为简化表创建而设计的 Android 表库,具有动画效果支持。该库旨在提供简单易用的 API 接口以便开发者能够迅速集成并展示数据可视化内容[^1]。 ### 安装方法 为了使用 EasyCharts,在项目的 `build.gradle` 文件中添加依赖项: ```gradle dependencies { implementation 'com.github.AndroidCharts:library:[latest_version]' } ``` 请注意替换 `[latest_version]` 为实际版本号。可以通过访问 [项目主页](https://gitcode.com/gh_mirrors/an/AndroidCharts) 获取最新发布信息。 ### 基本用法示例 下面是一个简单的折线图绘制例子: #### XML布局文件定义 在应用界面布局XML文件里加入如下代码片段来声明一个 ChartView 组件: ```xml <com.androidcharts.ChartView android:id="@+id/chart_view" android:layout_width="match_parent" android:layout_height="wrap_content"/> ``` #### Java/Kotlin端初始化与设置数据集 接着可以在Activity或者Fragment类里面完成ChartView实例化以及设定要显示的数据集合操作: 对于Java语言环境下的实现方式如下所示: ```java // 初始化视对象 ChartView chartView = findViewById(R.id.chart_view); // 创建数据序列列表 List<DataEntry> entries = new ArrayList<>(); entries.add(new DataEntry(0, 2)); entries.add(new DataEntry(1, 5)); entries.add(new DataEntry(2, 7)); // 构建LineDataSet对象用于存储线条样式属性 LineDataSet dataSet = new LineDataSet(entries); dataSet.setColor(Color.BLUE); // 设置颜色 // 将上述构建好的dataset放入到lineData容器内 LineData lineData = new LineData(dataSet); // 把准备完毕后的lineData赋给chartView组件进行渲染呈现 chartView.setLineChartData(lineData); ``` 如果是Kotlin,则可以这样写: ```kotlin val chartView : ChartView = findViewById(R.id.chart_view) val entries = listOf( DataEntry(0f, 2f), DataEntry(1f, 5f), DataEntry(2f, 7f) ).toMutableList() val dataSet = LineDataSet(entries) dataSet.color = Color.BLUE val lineData = LineData(listOf(dataSet)) chartView.lineChartData = lineData ``` 通过以上步骤就可以成功地在一个应用程序界面上显示出一条蓝色的折线图了。 ### 配置选项说明 除了基本的颜色配置外,还可以调整其他外观参数比如线条宽度、节点形状大小等特性;同时也提供了丰富的交互功能如缩放和平移手势的支持等功能模块供使用者按需选用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值