gpt4 book ai didi

iphone - core-plot:仍然不明白如何拥有自定义标签和刻度

转载 作者:行者123 更新时间:2023-12-03 18:44:02 24 4
gpt4 key购买 nike

这个问题我已经困扰了很长时间了,但我找不到任何解决办法。我阅读了几个论坛,但无法找到可行的解决方案。我有以下代码:

// Adjust graph using above data                
CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.xRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(-10) length:CPDecimalFromFloat(xmax + 17)];
plotSpace.yRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(-450) length:CPDecimalFromFloat(3750)];

// Setup axis
CPXYAxisSet *axisSet = (CPXYAxisSet *)graph.axisSet;
CPLineStyle *lineStyle = [CPLineStyle lineStyle];
lineStyle.lineColor = [CPColor whiteColor];
lineStyle.lineWidth = 1.0f;
CPTextStyle *cyanStyle = [CPTextStyle textStyle];
cyanStyle.color = [CPColor cyanColor];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:0];

// x axis with custom labels
axisSet.xAxis.labelingPolicy = CPAxisLabelingPolicyNone;
axisSet.xAxis.majorTickLineStyle = lineStyle;
axisSet.xAxis.axisLineStyle = lineStyle;
axisSet.xAxis.majorTickLength = 3.0f;
axisSet.xAxis.labelOffset = 3.0f;

axisSet.xAxis.visibleRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromInteger(0) length:CPDecimalFromInteger(xmax)];
axisSet.xAxis.labelExclusionRanges = [NSArray arrayWithObjects:
[CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(-10)
length:CPDecimalFromFloat(10)],
nil];

NSArray *customTickLocations = [NSArray arrayWithObjects:[NSDecimalNumber numberWithInt:0],
[NSDecimalNumber numberWithInt:6],
[NSDecimalNumber numberWithInt:12],
[NSDecimalNumber numberWithInt:18],
[NSDecimalNumber numberWithInt:24],
[NSDecimalNumber numberWithInt:30],
[NSDecimalNumber numberWithInt:36],
[NSDecimalNumber numberWithInt:41],
[NSDecimalNumber numberWithInt:47],
nil];

// This return the labels (11h, 14h, ..., 22h, ..)
NSArray *xAxisLabels = [GPHelpers getHoursList:fromStr to:toStr];

NSUInteger labelLocation = 0;
NSMutableArray *customLabels = [NSMutableArray arrayWithCapacity:[xAxisLabels count]];
for (NSNumber *tickLocation in customTickLocations) {
CPAxisLabel *newLabel = [[CPAxisLabel alloc] initWithText: [xAxisLabels objectAtIndex:labelLocation++] textStyle:axisSet.xAxis.labelTextStyle];
newLabel.tickLocation = [tickLocation decimalValue];
//newLabel.majorTickLocations = [tickLocation decimalValue];
newLabel.offset = axisSet.xAxis.labelOffset + axisSet.xAxis.majorTickLength;
[customLabels addObject:newLabel];
[newLabel release];
}
axisSet.xAxis.axisLabels = [NSSet setWithArray:customLabels];

我看到了标签,但 x 上根本没有刻度。

最佳答案

为了结束这个问题,我从一位核心情节人员那里得到了答案:

只需设置刻度位置,添加以下语句:

axisSet.xAxis.majorTickLocations = [NSSet setWithArray:customTickLocations]; 

问候,吕克

关于iphone - core-plot:仍然不明白如何拥有自定义标签和刻度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3208025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com