CorePlot:带有标签政策标签的XAxis文本标签

时间:2012-05-25 11:22:53

标签: ios5 text core-plot policy labeling

为什么在字符串标签中找不到与CPTAxisLabelingPolicyNone不同的labelPolicy ???

x.labelingPolicy = CPTAxisLabelingPolicyNone;

enter image description here

我想要这个GRIDLineStyle,但是我的文字标签是:

x.labelingPolicy = CPTAxisLabelingPolicyFixedInterval

enter image description here

我使用以下代码填写xAxisLabels:

NSMutableArray *labels = [[NSMutableArray alloc] initWithCapacity:[labelsAxisX count]];
    int idx = 0;
    for (NSString *product in labelsAxisX)
    {
        CPTAxisLabel *label = [[CPTAxisLabel alloc] initWithText:product textStyle:x.labelTextStyle];
        label.tickLocation = CPTDecimalFromInt(idx);
        label.offset = 5.0f;
        [labels addObject:label];
        [label release];
        idx++;
    }

    x.axisLabels = [NSSet setWithArray:labels];
    [labels release];

1 个答案:

答案 0 :(得分:1)

使用CPTAxisLabelingPolicyNone标签政策,除了制作标签外,还需要提供刻度位置(主要和/或次要)。如果您更愿意使用固定间隔标签政策,则可以为轴返回文本标签而不是数字创建自定义数字格式化程序。

以下是改编自Plot Gallery示例应用程序中的标签政策演示的示例:

NSMutableSet *tickLocations = [NSMutableSet set];
for ( NSUInteger loc = 0; loc < labelsAxisX.count; loc++ ) {
    [tickLocations addObject:[NSDecimalNumber numberWithUnsignedInteger:loc]];
}
axis.majorTickLocations = tickLocations;

次要刻度线位置的工作方式相同。