Bonjour
un exmple sans prétentions, je n'ai pas géré les échelle ni le fait que les pixels sont positifs vers le bas.
J'ai cru comprendre dans ton code que tes données sont constistuées d'ordonnées uniquement alors j'ai fait pareil.
Le xaml
<Window x:Class="Tests_WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid Background="Black">
<Path Name ="Path1" Data="{Binding Path=Data1.Data}" Stroke="Yellow"></Path>
</Grid>
</Window>
le code behind
int[] justeDesY = { 2, 4, 1, 8, 7 ,10,30,70,80,100,200};
IEnumerable<Point> points = justeDesY.Select((d, i) => new Point(i*10, d));//je me sert d'une requete indéxée pour générer les x = index * 10
IEnumerable<PathSegment> segments = points.Skip(1).Select(p => new LineSegment(p, true));//les segement sont issus de la collection de points sauf le premier
PathFigure figure = new PathFigure(points.First(), segments, false);//génère la figure en partant du premier point, puis les segments
PathGeometry courbe = new PathGeometry();//on crée une géométrie
courbe.Figures = new PathFigureCollection();
courbe.Figures.Add(figure);//on y ajoute la figure
Path1.Data = courbe;//on y affecte la géométrie
Le behind est en csharp, il y a des traducteurs en ligne et comme mon internet au boulot ne marche pas bien aujourd'hu je ne l'ai pas fait.
J'ai déà eu bien du mal à ouvrir la discussion.