一:简介
Charts 是一个ios非常强大的图表框架 是基于MPAndroidChart 开发的
Charts github地址:https://github.com/danielgindi/Charts
二:导入方式 (以本人测试 现在网上的导入方式大多会报错 无法直接使用 因此我在这里公布我的导入方式 可以实现导入即用 减少小白的烦恼)
我们使用pod来导入 在Podfile文件添加以下代码
use_frameworks!
pod 'Charts', '~> 3.2.1'
pod 'Masonry', '~> 1.1.0'
注意:use_frameworks! 必须添加这句 因为Charts现在最新版不是一个OC框架 是Swift框架
通过这样的方式导入 不需要使用桥文件
三:使用 只需导入一句便可直接使用
导入
#import
设置 代理
添加控件
@property (nonatomic , strong) PieChartView *chartView;
@property (nonatomic , strong) PieChartData *chartData;
加载图表
-(void)Charts{
PieChartView *chartView = [[PieChartView alloc]init];
[self.kchartView addSubview:chartView];
_chartView= chartView;
[chartViewmas_makeConstraints:^(MASConstraintMaker*make) {
make.centerY.equalTo(chartView.superview.mas_centerY);
make.left.equalTo(chartView.superview).offset(0);
make.right.equalTo(chartView.superview).offset(0);
make.height.equalTo(chartView.mas_width).offset(-40);
}];
/* 基本样式 */
chartView.delegate=self;//设置代理
[chartView setExtraOffsetsWithLeft:5.f top:5.f right:5.f bottom:5.f];//饼状图距离边缘的间隙
chartView.usePercentValuesEnabled = YES; //是否根据所提供的数据, 将显示数据转换为百分比格式
chartView.dragDecelerationEnabled = YES;//拖拽饼状图后是否有惯性效果
self.isValueLine = true;
/* 设置饼状图中间的同心圆 */
chartView.drawHoleEnabled = YES; //饼状图是否是空心圆,设置为NO之后,半透明空心圆也消失咯
chartView.holeRadiusPercent=0.35;//第一个空心圆半径占比
chartView.holeColor= [UIColorwhiteColor];//第一个空心圆颜色
chartView.transparentCircleRadiusPercent = 0.38;//第二个空心圆半径占比,半径占比和第一个空心圆半径占比设置为一样的时候,只有一个圆咯
chartView.transparentCircleColor = UIColor.whiteColor;//第二个空心圆颜色
/* 设置饼状图扇形区块文本*/
chartView.drawEntryLabelsEnabled = YES; //是否显示扇形区块文本描述
/*饼状图没有数据的显示*/
chartView.noDataText=@"暂无数据";//没有数据是显示的文字说明
chartView.noDataTextColor=UIColor.whiteColor;//没有数据时的文字颜色
chartView.noDataFont= [UIFont fontWithName:@"PingFangSC"size:15];//没有数据时的文字字体
// /* 设置饼状图图例样式 */
chartView.legend.enabled=false;//显示饼状图图例解释说明
/*饼状图交互*/
chartView.rotationEnabled=false;//是否可以选择旋转
chartView.highlightPerTapEnabled = false;//每个扇形区块是否可点击
//总数
UIView*totalNumber = [[UIView alloc] initWithFrame:CGRectMake(0,0,50,50)];
totalNumber.backgroundColor= [UIColor clearColor];
totalNumber.center=self.kchartView.center;
self.ktotalNumber = [[UILabel alloc] initWithFrame:CGRectMake(0, 8, 50, 20)];
self.ktotalNumber.text = @"0";
self.ktotalNumber.textColor= [UIColor blackColor];
self.ktotalNumber.font = [UIFont systemFontOfSize:20];
self.ktotalNumber.textAlignment = NSTextAlignmentCenter;
[totalNumberaddSubview:self.ktotalNumber];
UILabel*text2 = [[UILabel alloc] initWithFrame:CGRectMake(0,30,50,20)];
text2.text=@"总数";
text2.textColor=ZYColor(133,133,133);//颜色可以用自己的方法替换
text2.font= [UIFontsystem FontOfSize:13];
text2.textAlignment = NSTextAlignmentCenter;
[totalNumber addSubview:text2];
[self.kchartView addSubview:totalNumber];
}
添加数据 和 修改饼状图 颜色 请用自己的方式实现 话说千遍 不如动手一遍