0
我正在使用CorePlot框架繪製數據時遇到問題。我有integrated it,下面是我正在處理的項目中的代碼示例:實時分佈圖 圖表。問題:如果數據源具有相同的數據,則不繪圖圖形
如果我的數據源具有相同的值,則圖形不會繪圖。
這是繪製點代碼:
#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;
假設'arrayLiveValues'是一個數組數組,這看起來很好。你如何縮放情節空間? –
如果數組包含與每個對象相同的數字,則不繪圖。通過遵循它的設置規模我認爲。 [plotSpace scaleToFitPlots:[NSArray arrayWithObjects:aaplPlot,nil]]; – Srinivas
如果所有數據點完全相同,繪圖範圍將以零長度結束。在縮放範圍並根據需要調整範圍後,您需要檢查'xRange'和'yRange',以便在所有情況下都可以看到數據。 –