CPTPieChart:绘制饼图
建议阅读以下内容时,同时参看GitHub上coreplot自带的工程例子。
CPTGraph的属性axisSet需要置为nil(即不需要展示坐标轴)
基本属性:
pieRadius:半径
startAngle:开始绘制的偏移(只是圆沿着中心旋转了以下)
endAngle
sliceDirection:饼图按照逆时针绘制
centerAnchor:重心
overlayFill:饼图的阴影/光泽效果(建议设置为nil)
shadow:阴影效果
pieInnerRadius:类似于让饼图空心的半径
//饼图文字展示方向和位置
piePlot.labelRotationRelativeToRadius = YES;//文字是否顺着图形的方向
piePlot.labelRotation = CPTFloat(-M_PI_2);
piePlot.labelOffset = -50.0;
设置好数据源plotData后,reloadData刷新界面。
代理方法:
//返回扇形数目(其他两个图形也有,例如折线图表示折点个数)
- (NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot
//返回每个扇形的比例(其他两个图形也有,意义不同)
- (NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)idx
//返回每个扇形的标题(可以为比重 / 内容)
- (CPTLayer *)dataLabelForPlot:(CPTPlot *)plot recordIndex:(NSUInteger)idx
//条目 / 图例说明文字(饼图和柱状图有该代理)CPTLegend的代理
- (NSAttributedString *)attributedLegendTitleForPieChart:(CPTPieChart *)pieChart recordIndex:(NSUInteger)idx
高级用法
代理:
//绘制某一扇形是的颜色
-(CPTFill *)sliceFillForPieChart:(CPTPieChart *)pieChart recordIndex:(NSUInteger)idx
//第index扇形突出展示
-(CGFloat)radialOffsetForPieChart:(CPTPieChart *)pieChart recordIndex:(NSUInteger)index
//点击饼图的某一个部分事件
-(void)pieChart:(CPTPieChart *)plot sliceWasSelectedAtRecordIndex:(NSUInteger)index