iPhone-Core-Plot Tick Marks Nicht Angezeigt
-
20-09-2019 - |
Frage
ich durch das Tutorial ging hier: http: //www.switchonthecode.com/tutorials/using-core-plot-in-an-iphone-application , und ich kann eine Grafik zu zeigen, aber ich sehe keine Strichmarkierungen oder Etiketten auf meinem Achse eingestellt. Gibt es etwas, einfach ich bin mit Blick auf? Unten ist mein Code die Grafik zu erstellen, und ich auch die Delegierten Funktionen implementiert. Ich bin die Achse und die Handlung zu sehen, aber nicht die Achse Striche oder Etiketten.
Vielen Dank für jede Hilfe, die Sie geben können.
- (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;
}
Lösung
Sie brauchen etwas Platz um die Außenseite der Achsen. Core-Plot noch nicht tut dies automatisch für Sie.
Versuchen Sie, einige padding graph.plotArea.plotGroup
und graph.plotArea.axisSet
hinzufügen. Siehe das Balkendiagramm in dem iPhone-App-Test für ein Beispiel.