廢話不多說(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];
? ?}