我正在使用Core Plot alpha版本0.2并生成带有自定义标签的图表。标签出现在正确的位置,但我没有刻度线。我尝试了这些设置的每个组合:
x.majorIntervalLength = [[NSDecimalNumber decimalNumberWithString:@“5”] decimalValue]; x.minorTicksPerInterval = 0; x.majorTickLineStyle = lineStyle; x.minorTickLineStyle = lineStyle; x.axisLineStyle = lineStyle; x.minorTickLength = 5.0f; x.majorTickLength = 7.0f; x.tickDirection = CPSignNegative;
我还使用以下方法在图表底部添加了填充:
graph.plotAreaFrame.paddingBottom = 10.0;
具有向上移动X轴的效果,但没有可见的刻度线。这似乎应该非常简单,在自定义标签的位置生成刻度线。但我认为没有办法做到这一点。
想法?
** * * 以下是我用于生成标签和刻度线的代码,没有运气 *
for (int i = 0; i < [xAxisLabels count]; i++) {
NSDictionary * labelDict = [xAxisLabels objectAtIndex:i];
NSString *label=[labelDict valueForKey:@"element"];
NSNumber *offset=[labelDict valueForKey:@"x"];
float location=[offset floatValue]*multiplier;
CPAxisLabel *newLabel = [[CPAxisLabel alloc] initWithText: label textStyle:labelStyle];
newLabel.tickLocation = CPDecimalFromFloat(location);
newLabel.offset = x.labelOffset + x.majorTickLength;
[customTicks addObject:[NSDecimalNumber decimalNumberWithDecimal:CPDecimalFromFloat(location)]];
[customLabels addObject:newLabel];
[newLabel release];
}
x.axisLabels = [NSSet setWithArray:customLabels];
[x setMinorTickLocations:[NSSet setWithArray:customTicks]];
[x setMajorTickLocations:[NSSet setWithArray:customTicks]];
[customTicks release];
答案 0 :(得分:1)
使用CPAxisLabelingPolicyNone
,您还需要提供刻度线位置(minorTickLocations
和majorTickLocations
)。