GLChart 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
GLChart 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
GLChart 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
GLChart 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
GLChart 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
开发语言 Objective-C
操作系统 iOS
软件类型 开源软件
所属分类 iOS代码库
开源组织
地区 国产
提 交 者 高力
适用人群 未知
收录时间 2016-03-21

软件简介

漂亮的 iOS 图表库,支持横向拖拽、图例显示。

 

示例代码:

折线图:

#import "GLChartData.h"
#import "GLLineChart.h"

GLChartData *chartData = [[GLChartData alloc] init];
GLLineChart *lineChart = [[GLLineChart alloc] init];

chartData.xValues = @[@"10:01", @"10:02", @"10:03", @"10:04", @"10:05",
                      @"10:06", @"10:07", @"10:08", @"10:09", @"10:10"];

chartData.yValues = @[@{@"color": @"#7CB5EC",
                        @"value": @[@18, @20, @18, @20, @18,
                                    @20, @18, @20, @18, @20],
                        @"width": @1.0f},
                      @{@"color": @"#F7A35C",
                        @"value": @[@8,  @10, @8,  @10, @8,
                                    @10, @8,  @10, @8,  @10]}];

lineChart.chartData = chartData;

柱状图:

#import "GLChartData.h"
#import "GLBarChart.h"

GLChartData *chartData = [[GLChartData alloc] init];
GLLineChart *barChart  = [[GLBarChart  alloc] init];

chartData.xValues = @[@"10:01", @"10:02", @"10:03", @"10:04", @"10:05",
                      @"10:06", @"10:07", @"10:08", @"10:09", @"10:10"];

chartData.yValues = @[@[@{@"value": @10, @"color": @"#7ED321"}, @{@"value": @5, @"color": @"#E74C3C"}],
                      @[@{@"value": @10, @"color": @"#7ED321"}, @{@"value": @5, @"color": @"#E74C3C"}],
                      @[@{@"value": @10, @"color": @"#7ED321"}, @{@"value": @5, @"color": @"#E74C3C"}],
                      @[@{@"value": @10, @"color": @"#7ED321"}, @{@"value": @5, @"color": @"#E74C3C"}],
                      @[@{@"value": @10, @"color": @"#7ED321"}, @{@"value": @5, @"color": @"#E74C3C"}],
                      @[@{@"value": @10, @"color": @"#7ED321"}, @{@"value": @5, @"color": @"#E74C3C"}],
                      @[@{@"value": @10, @"color": @"#7ED321"}, @{@"value": @5, @"color": @"#E74C3C"}],
                      @[@{@"value": @10, @"color": @"#7ED321"}, @{@"value": @5, @"color": @"#E74C3C"}],
                      @[@{@"value": @10, @"color": @"#7ED321"}, @{@"value": @5, @"color": @"#E74C3C"}],
                      @[@{@"value": @10, @"color": @"#7ED321"}, @{@"value": @5, @"color": @"#E74C3C"}]];

barChart.chartData = chartData

自定义图表:

typedef NS_ENUM(NSUInteger, GLChartInitDirection) {
    GLChartInitDirectionLeft  = 0,
    GLChartInitDirectionRight = 1
};

@interface GLChartData : NSObject

// ======= 通用属性 =======

@property (nonatomic,   copy) NSArray             *xValues;
@property (nonatomic,   copy) NSArray             *yValues;

@property (nonatomic, assign) CGFloat              min;
@property (nonatomic, assign) CGFloat              max;
@property (nonatomic, assign) NSUInteger           count;
@property (nonatomic, assign) CGFloat              scale;

// 图表边距
@property (nonatomic, assign) CGFloat              margin;

// 两轴步长
@property (nonatomic, assign) NSUInteger           xStep;
@property (nonatomic, assign) NSUInteger           yStep;

// 网格样式
@property (nonatomic, assign) CGFloat              gridLineWidth;
@property (nonatomic,   copy) NSString            *gridLineColor;

// 标签样式
@property (nonatomic, assign) CGFloat              labelFontSize;
@property (nonatomic,   copy) NSString            *labelTextColor;

// 动画属性
@property (nonatomic, assign) BOOL                 animated;
@property (nonatomic, assign) CFTimeInterval       duration;

// 初始方向
@property (nonatomic, assign) GLChartInitDirection chartInitDirection;

// 暂无图表数据标识
@property (nonatomic, assign) BOOL                 noData;

// 暂无图表数据提示文案
@property (nonatomic,   copy) NSString            *noDataTips;

// ======= 折线图表 =======

// 折线图线宽
@property (nonatomic, assign) CGFloat              lineWidth;

// 每屏显示数
@property (nonatomic, assign) NSUInteger           visibleRangeMaxNum;

// 填充色开关
@property (nonatomic, assign) BOOL                 isFill;

// 指示器开关
@property (nonatomic, assign) BOOL                 isEnabledIndicator;

// 指示器属性
@property (nonatomic, assign) CGFloat              indicatorLineWidth;
@property (nonatomic,   copy) NSString            *indicatorLineColor;
@property (nonatomic,   copy) NSString            *indicatorBorderColor;
@property (nonatomic, assign) CGFloat              indicatorLabelFontSize;
@property (nonatomic,   copy) NSString            *indicatorLabelTextColor;

// ======= 柱状图表 =======

// 柱状图柱宽
@property (nonatomic, assign) CGFloat              barWidth;

// 两柱图间距
@property (nonatomic, assign) CGFloat              barMargin;

@end
展开阅读全文

代码

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2015/04/07 17:51

iOS应用开发 iOS开发 iOS软件定制

iOS应用开发 iOS开发 iOS软件定制 Android外包 OA定制

1
2
发表了博客
2015/03/17 15:25

iOS开发 iOS应用开发 iOS软件定制 iOS电子点餐

iOS开发 iOS应用开发 iOS软件定制 iOS电子点餐

0
0
发表了博客
2014/06/25 11:29

ios

ios

0
0
发表了博客
2015/08/08 23:26

苹果系统

由于工作需要,现在的工作环境是 Win+Mac。 用苹果系统有一段时间了。 记录一下这期间使用苹果的一些问题或者算是吐槽。 先说一个好的地方,苹果系统核心是 FreeBSD,UNIX 家族的一员。 核心的稳定性自不必说,举个使用中的小例子。 有一个很老的 MP3,要往里面拷贝几个东西。 在 Windows 上死活读不出来,Windows 的资源...

0
1
发表了博客
2015/08/13 08:34

ios

ios

1
0
2019/11/29 23:25

iOS逆向之iOS设备文件、数据传输

在分析iOS应用时,我们需要将装有iOS应用的设备通过网络或者usb数据线连接到Windows或者mac设备上,从而可以从电脑拷贝数据到iOS设备上,或者从iOS设备中传输数据到电脑中,方便分析操作。接下来,将分别讲通过网...

0
0
发表了博客
2014/02/15 18:49

细节有时很重要,iOS而非ios

最近面试了不少iOS开发者,发觉大多都不注重细节,就譬如说固有词组的拼写。最多人犯的毛病是将“iOS”写为IOS,ios,Ios。还有的诸如写成“Iphone”、“Object-C”就不多说了,一个专业猿都应该知道什么才是正确的。 细节决定成败,面对千万码字的猿,不能马虎!

3
3
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
5 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部