Die Grafik wird wie gezeigt mit Hilfe der Kerndarstellung erstellt.Wie man glatte gekrümmte Graphen mit Kern Plot bekommen?
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.
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
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. –
Danke, ich werde redundante Punkte entfernen und versuchen. – SMS