public Plot2D(IPlotSurface2D plotSurface) { this.plotSurface2D = plotSurface; pen = new System.Drawing.Pen(System.Drawing.Color.Red, PenWidth); marker = new Marker(Marker.MarkerType.FilledCircle, MarkerSize, System.Drawing.Color.Blue); }
public Plot2D(IPlotSurface2D plotSurface) { this.plotSurface2D = plotSurface; pen = new System.Drawing.Pen (System.Drawing.Color.Red, PenWidth); marker = new Marker (Marker.MarkerType.FilledCircle, MarkerSize, System.Drawing.Color.Blue); }
public PointPlotSample() : base() { infoText = ""; infoText += "Sinc Function Example. Demonstrates - \n"; infoText += " * Charting LinePlot and PointPlot at the same time. \n"; infoText += " * Adding a legend."; plotCanvas.Clear(); // clear everything. reset fonts. remove plot components etc. System.Random r = new Random(); double[] a = new double[100]; double[] b = new double[100]; double mult = 0.00001f; for (int i=0; i<100; ++i) { a[i] = ((double)r.Next(1000)/5000.0f-0.1f)*mult; if (i == 50) { b[i] = 1.0f*mult; } else { b[i] = Math.Sin ((((double)i-50.0)/4.0))/(((double)i-50.0)/4.0); b[i] *= mult; } a[i] += b[i]; } Marker m = new Marker (Marker.MarkerType.Cross1, 6, Colors.Blue); PointPlot pp = new PointPlot (m); pp.OrdinateData = a; pp.AbscissaData = new StartStep (-500.0, 10.0); pp.Label = "Random"; plotCanvas.Add (pp); LinePlot lp = new LinePlot (); lp.OrdinateData = b; lp.AbscissaData = new StartStep( -500.0, 10.0 ); lp.LineColor = Colors.Red; lp.LineWidth = 2; plotCanvas.Add (lp); plotCanvas.Title = "Sinc Function"; plotCanvas.YAxis1.Label = "Magnitude"; plotCanvas.XAxis1.Label = "Position"; Legend legend = new Legend(); legend.AttachTo (XAxisPosition.Top, YAxisPosition.Left); legend.VerticalEdgePlacement = Legend.Placement.Inside; legend.HorizontalEdgePlacement = Legend.Placement.Inside; legend.YOffset = 8; plotCanvas.Legend = legend; plotCanvas.LegendZOrder = 1; // default zorder for adding idrawables is 0, so this puts legend on top. PackStart (plotCanvas.Canvas, true); Label la = new Label (infoText); PackStart (la); }
public PlotMarkerSample() : base() { infoText = ""; infoText += "Markers Example. Demonstrates - \n"; infoText += " * PointPlot and the available marker types \n"; infoText += " * Legends, and how to place them."; plotCanvas.Clear(); double[] y = new double[1] {1.0}; foreach (object i in Enum.GetValues (typeof(Marker.MarkerType))) { Marker m = new Marker( (Marker.MarkerType)Enum.Parse(typeof(Marker.MarkerType), i.ToString()), 8 ); m.FillColor = Colors.Red; double[] x = new double[1]; x[0] = (double) m.Type; PointPlot pp = new PointPlot(); pp.OrdinateData = y; pp.AbscissaData = x; pp.Marker = m; pp.Label = m.Type.ToString(); plotCanvas.Add (pp); } plotCanvas.Title = "Markers"; plotCanvas.YAxis1.Label = "Index"; plotCanvas.XAxis1.Label = "Marker"; plotCanvas.YAxis1.WorldMin = 0.0; plotCanvas.YAxis1.WorldMax = 2.0; plotCanvas.XAxis1.WorldMin -= 1.0; plotCanvas.XAxis1.WorldMax += 1.0; Legend legend = new Legend(); legend.AttachTo( XAxisPosition.Top, YAxisPosition.Right ); legend.VerticalEdgePlacement = Legend.Placement.Outside; legend.HorizontalEdgePlacement = Legend.Placement.Inside; legend.XOffset = 5; // note that these numbers can be negative. legend.YOffset = 0; plotCanvas.Legend = legend; PackStart (plotCanvas.Canvas, true); Label la = new Label (infoText); PackStart (la); }
/// <summary> /// Constructor for the marker plot. /// </summary> /// <param name="marker">The marker to use.</param> public PointPlot( Marker marker ) { marker_ = marker; }
/// <summary> /// Default Constructor /// </summary> public PointPlot() { marker_ = new Marker(); }
public void PlotMarkers() { string[] lines = { "Markers Example. Demonstrates - ", " * PointPlot and the available marker types", " * Legends, and how to place them." }; infoBox.Lines = lines; plotSurface.Clear(); double[] y = new double[1] {1.0f}; foreach (object i in Enum.GetValues(typeof(Marker.MarkerType))) { Marker m = new Marker( (Marker.MarkerType)Enum.Parse(typeof(Marker.MarkerType), i.ToString()), 8 ); double[] x = new double[1]; x[0] = (double) m.Type; PointPlot pp = new PointPlot(); pp.OrdinateData = y; pp.AbscissaData = x; pp.Marker = m; pp.Label = m.Type.ToString(); plotSurface.Add( pp ); } plotSurface.Title = "Markers"; plotSurface.YAxis1.Label = "Index"; plotSurface.XAxis1.Label = "Marker"; plotSurface.YAxis1.WorldMin = 0.0f; plotSurface.YAxis1.WorldMax = 2.0f; plotSurface.XAxis1.WorldMin -= 1.0f; plotSurface.XAxis1.WorldMax += 1.0f; Legend legend = new Legend(); legend.AttachTo( PlotSurface2D.XAxisPosition.Top, PlotSurface2D.YAxisPosition.Right ); legend.VerticalEdgePlacement = Legend.Placement.Outside; legend.HorizontalEdgePlacement = Legend.Placement.Inside; legend.XOffset = 5; // note that these numbers can be negative. legend.YOffset = 0; plotSurface.Legend = legend; plotSurface.Refresh(); }
private void PlotSincFunction() { string[] lines = { "Sinc Function Example. Demonstrates - ", " * Charting line and point plot at the same time.", " * Adding a legend." }; infoBox.Lines = lines; plotSurface.Clear(); // clear everything. reset fonts. remove plot components etc. System.Random r = new Random(); double[] a = new double[100]; double[] b = new double[100]; double mult = 0.00001f; for( int i=0; i<100; ++i ) { a[i] = ((double)r.Next(1000)/5000.0f-0.1f)*mult; if (i == 50 ) { b[i] = 1.0f*mult; } else { b[i] = (double)Math.Sin((((double)i-50.0f)/4.0f))/(((double)i-50.0f)/4.0f); b[i] *= mult; } a[i] += b[i]; } Marker m = new Marker(Marker.MarkerType.Cross1,6,new Pen(Color.Blue,2.0F)); PointPlot pp = new PointPlot( m ); pp.OrdinateData = a; pp.AbscissaData = new StartStep( -500.0, 10.0 ); pp.Label = "Random"; plotSurface.Add(pp); LinePlot lp = new LinePlot(); lp.OrdinateData = b; lp.AbscissaData = new StartStep( -500.0, 10.0 ); lp.Pen = new Pen( Color.Red, 2.0f ); plotSurface.Add(lp); plotSurface.Title = "Sinc Function"; plotSurface.YAxis1.Label = "Magnitude"; plotSurface.XAxis1.Label = "Position"; Legend legend = new Legend(); legend.AttachTo( PlotSurface2D.XAxisPosition.Top, PlotSurface2D.YAxisPosition.Left ); legend.VerticalEdgePlacement = Legend.Placement.Inside; legend.HorizontalEdgePlacement = Legend.Placement.Inside; legend.YOffset = 8; plotSurface.Legend = legend; plotSurface.LegendZOrder = 1; // default zorder for adding idrawables is 0, so this puts legend on top. plotSurface.Refresh(); }
/// <summary> /// Constructor /// </summary> /// <param name="marker">The marker to place on the chart.</param> /// <param name="point">The world position of the marker</param> public MarkerItem( Marker marker, PointD point ) { marker_ = marker; x_ = point.X; y_ = point.Y; }
/// <summary> /// Constructor for the marker plot. /// </summary> /// <param name="marker">The marker to use.</param> public PointPlot(Marker marker) { this.marker = marker; }
/// <summary> /// Constructor for the marker plot. /// </summary> /// <param name="marker">The marker to use.</param> public GroupSumPointPlot(Marker marker) { marker_ = marker; }
/// <summary> /// Constructs a square marker at the (world) point point. /// </summary> /// <param name="point">the world position at which to place the marker</param> public MarkerItem( PointD point ) { marker_ = new Marker( Marker.MarkerType.Square ); x_ = point.X; y_ = point.Y; }
public void PlotMarkers() { plotSurface.Clear(); double[] y = new double[1] {1.0f}; foreach (object i in Enum.GetValues(typeof(Marker.MarkerType))) { Marker m = new Marker( (Marker.MarkerType)Enum.Parse(typeof(Marker.MarkerType), i.ToString()), 8 ); double[] x = new double[1]; x[0] = (double) m.Type; PointPlot pp = new PointPlot(); pp.OrdinateData = y; pp.AbscissaData = x; pp.Marker = m; pp.Label = m.Type.ToString(); plotSurface.Add( pp ); } plotSurface.Title = "Markers"; plotSurface.YAxis1.Label = "Index"; plotSurface.XAxis1.Label = "Marker"; plotSurface.YAxis1.WorldMin = 0.0f; plotSurface.YAxis1.WorldMax = 2.0f; plotSurface.XAxis1.WorldMin -= 1.0f; plotSurface.XAxis1.WorldMax += 1.0f; Legend legend = new Legend(); legend.AttachTo( PlotSurface2D.XAxisPosition.Top, PlotSurface2D.YAxisPosition.Right ); legend.VerticalEdgePlacement = Legend.Placement.Outside; legend.HorizontalEdgePlacement = Legend.Placement.Inside; plotSurface.Legend = legend; plotSurface.Refresh(); }
private void PlotSincFunction() { plotSurface.Clear(); // clear everything. reset fonts. remove plot components etc. System.Random r = new Random(); double[] a = new double[100]; double[] b = new double[100]; double mult = 0.00001f; for( int i=0; i<100; ++i ) { a[i] = ((double)r.Next(1000)/5000.0f-0.1f)*mult; if (i == 50 ) { b[i] = 1.0f*mult; } else { b[i] = (double)Math.Sin((((double)i-50.0f)/4.0f))/(((double)i-50.0f)/4.0f); b[i] *= mult; } a[i] += b[i]; } Marker m = new Marker(Marker.MarkerType.Cross1,6,new Pen(Color.Blue,2.0F)); PointPlot pp = new PointPlot( m ); pp.OrdinateData = a; pp.AbscissaData = new StartStep( -500.0, 10.0 ); pp.Label = "Random"; plotSurface.Add(pp); LinePlot lp = new LinePlot(); lp.OrdinateData = b; lp.AbscissaData = new StartStep( -500.0, 10.0 ); lp.Pen = new Pen( Color.Red, 2.0f ); plotSurface.Add( lp ); plotSurface.Title = "Sinc Function"; plotSurface.YAxis1.Label = "Magnitude"; plotSurface.XAxis1.Label = "Position"; Legend legend = new Legend(); legend.AttachTo( PlotSurface2D.XAxisPosition.Top, PlotSurface2D.YAxisPosition.Left ); legend.VerticalEdgePlacement = Legend.Placement.Inside; legend.HorizontalEdgePlacement = Legend.Placement.Inside; plotSurface.Legend = new Legend(); plotSurface.Refresh(); }
/// <summary> /// Default constructor - a square black marker. /// </summary> /// <param name="x">The world x position of the marker</param> /// <param name="y">The world y position of the marker</param> public MarkerItem( double x, double y ) { marker_ = new Marker( Marker.MarkerType.Square ); x_ = x; y_ = y; }
/// <summary> /// Default Constructor /// </summary> public GroupSumPointPlot() { marker_ = new Marker(); }
/// <summary> /// Constructor /// </summary> /// <param name="marker">The marker to place on the chart.</param> /// <param name="x">The world x position of the marker</param> /// <param name="y">The world y position of the marker</param> public MarkerItem( Marker marker, double x, double y ) { marker_ = marker; x_ = x; y_ = y; }
/// <summary> /// Constructor /// </summary> /// <param name="marker">The marker type to use for this plot.</param> public LabelPointPlot( Marker marker ) : base(marker) { }
/// <summary> /// Constructor /// </summary> /// <param name="marker">The marker type to use for this plot.</param> public LabelPointPlot( Marker marker ) : base(marker) { this.Init (); }