亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

ios開發一個好看的折線圖

2020-07-26 02:30:52
字體:
來源:轉載
供稿:網友

一:介紹

在項目中遇到數據展示需求時,往往會通過,以列表的形式展示出數據或者以表格的形式展示。但是并不能直觀的觀察數據的變化,如果通過圖表的形式來展示,就可以更快捷的獲取到數據變化情況。

圖表展示的方式大致分為折線圖、柱狀圖、餅狀圖等等,那么如何碼出一個高顏值原生折線圖呢?demo源碼已經放在GitHub上,下面來介紹一下如何使用。

二:項目展示

運行后的展示截圖如下:

三: 實現思路分析

實現折線圖的核心代碼是下面四個類:

  1. FBYLineGraphBaseView
  2. FBYLineGraphContentView
  3. FBYLineGraphColorView
  4. FBYLineGraphView

下面針對這四個類實現做一個詳細的流程分析。

1. 折線圖基礎框架實現(FBYLineGraphBaseView類)

折線圖基礎框架包括Y軸刻度標簽、X軸刻度標簽、與x軸平行的網格線的間距、網格線的起始點、x 軸長度、y 軸長度,代碼如下:

#import <uikit uikit.h="">@interface FBYLineGraphBaseView : UIView//Y軸刻度標簽@property (nonatomic, strong) NSArray *yMarkTitles;//X軸刻度標簽@property (nonatomic, strong) NSArray *xMarkTitles;// 與x軸平行的網格線的間距@property (nonatomic, assign) CGFloat xScaleMarkLEN;//網格線的起始點@property (nonatomic, assign) CGPoint startPoint;//x 軸長度@property (nonatomic, assign) CGFloat yAxis_L;//y 軸長度@property (nonatomic, assign) CGFloat xAxis_L;//繪圖- (void)mapping;//更新做標注數據- (void)reloadDatas;@end</uikit>

2. 折線圖數據內容顯示(FBYLineGraphContentView類)

折線圖數據內容顯示是繼承FBYLineGraphBaseView類進行實現,其中主要包括,X軸最大值、數據內容來實現,代碼如下:

#import <uikit uikit.h="">#import "FBYLineGraphBaseView.h"@interface FBYLineGraphContentView : FBYLineGraphBaseView@property (nonatomic, strong) NSArray *valueArray;@property (nonatomic, assign) CGFloat maxValue;//繪圖- (void)mapping;//更新折線圖數據- (void)reloadDatas;@end</uikit>

3. 折線圖顏色控制類(FBYLineGraphColorView類)

折線圖顏色控制類主要控制選中遠點邊框寬度和整體布局顏色,代碼如下:

#import <uikit uikit.h="">@interface FBYLineGraphColorView : UIView//顏色設置@property (nonatomic, assign) CGFloat borderWidth;@property (nonatomic, assign) UIColor *borderColor;- (instancetype)initWithCenter:(CGPoint)center radius:(CGFloat)radius;@end</uikit>

4. 折線圖核心代碼類(FBYLineGraphView類)

折線圖核心代碼類主要給引用類提供配置接口和數據接口,其中包括表名、Y軸刻度標簽title、Y軸最大值、X軸刻度標簽的長度(單位長度)、設置折線圖顯示的數據和對應X坐標軸刻度標簽,代碼如下:

#import <uikit uikit.h="">@interface FBYLineGraphView : UIView//表名@property (nonatomic, strong) NSString *title;//Y軸刻度標簽title@property (nonatomic, strong) NSArray *yMarkTitles;//Y軸最大值@property (nonatomic, assign) CGFloat maxValue;//X軸刻度標簽的長度(單位長度)@property (nonatomic, assign) CGFloat xScaleMarkLEN;/** * 設置折線圖顯示的數據和對應X坐標軸刻度標簽 * * @param xMarkTitlesAndValues 折線圖顯示的數據和X坐標軸刻度標簽 * @param titleKey  標簽(如:9月1日) * @param valueKey  數據 (如:80) */- (void)setXMarkTitlesAndValues:(NSArray *)xMarkTitlesAndValues titleKey:(NSString *)titleKey valueKey:(NSString *)valueKey;- (void)mapping;- (void)reloadDatas;@end</uikit>

四:如何在項目中使用

1. 下載源碼

GitHub 源碼鏈接

在demo中找到FBYLineGraph文件夾,將文件夾拖入自己的項目中。

2. 代碼引用

2.1 首先在項目中需要使用的頁面引用

#import "FBYLineGraphView.h"

2.2 初始化折線圖

FBYLineGraphView *LineGraphView = [[FBYLineGraphView alloc] initWithFrame:CGRectMake(10, 100, SCREEN_WIDTH - 20, 220)];

2.3 設置折線圖屬性

LineGraphView.title = @"折線統計圖"; // 折線圖名稱LineGraphView.maxValue = 100; // 最大值LineGraphView.xScaleMarkLEN = 60; // 每格的寬度如果不設置,系統默認平均分配

2.4 給折線圖添加內容

LineGraphView.yMarkTitles = @[@"0",@"20",@"40",@"60",@"80",@"100"]; // Y軸刻度標簽[LineGraphView setXMarkTitlesAndValues:@[@{@"item":@"1月1日",@"count":@10},@{@"item":@"1月2日",@"count":@80},@{@"item":@"1月3日",@"count":@68},@{@"item":@"1月4日",@"count":@100},@{@"item":@"1月5日",@"count":@60},@{@"item":@"1月6日",@"count":@56},@{@"item":@"1月7日",@"count":@11}] titleKey:@"item" valueKey:@"count"]; // X軸刻度標簽及相應的值

可以根據自己項目獲取的數據進行修改,不過數據格式不要改動。

2.5 設置完數據和屬性,繪制展示折線圖

//設置完數據等屬性后繪圖折線圖[LineGraphView mapping];[self.view addSubview:LineGraphView];

設置完上面的,一個高顏值原生折線統計圖就可以使用了。

如果好用就請點贊關注,會不定期更新更多干貨。更多源碼可以去GitHub下載。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产综合在线观看视频| 91精品国产精品| 九九热视频这里只有精品| 国产日韩中文字幕在线| 欧美特黄级在线| 欧美大学生性色视频| 最近2019年中文视频免费在线观看| 日韩视频在线一区| 一本色道久久88亚洲综合88| 免费成人高清视频| 日韩免费高清在线观看| 欧美激情中文字幕乱码免费| 97国产成人精品视频| 久久中文字幕一区| 大荫蒂欧美视频另类xxxx| 国产91av在线| 91精品国产99久久久久久| 中文字幕精品在线视频| 亚洲aaa激情| 亚洲精品日韩av| 91av在线免费观看视频| 国产午夜精品美女视频明星a级| 播播国产欧美激情| 91亚洲精品在线观看| 成人女保姆的销魂服务| 日韩激情av在线免费观看| 亚洲一区二区三区sesese| 欧美极品少妇xxxxⅹ免费视频| 97在线观看免费高清| 91国产美女视频| 国产精自产拍久久久久久| 伊人伊成久久人综合网站| 亚洲精品日韩在线| 国内精久久久久久久久久人| 亚洲欧美制服另类日韩| 国内精久久久久久久久久人| 久久综合亚洲社区| 精品magnet| 亚洲国内高清视频| 亚洲性夜色噜噜噜7777| 亚洲一区二区三区成人在线视频精品| 欧美裸体xxxx极品少妇软件| 久久久久久久999精品视频| 奇米四色中文综合久久| 精品久久久久国产| 欧美视频第一页| 91大神在线播放精品| 91中文精品字幕在线视频| 亚洲人成在线播放| 亚洲人成欧美中文字幕| 亚洲成人av资源网| 日韩国产欧美精品在线| 精品国产91乱高清在线观看| 78色国产精品| 日韩毛片在线观看| 欧美激情精品久久久久久免费印度| 欧美成人国产va精品日本一级| 伊人久久精品视频| 亚洲精品aⅴ中文字幕乱码| 色婷婷久久av| 久久久免费观看视频| 中文字幕亚洲激情| 欧美亚州一区二区三区| 成人在线激情视频| 日韩成人在线视频| 国产精品aaa| 91久久久久久久久久| 日韩av在线网址| 美女啪啪无遮挡免费久久网站| 久久久综合av| 欧洲成人免费aa| 亚洲精选在线观看| 国产视频精品一区二区三区| 久久国内精品一国内精品| 在线电影av不卡网址| 另类图片亚洲另类| 1769国内精品视频在线播放| 成人免费网视频| 国产福利精品视频| 亚洲人精品午夜在线观看| 欧美激情xxxxx| 69视频在线播放| 国产精品久久久久aaaa九色| 最新亚洲国产精品| 亚洲精品一二区| 国产精品揄拍一区二区| 精品亚洲夜色av98在线观看| 久久躁日日躁aaaaxxxx| 日韩电影中文字幕av| 欧美自拍大量在线观看| 97激碰免费视频| 久久理论片午夜琪琪电影网| 不卡伊人av在线播放| 亚洲欧美一区二区精品久久久| 97在线精品国自产拍中文| 伊人一区二区三区久久精品| 国产精品吴梦梦| 岛国av在线不卡| 色噜噜狠狠狠综合曰曰曰| 久久久这里只有精品视频| 全色精品综合影院| 久久久999成人| 国产一区二区三区三区在线观看| 日韩在线视频国产| 欧洲亚洲免费在线| 久久夜色撩人精品| 国产精品扒开腿做爽爽爽视频| 欧美性猛交xxxx富婆| 国产精品伦子伦免费视频| 亚洲激情视频网站| 亚洲欧美一区二区精品久久久| 欧洲精品毛片网站| 2019精品视频| 欧美激情va永久在线播放| 国产精品你懂得| 欧美午夜精品久久久久久人妖| 日韩高清免费观看| 亚洲综合成人婷婷小说| 91精品久久久久久久久中文字幕| 久久亚洲欧美日韩精品专区| 最新的欧美黄色| 久久伊人精品一区二区三区| 亚洲精品永久免费| 亚洲久久久久久久久久久| 欧美精品免费播放| 久久久综合av| 日韩人体视频一二区| 影音先锋日韩有码| 成人国产精品久久久| 国产97在线|亚洲| 欧美尺度大的性做爰视频| 欧美老肥婆性猛交视频| 国产成人久久精品| 欧美多人爱爱视频网站| 久久精品视频播放| 中文字幕自拍vr一区二区三区| 久国内精品在线| 久久精品国产精品| 羞羞色国产精品| 亚洲第一页自拍| 久久婷婷国产麻豆91天堂| 91精品国产高清自在线看超| 成人黄色生活片| 国产精品对白刺激| 亚洲第一区中文99精品| 亚洲欧洲免费视频| 午夜精品久久久久久99热| 91高清免费在线观看| 北条麻妃99精品青青久久| 国产精品一区二区久久精品| 亚洲乱码国产乱码精品精天堂| 国产精品视频免费在线| 成人网在线免费观看| 亚洲一区久久久| xvideos成人免费中文版| 欧美性生交大片免网| 国产精品久久久久aaaa九色| 久久免费精品日本久久中文字幕| 国产精品视频网址| 国产成人a亚洲精品| 亚洲视频在线看| 亚洲福利视频久久| 久久激情视频久久| 日韩天堂在线视频|