如何在饼图中显示两个值

时间:2015-10-19 05:51:14

标签: ios core-plot pie-chart

我是新手。我有一个名为NSObject的{​​{1}}类,并在接口文件中声明了3个属性

dailyPortfolioPrices.h

dailyPortfolioPrices

dailyPortfolioPrices.m 文件

我合成了上面声明的属性。我创建了一个名为@interface dailyPortfolioPrices : NSObject @property (nonatomic, weak) NSDecimalNumber *num1; @property (nonatomic, weak) NSDecimalNumber *num2; @property (nonatomic, weak) NSDecimalNumber *num3; 的{​​{1}}类,用于显示UIViewController

在PageContentViewController.m 文件' s PageContentViewController我宣布了graph的值

voidDidAppear

并将编码作为

![在此输入图片说明] [2]

用于计算百分比值

dailyPortfolioPrices

用于设置显示标签

dailyPortfolioPrices *dailyPortfolioPrices1 = [dailyPortfolioPrices new];
dailyPortfolioPrices1.num1 = @"586.13";
dailyPortfolioPrices1.num2 = @"606.53";
dailyPortfolioPrices1.num3 = @"32.03";


dailyPortfolioPrices *dailyPortfolioPrices2 = [dailyPortfolioPrices new];
dailyPortfolioPrices2.num1 = @"426.13";
dailyPortfolioPrices2.num2 = @"506.53";
dailyPortfolioPrices2.num3 = @"22.03";


dailyPortfolio = [NSArray arrayWithObjects: dailyPortfolioPrices1, dailyPortfolioPrices2, nil];

创建并返回带有标签文字的图层

NSDecimalNumber *price = [dailyPortfolio objectAtIndex:index];

NSDecimalNumber *percent = [price decimalNumberByDividingBy:portfolioSum];

但我的图表中没有显示任何数据。任何人都可以告诉我哪里弄错了。我想使用NSString *labelValue = [NSString stringWithFormat:@"$%0.2f USD (%0.1f %%)", [price floatValue], ([percent floatValue] * 100.0f)];

return [[CPTTextLayer alloc] initWithText:labelValue style:labelText]; } -(NSString *)legendTitleForPieChart:(CPTPieChart *)pieChart recordIndex:(NSUInteger)index { if (index < [[[CPDStockPriceStore sharedInstance] tickerSymbols] count]) { return [[[CPDStockPriceStore sharedInstance] tickerSymbols] objectAtIndex:index]; } return @"N/A"; } 中显示pie chart

提前感谢您的帮助

2 个答案:

答案 0 :(得分:0)

enter image description here

但是......为什么?

您将字段与完全不同的字段进行比较,因此我非常确定numberForPlot始终返回0.

==========

enter image description here

再次,为什么?

  1. labelText此处未使用
  2. 当您需要返回CPTLayer
  3. 时,会返回小数

    我不知道你对此的期望......我不是故意粗鲁,但似乎你不知道你在做什么。

答案 1 :(得分:0)

-numberForPlot:field:recordIndex:必须返回一个数字(或nil)。 dailyPortfolio数组包含其他内容。