2012-04-02 10 views
0

コントロールラインを静的にする代わりに、グラフの一部として表示する代わりに(コントロールラインがグラフとともに動いている)、軸のように表示されます。coreplotでスタティックラインを作成する方法

アプリは唯一の私は(私はx軸の上に置く)2本の赤い線と緑のラインについて話して水平に

enter image description here

をスクロールすることができます

これは私が私の行を行う方法です。

// Center line 
CPTScatterPlot *centerLinePlot = [[CPTScatterPlot alloc] init]; 
centerLinePlot.identifier = kCenterLine; 

CPTMutableLineStyle *lineStyle = [CPTMutableLineStyle lineStyle]; 
lineStyle.lineWidth   = 2.0; 
lineStyle.lineColor   = [CPTColor greenColor]; 


centerLinePlot.dataLineStyle = lineStyle; 
centerLinePlot.dataSource = self; 
[graph addPlot:centerLinePlot]; 

が、多分それは表示されている範囲とは何かを持っている:

////////ajuste la portion a voir 
if(data.Resultats.count>10) 
{ 
    plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(data.Resultats.count - 10) length:CPTDecimalFromDouble(10)]; 
} 

plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(RangeMin) length:CPTDecimalFromDouble(RangeMax-RangeMin)]; 

// Adjust visible ranges so plot symbols along the edges are not clipped 

CPTMutablePlotRange *xRange = [plotSpace.xRange mutableCopy]; 
CPTMutablePlotRange *yRange = [plotSpace.yRange mutableCopy]; 

//place l'axe x sur la ligne de controle pour voir les WorkOrders 
x.orthogonalCoordinateDecimal = CPTDecimalFromDouble(center); 

//x.orthogonalCoordinateDecimal = yRange.location; 
//y.orthogonalCoordinateDecimal = xRange.location; 

//x.visibleRange = xRange; 
//y.visibleRange = yRange; 

//x.gridLinesRange = yRange; 
//y.gridLinesRange = xRange; 


[xRange expandRangeByFactor:CPTDecimalFromDouble(1.15)];//1.05 
[yRange expandRangeByFactor:CPTDecimalFromDouble(1.15)]; 
plotSpace.xRange = xRange; 
plotSpace.yRange = yRange; 

答えて

1

メインプロットはスクロールすることができますどのくらいの制限がある場合、単にその範囲外の制御線の終点を設定します。コアプロットは可視部分のみを描画します。

これを行う別の方法は、グラフに2番目のプロットスペースを追加することです。このプロット空間にデフォルトプロットの代わりにコントロールプロットを追加します。スクロールできないようにglobalXRangeglobalYRangeを設定します。

+0

スクロールの制限がないので、2番目のオプションを試していただきありがとうございます。私は数分で結果を投稿します –

+0

私は試しました CPTXYPlotSpace * ControlPlotSpace = [[CPTXYPlotSpace alloc] init]; [グラフaddPlotSpace:ControlPlotSpace]; と変更されました [graph addPlot:centerLinePlot]; に[:centerLinePlot toPlotSpace:グラフaddPlot ControlPlotSpace]。 が、対照区はちょうど –

+0

あなたが設定したのプロットが新しいプロット領域に及ぶ消えましたか? –

関連する問題