2016-06-01 2 views
0

그래프는 그림과 같이 코어 플롯을 사용하여 설계되었습니다.코어 플롯을 사용하여 부드러운 곡선 그래프를 얻는 방법?

enter image description here 내 산포도 코드

CPTScatterPlot *editableLinePlot = [[CPTScatterPlot alloc] init]; 
editableLinePlot.interpolation = CPTScatterPlotInterpolationCurved; 



CPTMutableLineStyle *lineStyle = [editableLinePlot.dataLineStyle mutableCopy]; 
lineStyle.lineWidth    = 3.0; 
lineStyle.lineColor    = [CPTColor redColor]; 


editableLinePlot.dataLineStyle = lineStyle; 
editableLinePlot.dataSource = self; 
editableLinePlot.delegate = self; 
editableLinePlot.identifier = redPlotIdentifier; 
editableLinePlot.plotSymbolMarginForHitDetection = 20.0; 

플롯 공간

/*Set scatter plot space and range*/ 
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace; 
plotSpace.allowsUserInteraction = YES; 
plotSpace.delegate    = self; 
plotSpace.xScaleType = CPTScaleTypeLog; 

plotSpace.yScaleType = CPTScaleTypeLinear; 
/* Auto scale the plot space to fit the plot data*/ 
[plotSpace scaleToFitPlots:[graph allPlots]]; 

로 설정하지만 플롯을 이동할 때까지 포인트 또는 아래의하지 부드러운 곡선을하지만 대신으로 표시됩니다 작은 스파이크. 여기 구현을 놓쳤습니까? 제발 도와주세요,이 문제는 지금 저를위한 쇼 스토퍼입니다.

답변

0

그래프에 플롯 기호가 겹치는 점이 너무 많습니다. 구부러진 플롯을 보았을 때, 커브가베이스 라인에 있지 않은 포인트 주위에서 매우 날카 롭기 때문에 스파이크처럼 보입니다.

+0

예, 666 점을 플롯해야합니다. 코어 플롯에서 베 지어 범위를 설정할 수있는 방법이 있습니까? 그래서 좀 더 넓은 범위에서 베 지어를 적용 할 수 있습니다. 커브는 스파이크와 같지 않을 수 있습니다. – SMS

+0

릴리즈 2.1에서는 'curvedInterpolationOption'을 추가하여 구부러진 플롯 선을 그리는 여러 가지 방법을 제공합니다. 봉우리 양쪽에있는 점들이 너무 가깝기 때문에 어떤 곡선 방법을 사용하든 스파이크를 볼 수 있습니다. 더 넓은 피크를위한 공간을 남겨 두려면베이스 라인의 중복 포인트 중 일부를 제거해야합니다. –

+0

감사합니다. 중복 된 부분을 제거하고 시도해 보겠습니다. – SMS