XCharts
XCharts 是一款折线/曲线与柱状图绘制的框架, 通过 XCharts 你无需了解绘制的工作原理便能轻松的绘制出想要效果的图表
为什么使用XCharts
理由:
-
支持曲线/折线, 能够自定义化界面达到90%, 即使不能达到想要的界面效果, 经过简单修改也能达到.
-
支持缩放功能,
跟随手势缩放手势完成后缩放禁止缩放随你挑 -
支持渐变色填充折线/曲线
-
支持点击某一项后出现数值提示 (非pop形式)
-
DEBUG模式对数值严格检查, 把错误拦截在开发时刻 -
更多....
效果图
效果图
使用
-
导入工程
- 将
XCharts全部拖入你的工程项目中; - 引入
XCharts.h头文件
- 将
-
绘制折线图
你可以使用
initWithFrame:方法来 创建一个XLineChartView折线/曲线视图, 具体是折线还是曲线, 取决于chartType的类型, 不过需要注意的是, 需要最后调用strokeChart方法来绘制曲线/折线. 实例代码如下:XLineChartView *chartView = [[XLineChartView alloc] initWithFrame:self.view.bounds] NSMutableArray *xTitles = [NSMutableArray array]; NSMutableArray *yValues = [NSMutableArray array]; for (int i = 0 ; i < 2; i ++) { NSMutableArray *yArr = [NSMutableArray array]; int max = arc4random_uniform(1000)+300; for (int j = 0; j < 100; j ++) { if(i == 0) [xTitles addObject:[NSString stringWithFormat:@"第%d个",j]]; [yArr addObject:[NSString stringWithFormat:@"%d",arc4random_uniform(max)]]; } [yValues addObject:yArr]; } chartView.xTitles = xTitles; //设置X chartView.yValuesArray = yValues; //设置Y chartView.chartType = XChartLineTypeCurve;//设置绘制类型为曲线 chartView.showDot = YES; //设置显示圆点 chartView.gradientEnable = YES; //设置启用渐变填充 [self.view addSubview:chartView]; [chartView strokeChart]; //绘制曲线 -
绘制柱状图
你可以使用
initWithFrame:方法来 创建一个XBarChartView柱状图视图,
柱状图的柱形的背景颜色可以通过barBgColor来修改, 前景色一样通过chartColors来指定. 示例代码:XBarChartView *chartView = [[XBarChartView alloc] initWithFrame:self.view.bounds] NSMutableArray *xTitles = [NSMutableArray array]; NSMutableArray *yValues = [NSMutableArray array]; for (int i = 0 ; i < 2; i ++) { NSMutableArray *yArr = [NSMutableArray array]; int max = arc4random_uniform(1000)+300; for (int j = 0; j < 100; j ++) { if(i == 0) [xTitles addObject:[NSString stringWithFormat:@"第%d个",j]]; [yArr addObject:[NSString stringWithFormat:@"%d",arc4random_uniform(max)]]; } [yValues addObject:yArr]; } chartView.xTitles = xTitles; //设置X chartView.yValuesArray = yValues; //设置Y chartView.gradientEnable = YES; //设置启用渐变填充 [self.view addSubview:chartView]; [chartView strokeChart]; //开始绘制
API解释
-
公共方法
xTitlesx 坐标的显示文字数组, 数组里面包含的是字符串yValuesArray绘制的值数组, 数组里面包含的是值的数组, 例如@[@[@"23",@"33"],@[@"100",@"500"]]chartColors绘制线条/柱状图颜色的数组,数组里面的类型为UIColorsyUnit数值的单位, 用于显示在提示框中, 类型为NSStringdataNameArr数值类型名数组, 该数组的个数应当与yValuesArray个数相等, 用于显示在提示框中, 替换值1等等的提示yLabNumberY轴上面显示的数值刻度个数labFont用于设置X,Y 轴显示文字的字体xLabspace用于设置x轴,两个lab之间的间距coordColor用于设置坐标轴颜色coordWidth用于设置坐标轴的绘制线条宽度contentView绘制区域的视图,可以设置背景色等等操作animationEnable设置是否启用绘制动画animationDuration设置绘制动画的持续时间yAssistLineEnable设置是否绘制背景的横向显示辅助线yAssistLineWidth设置绘制背景的横向显示辅助线的宽度yAssistLineColor设置绘制背景的横向显示辅助线的颜色xAssistLineEnable设置是否绘制背景的纵向显示辅助线xAssistLineWidth设置绘制背景的纵向显示辅助线的宽度xAssistLineColor设置绘制背景的纵向显示辅助线的颜色markerBgColor设置提示的背景颜色markerLineColor设置辅助提示线条的颜色noDataLab没有数据显示的lab, 可以自定义文字与背景颜色
-
XLineChartView 专属设置
strokeLineWidth设置绘制线条的宽度showDot设置是否显示圆点dotRadius设置显示圆点的半径dotLineWidth设置显示圆点边框线的宽度dotStrokeColors设置绘制圆点边框线的颜色, 类型为UIColor数量应该与yValuesArray相等dotFillColors设置绘制圆点填充颜色, 类型为UIColor数量应该与yValuesArray相等gradientEnable是否需要渐变色填充gradientColors填充渐变色,内部数组格式示例(id)[UIColor redColor].CGColor, 数量应该与yValuesArray相等gradientLocations渐变色的locations参考CAGradientLayer的locationschartType绘制类型, 可选择曲线(XChartLineTypeCurve), 折线(XChartLineTypePolyline) -
XBarChartView 专属设置
参数解释图
参数解释
`barWidth` 每个柱形的宽度 取值`0.0~1.0`
`barSpace` 每个柱形之间的距离 取值`0.0~1.0`
`margin` 每组数据的前后边距 取值`0.0~1.0`
`barBgColor` 设置 柱形 的背景颜色
使用注意
-
实时缩放使用起来使用户的体验非常良好, 但是当数据很多的时候(>300),不同设备上的体检会有所不同
-
你可以根据需要无限制的调用
strokeChart来重新绘制你的图形, 但是在改变图表参数之后(除提示视图参数), 你必须手动调用一次strokeChart方法 -
推荐在
iOS 7.0以后的系统上使用












网友评论