Comment tracer PLUSIEURS LineSeries sur un OxyPlot graphique?
Je m'excuse pour la demande de nombreux OxyPlot questions, mais il me semble être vraiment en difficulté avec l'utilisation de la OxyPlot tableau de contrôle.
Mon projet est en WPF format j'ai donc été à l'origine à l'aide d'un hébergé WINFORMS graphique et qui a fonctionné comme un charme et n'a absolument tout ce dont j'ai besoin jusqu'à ce que j'avais besoin de superposition WPF élément sur le dessus de la hébergé winform graphique. En raison de l "espace aérien" de l'émission, je n'ai pas pu voir le WPF élément que j'ai mis sur le dessus de la hébergé graphique peu importe ce que j'ai fait. C'est quand j'ai décidé d'aller avec OxyPlot, qui est de me donner quelques maux de tête est si loin.
Voici mon original question! que j'ai demandé plus de sur CodePlex. Je ne semble pas être obtenir beaucoup d'aide là-bas alors que je suis en train d'essayer de nouveau ici.
Ma question est:
Personne ne sait comment tracer PLUSIEURS LineSeries sur un Complot??
Mon approche jusqu'à présent:
Je prends un c# Liste de tableau et l'ajout d'une nouvelle copie de la LineSeries qui contient de nouvelles données à tracer. Mon 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);
}
``
Mon code fonctionne la première fois que je presse mon "Graphique de Données", mais échoue sur des tentatives consécutives avec l'erreur suivante:
L'élément ne peut pas être ajouté, il appartient déjà à un Modèle graphique de
La suite de l'intrigue est le type de graphique que je voudrais produire (il a bien fonctionné à l'aide de WinForms Tableau de contrôle):
Image http://i59.tinypic.com/jqs3n9.jpg
Je voudrais une nouvelle line avec une nouvelle couleur à tracer chaque fois que je lance la méthode.
Ce n'est pas une copie exacte que mon approche est légèrement différente. Je n'étais pas à l'aide de la Liaison de Données, mais je devrais probablement être, alors je vais regarder ça approche aussi.
OriginalL'auteur John August | 2014-07-24
Vous devez vous connecter pour publier un commentaire.
C'est comment j'ai créé des lignes sur un OxyPlot graphique avant, la clé est la création d'un ensemble de points de données pour chaque série - disant circlePoints & linePoints dans l'exemple de code suivant, ceux-ci sont ensuite liés à la CircleSeries et LineSeries:
OriginalL'auteur AwkwardCoder
Succes!!!!
AwkwardCoder, je vous remercie pour l'aide, mais j'ai réalisé mon erreur venait de moi d'avoir négligé certaines choses!
Ici est la version du code qui fonctionne:
Ici sont les multiples choses que je fait de mal:
Qui a beaucoup d'erreurs, mais j'ai travaillé à travers elle. Espérons que cela aide quelqu'un dans le futur. Aussi, je sais que je ne suis pas à l'aide d'ordinaire la liaison de données techniques, mais ce, au-moins, les œuvres.
Résultat Final:
de travail de l'intrigue http://i60.tinypic.com/359b7d2.png
OriginalL'auteur John August