自定义Coreplot图例

时间:2013-09-12 23:28:28

标签: ios objective-c cocoa-touch core-plot

我在Coreplot中排序数据时出现问题。我有一个堆叠的条形图,它是A和B.这些值也是我的图中的值。但是,coreplot会以某种方式对数据进行排序。

for (int i=0; i<[privDataArray count];i++) {
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    NSNumber *a = [NSNumber numberWithFloat:[[[privDataArray objectAtIndex:i] objectForKey:@"rente"] floatValue]];
    NSNumber *b = [NSNumber numberWithFloat:[[[privDataArray objectAtIndex:i] objectForKey:@"aflossing"] floatValue]];
    [dict setObject:a forKey:@"a"];
    [dict setObject:b forKey:@"b"];
    [data setObject:dict forKey:[NSNumber numberWithInt:i]];
}

这是我的数据实例。所以我需要B在堆积条形图的底部。但Coreplot将它放在堆栈的底部。

现在,我对此的解决方案只是更改A和B的名称,问题就解决了。

然而;我需要创建一个自定义图例:

-(NSString *)legendTitleForBarPlot:(CPTBarPlot *)barPlot recordIndex:(NSUInteger)index {
    if (index==0) {
        return @"Rente";
    else if (index==1) {
        return @"Aflossing";
    } else {
        return nil;
    }
}

这产生了一个非常奇怪的传说。它显示了两种颜色的样本,旁边有随机字符串。

我的问题是:如何为索引返回NSStrings,换句话说,如何创建自定义图例?

1 个答案:

答案 0 :(得分:0)

仅当您想要条形图中每个条形图的单独图例条目时,才需要-legendTitleForBarPlot:recordIndex:方法。例如,请参阅 Plot Gallery 示例应用程序中的“彩色条形图”。设置图title以为每个图创建一个图例条目。