2016-06-01 5 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

関連する問題