本文為ORCharts:環(huán)形圖赘理、餅狀圖、扇形圖 部分扇单, 做詳細(xì)說明
相關(guān)連接
效果預(yù)覽
安裝
pod 'ORCharts/Ring'
使用
Use Interface Builder
1、 在XIB
或Storyboard
拖拽一個(gè) UIView
到你需要展示的位置
2蜘澜、 修改Class
為 ORRingChartView
3施流、 設(shè)置 dataSource
代碼
@property (nonatomic, strong) ORRingChartView *ringChartView;
_ringChartView = [[ORRingChartView alloc] initWithFrame:CGRectMake(0, 0, 375, 375)];
_ringChartView.dataSource = self;
[self.view addSubview:_ringChartView];
在數(shù)據(jù)改變或是配置改變的時(shí)候reloadData
[_ringChartView reloadData];
style
ORRingChartStyleRing:環(huán)形圖(默認(rèn))
ORRingChartStylePie:餅狀圖
ORRingChartStyleFan:扇形圖
_ringChart.style = ORRingChartStylePie;
代理相關(guān)
ORRingChartViewDatasource
-
@required
必須實(shí)現(xiàn)方法,數(shù)據(jù)個(gè)數(shù)以及對(duì)應(yīng)數(shù)據(jù)鄙信,類似tableView
- (NSInteger)numberOfRingsOfChartView:(ORRingChartView *)chartView;
- (CGFloat)chartView:(ORRingChartView *)chartView valueAtRingIndex:(NSInteger)index;
-
@optional
對(duì)應(yīng)Index數(shù)據(jù)視圖的漸變色瞪醋,默認(rèn)為隨機(jī)色
- (NSArray <UIColor *> *)chartView:(ORRingChartView *)chartView graidentColorsAtRingIndex:(NSInteger)index;
對(duì)應(yīng)Index數(shù)據(jù)視圖的線條顏色,默認(rèn)為白色
- (UIColor *)chartView:(ORRingChartView *)chartView lineColorForRingAtRingIndex:(NSInteger)index;
對(duì)應(yīng)Index數(shù)據(jù)的信息線條顏色装诡,默認(rèn)為graidentColors的第一個(gè)顏色
- (UIColor *)chartView:(ORRingChartView *)chartView lineColorForInfoLineAtRingIndex:(NSInteger)index;
中心視圖银受,默認(rèn)nil践盼,返回的時(shí)候需要設(shè)置視圖大小
- (UIView *)viewForRingCenterOfChartView:(ORRingChartView *)chartView;
對(duì)應(yīng)Index數(shù)據(jù)的頂部信息視圖,默認(rèn)nil宾巍,返回的時(shí)候需要設(shè)置視圖大小
- (UIView *)chartView:(ORRingChartView *)chartView viewForTopInfoAtRingIndex:(NSInteger)index;
對(duì)應(yīng)Index數(shù)據(jù)的底部信息視圖咕幻,默認(rèn)nil,返回的時(shí)候需要設(shè)置視圖大小
- (UIView *)chartView:(ORRingChartView *)chartView viewForBottomInfoAtRingIndex:(NSInteger)index;
配置相關(guān)
以下是配置中部分屬性圖解
配置修改方式
_ringChart.config.neatInfoLine = YES;
_ringChart.config.ringLineWidth = 2;
_ringChart.config.animateDuration = 1;
[_ringChart reloadData];
以下為配置具體說明
整體
clockwise:圖表繪制方向是否為順時(shí)針顶霞,默認(rèn)YES
animateDuration:動(dòng)畫時(shí)長 肄程,設(shè)置0,則沒有動(dòng)畫选浑,默認(rèn)1
neatInfoLine:infoLine
兩邊對(duì)齊蓝厌、等寬,默認(rèn)NO
startAngle:圖表繪制起始角度古徒,默認(rèn) M_PI * 3 / 2
ringLineWidth:ringLine
寬度褂始,默認(rèn)2
infoLineWidth:infoLine
寬度,默認(rèn)2偏移描函、邊距配置
minInfoInset:infoView
的內(nèi)容偏移崎苗,值越大,infoView
越寬舀寓,默認(rèn)0
infoLineMargin:infoLine
至 周邊 的距離胆数,默認(rèn)10
infoLineInMargin:infoLine
至 環(huán)形圖的距離,默認(rèn) 10
infoLineBreakMargin:infoLine
折線距離互墓,默認(rèn) 15
infoViewMargin:infoLine
至infoView
的距離必尼,默認(rèn)5其他
pointWidth:infoline
末尾圓點(diǎn)寬度,默認(rèn) 5
ringWidth:環(huán)形圖篡撵,圓環(huán)寬度判莉, 如果設(shè)置了centerView
則無效,默認(rèn)60
文末
GitHub傳送門
有任何問題育谬,可在本文下方評(píng)論券盅,或是GitHub上提出issue
如有可取之處, 記得 star