2011-09-14 16 views
0

現在、私は、散布図の例のコードから次のコードを使用しています:コアプロット:トラブル折れ線グラフにデータポイントを追加する

// Axes 
CPTXYAxisSet *xyAxisSet = (id)graph.axisSet; 
CPTXYAxis *xAxis = xyAxisSet.xAxis; 
CPTMutableLineStyle *lineStyle = [xAxis.axisLineStyle mutableCopy]; 
lineStyle.lineCap = kCGLineCapButt; 

を私の問題はしかしある、グラフが多少棒グラフに似ています。軸上のXとYの値は両方とも0から1にしかなりません。両方の軸を作る方法は、[-5,5]からの値を表示しますか?

答えて

1

プロット空間に表示する値の範囲を設定するには、プロット空間のxRangeとyRangeを設定する必要があります。ような何か:表示されるまで、実際のポイントを得るために

plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace; 
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation: CPTDecimalFromDouble(-5.0) length: CPTDecimalFromDouble(10.0)]; 
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation: CPTDecimalFromDouble(-5.0) length: CPTDecimalFromDouble(10.0)]; 

、あなたは、グラフのDataSourceオブジェクトを設定する必要があり、それはデータソースのメソッドに応答する必要がある:あなたが1つしかない場合は

-(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot; 
-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index; 

plotでは、numberForPlot:の最初の引数を無視できます。 2番目の引数は、ポイントのx軸値が必要な場合は0になり、ポイントのY軸値が必要な場合は1になります。 Indexはプロットのポイント番号です。ですから、NSArrayの中のデータは、その配列内の各オブジェクトは、xの別のNSArrayのあるmyDataArrayと呼ばれる持っていると仮定すると、yの値は、次のようなものがあります:あなたは固定で、データアレイを設定することができ

-(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot; 
{ 
    return [myDataArray count]; 
} 

-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index; 
{ 
    return [[myDataArray objectAtIndex: index] objectAtIndex: fieldEnum]; 
} 

を以下のようなデータ:

NSArray *myDataArray = [NSArray arrayWithObjects: 
    [NSArray arrayWithObjects: [NSNumber numberWithInt: 2], [NSNumber numberWithInt: 3], nil], 
    [NSArray arrayWithObjects: [NSNumber numberWithInt: 3], [NSNumber numberWithInt: 2], nil], 
    [NSArray arrayWithObjects: [NSNumber numberWithInt: 5], [NSNumber numberWithInt: 5], nil], 
    nil]; 
+0

は、私はあなたのplotSpaceコードを追加してみましたが、それは言う: 'エラー:セマンティック問題:宣言されていない識別子「plotSpace''の使用。私はnumerOfRecordsForPlotを持っていますが、現在はnumberForPlotではなく、10を返すように設定されています。これらの2つの関数の中にどのようなコードを入れるべきですか?ありがとう! –

+0

OK - プロットスペース問題を修正しました、ありがとうございました!しかし、これらの2つの方法の本文については、まだ断ります。P –

+0

上記の改訂版の回答を参照してください。 – Flyingdiver

関連する問題