2010-07-12 28 views

回答

2

您只需創建描述您的自定義符號的輪廓一個CGPath。下面是從CPTestApp樣本(在CorePlot/examples文件夾):

CPPlotSymbol *symbol = [[[CPPlotSymbol alloc] init] autorelease]; 
CGMutablePathRef path = CGPathCreateMutable(); 
CGPathMoveToPoint(path, NULL, 0., 0.); 

CGPathAddEllipseInRect(path, NULL, CGRectMake(0., 0., 10., 10.)); 
CGPathAddEllipseInRect(path, NULL, CGRectMake(1.5, 4., 3., 3.)); 
CGPathAddEllipseInRect(path, NULL, CGRectMake(5.5, 4., 3., 3.)); 
CGPathMoveToPoint(path, NULL, 5., 2.); 
CGPathAddArc(path, NULL, 5., 3.3, 2.8, 0., pi, TRUE); 
CGPathCloseSubpath(path); 

symbol.customSymbolPath = path; 
symbol.usesEvenOddClipRule = YES; 
CGPathRelease(path); 

您可以設置散點圖上的plotSymbol屬性,將元件適用於每一個點或使用-symbolForScatterPlot:recordIndex:-symbolsForScatterPlot:recordIndexRange:數據源的方法將其應用到一些要點。

+0

感謝您的寶貴答案。它支持iPhone操作系統? – sri 2010-07-13 10:19:58

+0

是的,Core Plot中的幾乎所有內容都是MacOS和iOS之間的跨平臺。在存在平臺差異的情況下(例如,NSView與UIView),通常會有特定於平臺的特定實現。 – 2010-07-13 11:51:12

+0

我無法在CorePlot 0.9中的應用程序中使用此工作 - 有任何建議嗎? – Johnus 2012-01-30 01:46:42