BrokenLineStatistics簡(jiǎn)單實(shí)現(xiàn)折線統(tǒng)計(jì)圖

廢話不多說(shuō)直接上代碼漏策!

param mark ---- 初始化方法

? ?/*

? ?*

? ?* ?@param frame ? ? ? ? frame

? ?* ?@param lineChartType 折線圖類型

? ?* ?/*每一個(gè)存在的X點(diǎn)都有一個(gè)y坐標(biāo)對(duì)應(yīng),此時(shí)valueArr的對(duì)象類型為數(shù)值,只有一個(gè)象限*/

? ?* ?HLChartLineEveryValueForEveryX=0,

? ?* ?/*點(diǎn)的坐標(biāo)不一定和坐標(biāo)軸上的X數(shù)值一一對(duì)應(yīng),此時(shí)valueArr的對(duì)象類型為點(diǎn)*/

? ?* ?HLChartLineValueNotForEveryX

? ?*

? ?* ?@return 自定義折線圖

? ?*/

? ?-(instancetype)initWithFrame:(CGRect)frame andLineChartType:(HLLineChartType)lineChartType;

param mark ---- 必選屬性

/*折線圖的X軸刻度數(shù)據(jù) 建議使用NSNumber或數(shù)字的字符串化*/

? ?@property (nonatomic,strong) NSArray * xLineDataArr;

/*折線圖的Y軸刻度數(shù)據(jù) 同上*/

? ?@property (nonatomic,strong) NSArray * yLineDataArr;

/*折線圖的點(diǎn)坐標(biāo)數(shù)組 不同類型對(duì)應(yīng)不同數(shù)據(jù)源 ?參考上面HLLineChartType */

? ?@property (nonatomic,strong) NSArray * valueArr;

/*折線圖類型*/

? ?@property (assign , nonatomic) HLLineChartType ?lineType ;

? ?/* ? ? ? ? 折線圖象限類型 ? ? ? ? ?*/

? ?@property (assign, nonatomic) HLLineChartQuadrantType ?lineChartQuadrantType;

? ?/* ? ? ? ? 線條寬度 ? ? ? ? ?*/

? ?@property (assign, nonatomic) CGFloat lineWidth;

? ?/* ? ? ? ? 數(shù)值線條顏色 ? ? ? ? ?*/

? ?@property (nonatomic,strong) NSArray * valueLineColorArr;

? ?/* ? ? ? ? x y軸線條顏色 ? ? ? ? ?*/

? ?@property (nonatomic,strong) UIColor * xAndYLineColor;

/*點(diǎn)的顏色*/

? ?@property (nonatomic,strong) NSArray * pointColorArr;

/*x,y軸刻度值顏色*/

? ?@property (nonatomic,strong) UIColor * xAndYNumberColor;

/*點(diǎn)的引導(dǎo)虛線顏色*/

? ?@property (nonatomic,strong) NSArray * positionLineColorArr;

/*坐標(biāo)點(diǎn)數(shù)值顏色*/

? ?@property (nonatomic,strong) NSArray * pointNumberColorArr;

param mark ---- 非必選屬性

?/*是否需要點(diǎn)*/

? ?@property (assign, nonatomic) BOOL hasPoint;

pragma mark ----第一象限折線圖(調(diào)用示例)

? ?- (void)showFirstQuardrant

? ?{

? ? ? ?HLLineChart *lineChart = [[HLLineChart alloc] initWithFrame:CGRectMake(10,300,k_MainBoundsWidth-20,300) andLineChartType:HLChartLineValueNotForEveryX];

/* X軸的刻度值 可以傳入NSString或NSNumber類型 ?并且數(shù)據(jù)結(jié)構(gòu)隨折線圖類型變化而變化 詳情看文檔或其他象限X軸數(shù)據(jù)源示例*/

? ? ? ?lineChart.xLineDataArr = @[@"0",@"1",@"2",@3,@4,@5,@6,@7];

? ? ? ?/* 折線圖的不同類型 ?按照象限劃分 不同象限對(duì)應(yīng)不同X軸刻度數(shù)據(jù)源和不同的值數(shù)據(jù)源 */

? ? ? ?lineChart.lineChartQuadrantType = HLLineChartQuadrantTypeFirstQuardrant;

? ? ? ?/* 數(shù)據(jù)源 */

? ? ? ?lineChart.valueArr = @[@[@"1",@"2",@"1",@6,@4,@9,@6,@7]];

? ? ? ?/* 值折線的折線顏色 默認(rèn)暗黑色*/

? ? ? ?lineChart.valueLineColorArr =@[ [UIColor purpleColor], [UIColor brownColor]];

? ? ? ?/* 值點(diǎn)的顏色 默認(rèn)橘黃色*/

? ? ? ?lineChart.pointColorArr = @[[UIColor orangeColor],[UIColor yellowColor]];

? ? ? ?/* X和Y軸的顏色 默認(rèn)暗黑色 */

? ? ? ?lineChart.xAndYLineColor = [UIColor greenColor];

? ? ? ?/* XY軸的刻度顏色 m */

? ? ? ?lineChart.xAndYNumberColor = [UIColor blueColor];

? ? ? ?/* 坐標(biāo)點(diǎn)的虛線顏色 */

? ? ? ?lineChart.positionLineColorArr = @[[UIColor blueColor],[UIColor greenColor]];

? ? ? ?[self.view addSubview:lineChart];

? ? ? ?[lineChart showAnimation];

? ?}

pragma mark ----第一二象限折線圖(調(diào)用示例)

? ?- (void)showFirstAndSecondQuardrant

? ?{

? ? ? ?HLLineChart *lineChart = [[HLLineChart alloc] initWithFrame:CGRectMake(10,300,k_MainBoundsWidth-20,300) andLineChartType:HLChartLineValueNotForEveryX];

? ? ? ?lineChart.xLineDataArr = @[@[@"-3",@"-2",@"-1"],@[@0,@1,@2,@3]];

? ? ? ?lineChart.lineChartQuadrantType = HLLineChartQuadrantTypeFirstAndSecondQuardrant;

? ? ? ?lineChart.valueArr = @[@[@"5",@"2",@"7",@4,@25,@15,@6],@[@"1",@"2",@"1",@6,@4,@9,@7]];

? ? ? ?/* 值折線的折線顏色 默認(rèn)暗黑色*/

? ? ? ?lineChart.valueLineColorArr =@[ [UIColor purpleColor], [UIColor brownColor]];

? ? ? ?/* 值點(diǎn)的顏色 默認(rèn)橘黃色*/

? ? ? ?lineChart.pointColorArr = @[[UIColor orangeColor],[UIColor yellowColor]];

? ? ? ?/* X和Y軸的顏色 默認(rèn)暗黑色 */

? ? ? ?lineChart.xAndYLineColor = [UIColor greenColor];

? ? ? ?/* XY軸的刻度顏色 m */

? ? ? ?lineChart.xAndYNumberColor = [UIColor blueColor];

? ? ? ?[self.view addSubview:lineChart];

? ? ? ?[lineChart showAnimation];

}

pragma mark ----第一四象限折線圖(調(diào)用示例)

? ?- (void)showFirstAndFouthQuardrant

? ?{

? ? ? ?HLLineChart *lineChart = [[HLLineChart alloc] initWithFrame:CGRectMake(10,300,k_MainBoundsWidth-20,300) andLineChartType:HLChartLineValueNotForEveryX];

? ? ? ?lineChart.xLineDataArr = @[@"0",@"1",@"2",@3,@4,@5,@6,@7];

? ? ? ?lineChart.lineChartQuadrantType = HLLineChartQuadrantTypeFirstAndFouthQuardrant;

? ? ? ?lineChart.valueArr = @[@[@"5",@"-22",@"7",@(-4),@25,@15,@6,@9],@[@"1",@"-12",@"1",@6,@4,@(-8),@6,@7]];

? ? ? ?/* 值折線的折線顏色 默認(rèn)暗黑色*/

? ? ? ?lineChart.valueLineColorArr =@[ [UIColor purpleColor], [UIColor brownColor]];

? ? ? ?/* 值點(diǎn)的顏色 默認(rèn)橘黃色*/

? ? ? ?lineChart.pointColorArr = @[[UIColor orangeColor],[UIColor yellowColor]];

? ? ? ?/* X和Y軸的顏色 默認(rèn)暗黑色 */

? ? ? ?lineChart.xAndYLineColor = [UIColor greenColor];

? ? ? ?/* XY軸的刻度顏色 m */

? ? ? ?lineChart.xAndYNumberColor = [UIColor blueColor];

? ? ? ?[self.view addSubview:lineChart];

? ? ? ?[lineChart showAnimation];

? ?}

pragma mark ----四個(gè)象限折線圖(調(diào)用示例)

? ?- (void)showAllQuardrant

? ?{

? ? ? ?HLLineChart *lineChart = [[HLLineChart alloc] initWithFrame:CGRectMake(10,300,k_MainBoundsWidth-20,300) andLineChartType:HLChartLineValueNotForEveryX];

? ? ? ?lineChart.xLineDataArr = @[@[@"-3",@"-2",@"-1"],@[@0,@1,@2,@3]];

? ? ? ?lineChart.lineChartQuadrantType = HLLineChartQuadrantTypeAllQuardrant;

? ? ? ?lineChart.valueArr = @[@[@"5",@"-22",@"7",@(-4),@25,@15,@6,@9],@[@"1",@"-12",@"1",@6,@4,@(-8),@6,@7]]; ? ?/* 值折線的折線顏色 默認(rèn)暗黑色*/

? ? ? ?lineChart.valueLineColorArr =@[ [UIColor purpleColor], [UIColor brownColor]];

? ? ? ?/* 值點(diǎn)的顏色 默認(rèn)橘黃色*/

? ? ? ?lineChart.pointColorArr = @[[UIColor orangeColor],[UIColor yellowColor]];

? ? ? ?/* X和Y軸的顏色 默認(rèn)暗黑色 */

? ? ? ?lineChart.xAndYLineColor = [UIColor greenColor];

? ? ? ?/* XY軸的刻度顏色 m */

? ? ? ?lineChart.xAndYNumberColor = [UIColor blueColor];

? ? ? ?[self.view addSubview:lineChart];

? ? ? ?[lineChart showAnimation];

? ?}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子芹缔,更是在濱河造成了極大的恐慌焰望,老刑警劉巖依痊,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異二蓝,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)指厌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門刊愚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人踩验,你說(shuō)我怎么就攤上這事鸥诽。” “怎么了箕憾?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵牡借,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我袭异,道長(zhǎng)钠龙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任御铃,我火速辦了婚禮碴里,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘畅买。我一直安慰自己并闲,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布谷羞。 她就那樣靜靜地躺著帝火,像睡著了一般溜徙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上犀填,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天蠢壹,我揣著相機(jī)與錄音,去河邊找鬼九巡。 笑死图贸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的冕广。 我是一名探鬼主播疏日,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼撒汉!你這毒婦竟也來(lái)了沟优?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤睬辐,失蹤者是張志新(化名)和其女友劉穎挠阁,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溯饵,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡侵俗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丰刊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片隘谣。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖啄巧,靈堂內(nèi)的尸體忽然破棺而出洪橘,到底是詐尸還是另有隱情,我是刑警寧澤棵帽,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布熄求,位于F島的核電站,受9級(jí)特大地震影響逗概,放射性物質(zhì)發(fā)生泄漏弟晚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一逾苫、第九天 我趴在偏房一處隱蔽的房頂上張望卿城。 院中可真熱鬧,春花似錦铅搓、人聲如沸瑟押。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)多望。三九已至嫩舟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間怀偷,已是汗流浹背家厌。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留椎工,地道東北人饭于。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像维蒙,于是被迫代替她去往敵國(guó)和親掰吕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 直方圖主要用在數(shù)據(jù)圖表颅痊,作為對(duì)比數(shù)據(jù)畴栖,用柱體高度的高低,形象直觀地表達(dá)出來(lái)八千,往往與折線圖配合使用,而折線圖便于從眾...
    理想是試閱讀 938評(píng)論 0 0
  • 折線圖能用到的地方并不是太多燎猛,這兒測(cè)試了一個(gè)簡(jiǎn)單的雙折線圖恋捆,要用到的可以看看。 動(dòng)態(tài)效果圖 再看看iphone5和...
    44767758099b閱讀 952評(píng)論 0 0
  • 說(shuō)明: 公司的項(xiàng)目需要用到一個(gè)簡(jiǎn)單的柱狀圖View重绷,實(shí)現(xiàn)以下功能: 實(shí)時(shí)更新顯示n列數(shù)據(jù)(n由初始化時(shí)確定) 將用...
    StoneN閱讀 1,153評(píng)論 0 1
  • Quartz2D以及drawRect的重繪機(jī)制字?jǐn)?shù)1487 閱讀21 評(píng)論1 喜歡1一沸停、什么是Quartz2D Q...
    PurpleWind閱讀 762評(píng)論 0 3
  • 說(shuō)明: 已將折線圖封裝到了一個(gè)UIView子類中,并提供了相應(yīng)的接口昭卓。若你遇到相應(yīng)的需求可以直接將文件拖到項(xiàng)目中愤钾,...
    AHLQ閱讀 7,406評(píng)論 5 47