我正在使用CorePlot for iPhone。我可以做一個簡單的圖表就好了。但我想要做的是讓y軸從0到100,x軸從1998年到2007年。我想保留這個數字(如果可能的話,不是基於自定義文本的標籤)。Coreplot iphone設置正確的座標軸和交叉點
的問題,就是當你設置這些軸:
// We modify the graph's plot space to setup the axis' min/max values.
float xAxisMin = 1998
float xAxisMax = 2007;
float yAxisMin = 0;
float yAxisMax = 100;
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(xAxisMin) length:CPTDecimalFromFloat(xAxisMax - xAxisMin)];
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yAxisMin) length:CPTDecimalFromFloat(yAxisMax - yAxisMin)];
// Modify the graph's axis with a label, line style, etc.
CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet;
axisSet.xAxis.title = @"";
axisSet.xAxis.titleTextStyle = textStyle;
axisSet.xAxis.titleOffset = 10.0f;
axisSet.xAxis.axisLineStyle = lineStyle;
axisSet.xAxis.majorTickLineStyle = lineStyle;
axisSet.xAxis.minorTickLineStyle = lineStyle;
axisSet.xAxis.labelTextStyle = textStyle;
axisSet.xAxis.majorIntervalLength = CPTDecimalFromFloat(1000.0f);
axisSet.xAxis.labelOffset = 1.0f;
axisSet.xAxis.minorTicksPerInterval = 1;
axisSet.xAxis.minorTickLength = 5.0f;
axisSet.xAxis.majorTickLength = 7.0f;
你得到,顯示在0 y軸將100則x軸開始於1998年左右在右邊的圖表。即它們的圖形不會在X:1998 y:0處交叉。是否有辦法強制它這樣做?據我所知,我必須做一個x-axix範圍爲0-2007,y軸範圍爲0-100的圖表。那我可以告訴它切出0-1997的棋子,並且讓棋子在0?
另一種方法是使用自定義點。我試過的。但似乎有一個問題,它不會在圖表上顯示刻度線。例如,如果我從源代碼中看到這個例子,我可以看到1998,1999,2000等,但是沒有|線與X軸交叉。這就像蜱線不會畫,因爲我使用自定義線。
感謝您的任何和所有幫助,
-David
我知道這個鏈接:http://stackoverflow.com/questions/2054727/爲什麼不會我的x軸顯示核心劇情在iphone上 我只需要將它在X(向左)方向而不是Y. – 2012-02-02 01:01:16
如果我只是這樣做:axisSet.yAxis.axisConstraints = [CPTConstraints constraintWithLowerO ffset:150];然後它將yAxis移動到右邊,但是場景然後到達屏幕的右側,並且大部分看不見..不是真正的解決方案.. – 2012-02-02 01:30:52