我必须绘制一张类似于此图的饼图。我必须在图像中提到的两行显示数据标签(实际计数和百分比值)我想知道这是否可行使用核心图。我使用下面的委托来获取百分比或实际数量,但不确定如何获得这两个值。任何帮助都将受到高度赞赏。
-(CPTLayer *)dataLabelForPlot:(CPTPlot *)plot recordIndex:(NSUInteger)index {
if([plot isKindOfClass:[CPTPieChart class]]) {
static CPTMutableTextStyle *labelText = nil;
if (!labelText) {
labelText= [[CPTMutableTextStyle alloc] init];
labelText.color = [CPTColor blueColor];
}
NSDecimalNumber *portfolioSum = [NSDecimalNumber zero];
for (NSDecimalNumber *price in [[CPDStockPriceStore sharedInstance] dailyPortfolioPrices]) {
portfolioSum = [portfolioSum decimalNumberByAdding:price];
}
NSDecimalNumber *countValue = [[[CPDStockPriceStore sharedInstance] dailyPortfolioPrices] objectAtIndex:index];
NSString *labelValue = [NSString stringWithFormat:@"%@",countValue];
CPTTextLayer *textLayer = [[CPTTextLayer alloc]initWithText:labelValue];
return textLayer;
}
else {
return nil;
}
}
答案 0 :(得分:0)
文本图层允许指定属性字符串。试试这个并在需要的地方添加\ n。您还可以为字符串中的不同部分应用不同的样式(与通常的属性字符串一样)。实际上,即使是简单的NSString也可以将标签分成2行。只需在需要的地方添加\ n。