我在这里阅读了教程:http://www.switchonthecode.com/tutorials/using-core-plot-in-an-iphone-application,我可以看到一个图表,但是我的轴上没有看到任何刻度线或标签。我有什么简单的东西可以忽略吗?下面是我创建图表的代码,我还实现了委托函数。我正在看轴和图,但不是轴刻度标记或标签。
感谢您提供任何帮助。
- (void) showGraph {
graph = [[CPXYGraph alloc] initWithFrame: CGRectMake(0,0, 320, 320)];
CPLayerHostingView *graphView = [[CPLayerHostingView alloc] initWithFrame:CGRectMake(0,0, 320, 320)];
graphView.backgroundColor = [UIColor blueColor];
AppDelegate *t = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[t.mapVC.view addSubview:graphView];
graphView.hostedLayer = graph;
graph.paddingLeft = 20.0;
graph.paddingTop = 20.0;
graph.paddingRight = 20.0;
graph.paddingBottom = 20.0;
float minElevation = 0;
float maxElevation = 10;
float minTime = 0;
float maxTime = 5;
CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.xRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(minTime)
length:CPDecimalFromFloat(maxTime)];
plotSpace.yRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(minElevation)
length:CPDecimalFromFloat(maxElevation)];
CPXYAxisSet *axisSet = (CPXYAxisSet *)graph.axisSet;
CPLineStyle *blackStyle = [CPLineStyle lineStyle];
blackStyle.lineColor = [CPColor blackColor];
blackStyle.lineWidth = 5.0f;
CPLineStyle *whiteStyle = [CPLineStyle lineStyle];
whiteStyle.lineColor = [CPColor whiteColor];
whiteStyle.lineWidth = 5.0f;
axisSet.xAxis.majorIntervalLength = [[NSDecimalNumber decimalNumberWithString:@"5"]decimalValue];
axisSet.xAxis.minorTicksPerInterval = 4;
axisSet.xAxis.majorTickLineStyle = whiteStyle;
axisSet.xAxis.minorTickLineStyle = whiteStyle;
axisSet.xAxis.axisLineStyle = blackStyle;
axisSet.xAxis.minorTickLength = 5.0f;
axisSet.xAxis.majorTickLength = 10.0f;
axisSet.xAxis.labelOffset = 3.0f;
axisSet.yAxis.majorIntervalLength = [[NSDecimalNumber decimalNumberWithString:@"5"]decimalValue];
axisSet.yAxis.minorTicksPerInterval = 4;
axisSet.yAxis.majorTickLineStyle = blackStyle;
axisSet.yAxis.minorTickLineStyle = blackStyle;
axisSet.yAxis.axisLineStyle = whiteStyle;
axisSet.yAxis.minorTickLength = 5.0f;
axisSet.yAxis.majorTickLength = 10.0f;
axisSet.yAxis.labelOffset = 3.0f;
CPScatterPlot *xSquaredPlot = [[[CPScatterPlot alloc]
initWithFrame:graph.bounds] autorelease];
xSquaredPlot.identifier = @"X Squared Plot";
xSquaredPlot.dataLineStyle.lineWidth = 2.0f;
xSquaredPlot.dataLineStyle.lineColor = [CPColor greenColor];
xSquaredPlot.dataSource = self;
[graph addPlot:xSquaredPlot];
CPPlotSymbol *greenCirclePlotSymbol = [CPPlotSymbol ellipsePlotSymbol];
greenCirclePlotSymbol.fill = [CPFill fillWithColor:[CPColor greenColor]];
greenCirclePlotSymbol.size = CGSizeMake(2.0, 2.0);
xSquaredPlot.plotSymbol = greenCirclePlotSymbol;
}
答案 0 :(得分:6)
轴外侧需要一些空间。 Core Plot还没有自动为您执行此操作。
尝试向graph.plotArea.plotGroup
和graph.plotArea.axisSet
添加一些填充。有关示例,请参阅iPhone测试应用程序中的条形图。