2011-12-05 10 views
1

ここでは、(可変配列である)dataForPlotに座標の数を追加しました。ここで1つの座標のセットを表示しようとしています。私はnumberOfRecordsForPlotメソッドで[dataForPlot count]を返しました。これは正常に動作しています。iPhoneの散布図に複数のデータセット(各データセットに異なる色)を描画するにはどうすればよいですか?

が、今、私は(私はviewDidLoadメソッドで使用しているforループ5にすなわち4)座標の異なる-異なるセットを持って

私は違うとプロット上のもの4〜5セット/レコードを表示したいです各セットの色。 numberOfRecordsForPlotメソッドで何が返され、numberForPlotメソッドで必要な変更が必要ですか?どのように達成する必要がありますか?

私はコアプロットに新しいです。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSMutableArray *contentArray = [NSMutableArray arrayWithCapacity:100]; 
    NSUInteger i; 
    for (i = 0; i < 60; i++) { 

     id x = [NSNumber numberWithFloat:1+i*0.05]; 
     id y = [NSNumber numberWithFloat:1.2*rand()/(float)RAND_MAX + 1.2]; 
     [contentArray addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:x, @"x", y, @"y", nil]]; 
    } 
self.dataForPlot = contentArray; 
} 


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


-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 
{ 
    NSDecimalNumber *num = nil; 

    num = [[dataForPlot objectAtIndex:index] valueForKey:(fieldEnum == CPTScatterPlotFieldX ? @"x" : @"y")]; 

    return num; 
} 

答えて

1

まず、サンプルコードを読んでください。 CPTTestAPP-iPhone。 2つの散布図があります。緑1と青1。

すべてのサンプルsrcコードがCorePlotパッケージに含まれています。

アプリケーションがiOS5とARC(Automatic Reference Count)用のアプリケーションの場合は、最新のCorePlotパッケージをMercurialを使用してダウンロードする必要があります。 0.90リリースにはARCの最近の変更が含まれていないためです。

- (NSUInteger)numberOfRecordsForPlot:(CPTPlot *)プロット - (のNSNumber *)numberForPlot:(CPTPlot *)プロットフィールド:(NSUInteger)fieldEnum recordIndex:(NSUInteger)インデックス

2 meshods上記CPTPlotのデータであり、ソース。 多くの散布図がある場合でも、各散布図には識別子を付けることができます。したがって、データソースは誰が本当のクライアントであるかを知ることができます。

+1

ありがとうございます。散布図の識別子​​プロパティが複数のプロットを表示するのに役立ちました。 – virata

関連する問題