2012-09-09 55 views
0

問題(放大/縮小後):CorePlot(IOS):繪製可見區域

可以說我有一個等式: Y = X^2

使用核 - 情節我這樣做:

-(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot { 
    return 3000; 
} 

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

     switch (fieldEnum) { 
      case CPTScatterPlotFieldX: 
       num = [NSNumber numberWithUnsignedInteger:index]; 
       break; 
      case CPTScatterPlotFieldY: 
       num = [NSNumber numberWithUnsignedInteger:index*index]; 
       break; 
     } 

     return num; 
    } 

但是,這將只繪製3000點,甚至在縮小(在X軸顯示點從0到5000)。所以剩下的地方沒有了。

我想要的是:在縮小之後,我可以刷新整個可見區域的情節。

有人知道該怎麼做嗎?

回答

0

首先,我會將點數限制爲不超過繪製圖的可用像素數。除此之外,僅僅需要更多時間才能吸引沒有明顯的好處。查看繪圖區域邊界的大小以獲取繪圖區域的尺寸。如果您可能在具有Retina顯示屏的設備上運行,請將寬度和高度乘以contentsScale

您可以使用繪圖空間代表來找出用戶放大或滾動圖形的時間。在委託方法內部的圖上調用reloadData以重新計算繪圖數據。

相關問題