日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cahrt框架 ios_iOS Charts框架集成及使用

發布時間:2025/3/21 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cahrt框架 ios_iOS Charts框架集成及使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

- (LineChartDataSet *)drawLineWithArr:(NSArray *)arr title:(NSString *)title color:(UIColor *)color {

if (arr.count == 0) {

return nil;

}

// 處理折線數據

NSMutableArray *statistics = [NSMutableArray array];

double leftAxisMin = 0;

double leftAxisMax = 0;

for (int i = 0; i < arr.count; i++) {

NSString *num = arr[i];

double temp ? = [num doubleValue];

double value? = [self roundFloat:temp];

leftAxisMax ? = MAX(value, leftAxisMax);

leftAxisMin ? = MIN(value, leftAxisMin);

[statistics addObject:[[ChartDataEntry alloc] initWithX:i y:value]];

}

CGFloat topNum = leftAxisMax * (5.0/4.0);

if (leftAxisMax ==? leftAxisMin) {

_linechartView.leftAxis.axisMaxValue = 10;

}else{

_linechartView.leftAxis.axisMaxValue = topNum * _scale;

}

if (leftAxisMin < 0) {

CGFloat minNum = leftAxisMin * (5.0/4.0);

_linechartView.leftAxis.axisMinValue = minNum ;

}

// 設置Y軸數據

_linechartView.leftAxis.valueFormatter = self; //需要遵IChartAxisValueFormatter協議

// 設置折線數據

LineChartDataSet *chartDataSet? = nil;

chartDataSet = [[LineChartDataSet alloc] initWithValues:statistics label:title];

[chartDataSet setColor:color];????? //折線顏色

chartDataSet.valueFont = [UIFont systemFontOfSize:12]; ? ? //折線字體大小

chartDataSet.valueFormatter = self;? ?//需要遵循IChartValueFormatter協議

chartDataSet.lineWidth = 1.0f;????//折線寬度

chartDataSet.valueColors = @[color];???? //折線拐點處顯示數據的顏色

chartDataSet.drawCirclesEnabled = NO;????//是否繪制拐點

chartDataSet.axisDependency = AxisDependencyLeft;???? //軸線方向

chartDataSet.highlightColor = [UIColor clearColor];????//選中線條顏色

chartDataSet.highlightLineWidth = 1.00f;

chartDataSet.drawCircleHoleEnabled = YES;?????//是否繪制中間的空心

// chartDataSet.circleHoleRadius = 2.0f;???? //空心的半徑

// chartDataSet.circleHoleColor = WKOrangeColor;???? //空心的顏色

chartDataSet.drawFilledEnabled = YES;//是否填充顏色

NSArray *gradientColors = @[(id)[ChartColorTemplates colorFromString:@"#ffffff"].CGColor,

(id)[ChartColorTemplates colorFromString:@"#f9511e"].CGColor];

CGGradientRef gradientRef = CGGradientCreateWithColors(nil, (CFArrayRef)gradientColors, nil);

chartDataSet.fillAlpha = 0.7f;//透明度

chartDataSet.fill = [ChartFill fillWithLinearGradient:gradientRef angle:90.0f]; //賦值填充顏色對象

CGGradientRelease(gradientRef);

return chartDataSet;

}

#pragma mark - IChartValueFormatter delegate (折線值)

- (NSString *)stringForValue:(double)value entry:(ChartDataEntry *)entry dataSetIndex:(NSInteger)dataSetIndex viewPortHandler:(ChartViewPortHandler *)viewPortHandler {

return nil;

// return [NSString stringWithFormat:@"%@", value];

}

#pragma mark - IChartAxisValueFormatter delegate (y軸值) (x軸的值寫在DateValueFormatter類里, 都是這個協議方法)

- (NSString *)stringForValue:(double)value axis:(ChartAxisBase *)axis {

if (ABS(value) > 1000) {

return [NSString stringWithFormat:@"%.1fk", value/(double)1000];

}

return [NSString stringWithFormat:@"%0.2f", value];

}

總結

以上是生活随笔為你收集整理的cahrt框架 ios_iOS Charts框架集成及使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。