private static NPlot.Gtk.PlotSurface2D CreatePlotSurface(IEnumerable <IEnumerable <double> > data, IEnumerable <double> t, IEnumerable <string> labels) { var plotSurface = new NPlot.Gtk.PlotSurface2D(); plotSurface.Clear(); plotSurface.Padding = 40; plotSurface.Add(new Grid { HorizontalGridType = Grid.GridType.Fine, VerticalGridType = Grid.GridType.Fine }); plotSurface.Legend = new Legend { YOffset = 16, HorizontalEdgePlacement = Legend.Placement.Outside, VerticalEdgePlacement = Legend.Placement.Inside }; plotSurface.Legend.AttachTo(PlotSurface2D.XAxisPosition.Bottom, PlotSurface2D.YAxisPosition.Right); for (int i = 0; i < data.Count(); i++) { plotSurface.Add(new LinePlot { AbscissaData = t.ToArray(), OrdinateData = data.ElementAt(i).ToArray(), Label = labels.ElementAt(i), Pen = new Pen(GetRandomColor(), 2) }); } plotSurface.Refresh(); plotSurface.Show(); return(plotSurface); }
private static NPlot.Gtk.PlotSurface2D CreatePlotSurface(IEnumerable <double> y) { var plotSurface = new NPlot.Gtk.PlotSurface2D(); plotSurface.Clear(); plotSurface.Padding = 40; plotSurface.Add(new Grid { HorizontalGridType = Grid.GridType.Fine, VerticalGridType = Grid.GridType.Fine }); plotSurface.Add(new LinePlot { DataSource = y.ToArray() }); plotSurface.Refresh(); plotSurface.Show(); return(plotSurface); }
void Setup() { quitButton = new Gtk.Button("Quit"); quitButton.Clicked += quitButton_Click; nextPlotButton = new Gtk.Button("Next"); nextPlotButton.Clicked += nextPlotButton_Click; prevPlotButton = new Gtk.Button("Prev"); prevPlotButton.Clicked += prevPlotButton_Click; plotSurface = new NPlot.Gtk.PlotSurface2D(); Gtk.Table t = new Gtk.Table (3, 3, false); Add (t); t.Attach (plotSurface, 0, 3, 0, 1); t.Attach (prevPlotButton, 0, 1, 1, 2, 0, 0, 0, 0); t.Attach (nextPlotButton, 1, 2, 1, 2, 0, 0, 0, 0); t.Attach (quitButton, 2, 3, 1, 2, 0, 0, 0, 0); ShowAll (); }