Wie Grundstück MEHRERE LineSeries auf eine OxyPlot Diagramm?
Ich entschuldige mich für die Fragen, so viele OxyPlot Fragen, aber ich scheine wirklich zu kämpfen mit der OxyPlot chart-Steuerelement.
Mein Projekt in WPF-format, so dass ich ursprünglich mit einem hosted WINFORMS-Diagramm und das funktionierte wie ein Charme und hat absolut alles, was ich brauchte es, bis ich brauchte, um overlay ein WPF-element auf der Oberseite des gehosteten winform-Diagramm. Durch den "Luftraum" - Ausgabe, ich war nicht in der Lage, um zu sehen, das WPF-element, das ich auf der Oberseite des hosted-chart, egal was ich Tat. Das ist, wenn ich beschlossen zu gehen mit OxyPlot, das ist mir schon ein paar Kopfschmerzen ist so weit.
Hier ist mein ursprüngliche Frage! dass ich gefragt habe über bei CodePlex. Ich weiß nicht zu sein scheinen immer viel Hilfe dort, so dass ich versucht bin, nochmal hier.
Meine Frage ist:
Weiß jemand, wie man plot MEHRERE LineSeries auf ein Grundstück??
Mein Ansatz bisher:
Ich nehme ein c# array-Liste und das hinzufügen einer neuen Kopie der LineSeries hält, dass neue Daten erfasst werden. Mein code:
//Function to plot data
private void plotData(double numWeeks, double startingSS)
{
//Initialize new Salt Split class for acess to data variables
Salt_Split_Builder calcSS = new Salt_Split_Builder();
calcSS.compute(numWeeks, startingSS, maxDegSS);
//Create the OxyPlot graph for Salt Split
OxyPlot.Wpf.PlotView plot = new OxyPlot.Wpf.PlotView();
var model = new PlotModel();
//Add Chart Title
model.Title = "Salt Split Degradation";
//Create new Line Series
LineSeries linePoints = new LineSeries() { StrokeThickness = 1, MarkerSize = 1, Title = numWeeks.ToString() + " weeks" };
//Add each point to the new series
foreach (var point in calcSS.saltSplitCurve)
{
DataPoint XYpoint = new DataPoint();
XYpoint = new DataPoint(point.Key, point.Value * 100);
linePoints.Format("%", XYpoint.Y);
linePoints.Points.Add(XYpoint);
}
listPointAray.Add(linePoints);
//Define X-Axis
var Xaxis = new OxyPlot.Axes.LinearAxis();
Xaxis.Maximum = numWeeks;
Xaxis.Minimum = 0;
Xaxis.Position = OxyPlot.Axes.AxisPosition.Bottom;
Xaxis.Title = "Number of Weeks";
model.Axes.Add(Xaxis);
//Define Y-Axis
var Yaxis = new OxyPlot.Axes.LinearAxis();
Yaxis.MajorStep = 15;
Yaxis.Maximum = calcSS.saltSplitCurve.Last().Value * 100;
Yaxis.MaximumPadding = 0;
Yaxis.Minimum = 0;
Yaxis.MinimumPadding = 0;
Yaxis.MinorStep = 5;
Yaxis.Title = "Percent Degradation";
model.Axes.Add(Yaxis);
//Add Each series to the
foreach (var series in listPointAray)
{
LineSeries newpoints = new LineSeries();
newpoints = linePoints;
model.Series.Add(newpoints);
}
//Add the plot to the window
plot.Model = model;
SaltSplitChartGrid.Children.Add(plot);
}
``
Mein code funktioniert die erste Zeit drücke ich mein "Graph" Taste zu drücken, scheitert aber an aufeinander folgenden versucht, mit der folgenden Fehlermeldung:
Das element kann nicht Hinzugefügt werden, es gehört schon ein Plot-Modell
Den folgenden plot ist die Art von plot, die ich hervorbringen möchte (es geklappt hat mit WinForms-Steuerelement):
Bild http://i59.tinypic.com/jqs3n9.jpg
Möchte ich eine neue Zeile mit einer neuen Farbe gezeichnet werden jedes mal, wenn ich die Methode ausgeführt.
- mögliche Duplikate von Mehrere LineSeries-Bindung in OxyPlot
- Es ist nicht ein exaktes Duplikat als mein Ansatz war etwas anders. Ich war nicht mit Datenbindung, aber ich wahrscheinlich sein sollte, so werde ich diesen Ansatz auch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist, wie ich schon erstellt, multi-Linien, die auf eine OxyPlot Diagramm vor, der Schlüssel ist eine Menge von Datenpunkte für jede Serie - genannt circlePoints & linePoints in den folgenden Beispiel-code, diese sind dann verpflichtet, die CircleSeries und LineSeries:
Erfolg!!!!
AwkwardCoder, vielen Dank für die Hilfe, aber ich erkannte mein Fehler war nur ich das übersehen haben einige Dinge!
Hier ist die version von dem code, der funktioniert:
Hier sind mehrere Dinge, die ich falsch gemacht habe:
War, dass eine Menge von Fehlern, aber ich arbeitete durch Sie. Hoffentlich hilft jemand in der Zukunft. Auch, ich weiß, ich bin nicht mit normalen Daten verbindlich Techniken, aber das, zumindest, funktioniert.
Endergebnis:
plot-arbeiten http://i60.tinypic.com/359b7d2.png