CorePlot フレームワークを使用してデータをプロットする際に問題に直面しています。私はそれを統合しました。以下に、私が取り組んでいるプロジェクトのコードのサンプルがあります: ライブ散布図。
データ ソースの値が同じ場合、グラフはプロットされません。
これは点をプロットするためのコードです:
#pragma mark - CPTPlotDataSource methods
-(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot {
return [appDelegate.arrayLiveValues count];
}
-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum
recordIndex:(NSUInteger)index
{
NSInteger valueCount = [appDelegate.arrayLiveValues count];
switch (fieldEnum) {
case CPTScatterPlotFieldX:
if (index < valueCount) {
return [NSNumber numberWithUnsignedInteger:index];
}
break;
case CPTScatterPlotFieldY:
return [appDelegate.arrayLiveValues objectAtIndex:index];
break;
}
return [NSDecimalNumber zero];
}
配列に重複する値が含まれている場合appDelegate.arrayLiveValues
、それはプロットされません。値が異なる場合は、 の値に基づいてグラフをプロットしています。datasource
つまりappDelegate.arrayLiveValues
、グラフのズーム レベルが設定されています。内部機能を知りたい
-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index method;