Как вы рисуете вертикальную линию, используя coreplot CPPlotSymbol? - PullRequest
0 голосов
/ 12 июля 2010

Как нарисовать вертикальную линию на plotSymbol, используя Custom PlotSymbol? Если это было бы благодарно, дайте какие-либо образцы относительно этого.

Sri

1 Ответ

2 голосов
/ 13 июля 2010

Вы просто создаете 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: метод источника данных, чтобы применить его к некоторым точкам.

...