2016-06-01 9 views
0

Die Grafik wird wie gezeigt mit Hilfe der Kerndarstellung erstellt.Wie man glatte gekrümmte Graphen mit Kern Plot bekommen?

enter image description here Mein Streudiagramm Code

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; 

Grundstücksfläche ist als

/*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]]; 

gesetzt Aber wenn ich ein Grundstück Punkt nach oben oder unten bewegen, es ist nicht eine glatte Kurve, sondern als eine zeigt kleine Spitze. Habe ich hier irgendeine Implementierung vermisst.Bitte helfen Sie mir, dieses Problem ist jetzt Stopper für mich.

Antwort

0

Es gibt so viele Diagrammpunkte in diesem Diagramm, dass sich die Diagrammsymbole überlappen. Sie sehen einen gekrümmten Plot, nur dass die Kurve um die Punkte herum so scharf ist, dass sie wie Spikes aussehen.

+0

Ja, ich muss 666 Punkte zeichnen. Gibt es eine Möglichkeit, den Bézier-Bereich im Kerndiagramm festzulegen? Damit kann ich Bezier auf eine größere Bandbreite anwenden. dann mag die Kurve nicht wie Spikes sein. – SMS

+0

Release 2.1 fügt die 'curveInterpolationOption' hinzu, um verschiedene Möglichkeiten zum Zeichnen einer gekrümmten Zeichnungslinie zu geben. Die Punkte auf beiden Seiten der Spitzen sind so nahe beieinander, dass Sie Spikes sehen, egal welche Kurvenmethode Sie verwenden. Sie müssen einige der redundanten Punkte auf der Basislinie entfernen, um Platz für größere Spitzen zu lassen. –

+0

Danke, ich werde redundante Punkte entfernen und versuchen. – SMS