单军华
2018-07-12 3e8437ae559487362fae3525beb79c534c213a51
screendisplay/screendisplay/Classes/ThirdClass/JHChart/JHLineChart.m
@@ -8,8 +8,8 @@
#import "JHLineChart.h"
#define kXandYSpaceForSuperView 20.0
#define XlineItemMAXCount 8
#define YlineItemMAXCount 8
#define XlineItemMAXCount 10
#define YlineItemMAXCount 10
@interface JHLineChart ()
@@ -44,6 +44,7 @@
        _lineType = lineChartType;
        _lineWidth = 0.5;
        _xyFontSize = 7.0;
        _numberFontSize = 7.0;
        self.contentInsets = UIEdgeInsetsMake(10, 20, 10, 10);
        _yLineDataArr  = @[@"100",@"200",@"300",@"400",@"500",@"600",@"700",@"800"];//[NSMutableArray array];
        _xLineDataArr  = [NSMutableArray array];
@@ -439,22 +440,22 @@
    switch (_lineChartQuadrantType) {
        case JHLineChartQuadrantTypeFirstQuardrant:
        {
            self.chartOrigin = CGPointMake(self.contentInsets.left, self.frame.size.height-self.contentInsets.bottom);
            self.chartOrigin = CGPointMake(self.contentInsets.left+6, self.frame.size.height-self.contentInsets.bottom);
        }
            break;
        case JHLineChartQuadrantTypeFirstAndSecondQuardrant:
        {
            self.chartOrigin = CGPointMake(self.contentInsets.left+_xLength/2, CGRectGetHeight(self.frame)-self.contentInsets.bottom);
            self.chartOrigin = CGPointMake(self.contentInsets.left+_xLength/2+6, CGRectGetHeight(self.frame)-self.contentInsets.bottom);
        }
            break;
        case JHLineChartQuadrantTypeFirstAndFouthQuardrant:
        {
            self.chartOrigin = CGPointMake(self.contentInsets.left, self.contentInsets.top+_yLength/2);
            self.chartOrigin = CGPointMake(self.contentInsets.left+6, self.contentInsets.top+_yLength/2);
        }
            break;
        case JHLineChartQuadrantTypeAllQuardrant:
        {
             self.chartOrigin = CGPointMake(self.contentInsets.left+_xLength/2, self.contentInsets.top+_yLength/2);
             self.chartOrigin = CGPointMake(self.contentInsets.left+_xLength/2+6, self.contentInsets.top+_yLength/2);
        }
            break;
            
@@ -470,7 +471,6 @@
/* 绘制x与y轴 */
- (void)drawXAndYLineWithContext:(CGContextRef)context
{
    switch (_lineChartQuadrantType) {
        case JHLineChartQuadrantTypeFirstQuardrant:{
            
@@ -1083,8 +1083,8 @@
                        //NSString *aimStr = [NSString stringWithFormat:@"(%@,%@)",_xLineDataArr[i],_valueArr[m][i]];
                        NSString *aimStr = [NSString stringWithFormat:@"%@",_valueArr[m][i]];
                        CGFloat length = [self sizeOfStringWithMaxSize:CGSizeMake(100, 25) textFont:7.0 aimString:aimStr].width;
                        [self drawText:aimStr andContext:context atPoint:P_M(p.x - length / 2, p.y - 10) WithColor:pointNumberColor andFontSize:7.0];
                        CGFloat length = [self sizeOfStringWithMaxSize:CGSizeMake(100, 25) textFont:_numberFontSize aimString:aimStr].width;
                        [self drawText:aimStr andContext:context atPoint:P_M(p.x - length / 2+5, p.y - 15) WithColor:pointNumberColor andFontSize:_numberFontSize];
                    }
                        break;
                    case JHLineChartQuadrantTypeFirstAndSecondQuardrant:
@@ -1094,9 +1094,9 @@
                        //NSString *aimStr = [NSString stringWithFormat:@"(%@,%@)",str,_valueArr[m][i]];
                        NSString *aimStr = [NSString stringWithFormat:@"%@",_valueArr[m][i]];
                        CGFloat length = [self sizeOfStringWithMaxSize:CGSizeMake(100, 25) textFont:7.0 aimString:aimStr].width;
                        CGFloat length = [self sizeOfStringWithMaxSize:CGSizeMake(100, 25) textFont:_numberFontSize aimString:aimStr].width;
                        
                        [self drawText:aimStr andContext:context atPoint:P_M(p.x - length / 2, p.y - 10) WithColor:pointNumberColor andFontSize:7.0];
                        [self drawText:aimStr andContext:context atPoint:P_M(p.x - length / 2+5, p.y - 15) WithColor:pointNumberColor andFontSize:_numberFontSize];
                    }
                        break;
                    case JHLineChartQuadrantTypeFirstAndFouthQuardrant:
@@ -1104,8 +1104,8 @@
                        //NSString *aimStr = [NSString stringWithFormat:@"(%@,%@)",_xLineDataArr[i],_valueArr[m][i]];
                        NSString *aimStr = [NSString stringWithFormat:@"%@",_valueArr[m][i]];
                        CGFloat length = [self sizeOfStringWithMaxSize:CGSizeMake(100, 25) textFont:7.0 aimString:aimStr].width;
                        [self drawText:aimStr andContext:context atPoint:P_M(p.x - length / 2, p.y - 10) WithColor:pointNumberColor andFontSize:7.0];
                        CGFloat length = [self sizeOfStringWithMaxSize:CGSizeMake(100, 25) textFont:_numberFontSize aimString:aimStr].width;
                        [self drawText:aimStr andContext:context atPoint:P_M(p.x - length / 2+5, p.y - 15) WithColor:pointNumberColor andFontSize:_numberFontSize];
                    }
                        break;
                    case JHLineChartQuadrantTypeAllQuardrant:
@@ -1115,9 +1115,9 @@
                        //NSString *aimStr =[NSString stringWithFormat:@"(%@,%@)",str,_valueArr[m][i]];
                        NSString *aimStr =[NSString stringWithFormat:@"%@",_valueArr[m][i]];
                        CGFloat length = [self sizeOfStringWithMaxSize:CGSizeMake(100, 25) textFont:7.0 aimString:aimStr].width;
                        CGFloat length = [self sizeOfStringWithMaxSize:CGSizeMake(100, 25) textFont:_numberFontSize aimString:aimStr].width;
                        
                        [self drawText:aimStr andContext:context atPoint:P_M(p.x - length / 2, p.y - 10) WithColor:pointNumberColor andFontSize:7.0];
                        [self drawText:aimStr andContext:context atPoint:P_M(p.x - length / 2+5, p.y - 15) WithColor:pointNumberColor andFontSize:_numberFontSize];
                    }
                        break;