public void OnPlotterAttached(Plotter plotter) { this.plotter = (Plotter2D)plotter; Panel panel = GetPanel(plotter); panel.Children.Add(this); }
public void OnPlotterDetaching(Plotter plotter) { Panel panel = GetPanel(plotter); panel.Children.Remove(this); this.plotter = null; }
public override void OnPlotterAttached(Plotter plotter) { Plotter = (Plotter2D)plotter; plotter.BottomPanel.Children.Add(polygon); RebuildUI(); }
void IPlotterElement.OnPlotterDetaching(Plotter plotter) { plotter.CentralGrid.Children.Remove(this); this.plotter.Viewport.PropertyChanged -= Viewport_PropertyChanged; this.plotter = null; }
void IPlotterElement.OnPlotterAttached(Plotter plotter) { this.plotter = (Plotter2D)plotter; this.plotter.Viewport.PropertyChanged += Viewport_PropertyChanged; plotter.CentralGrid.Children.Add(this); }
protected override void AttachCore(PointSelector selector, Plotter plotter) { if (selector == null) throw new ArgumentNullException("selector"); if (plotter == null) throw new ArgumentNullException("plotter"); this.selector = selector; this.plotter = (Plotter2D)plotter; var transform = this.plotter.Transform; // copying all markers from marker chart to InkCanvas to enable their selection foreach (FrameworkElement marker in selector.MarkerChart.Items) { var xamlString = XamlWriter.Save(marker); var markerCopy = (FrameworkElement)XamlReader.Parse(xamlString); var x = ViewportPanel.GetX(marker); var y = ViewportPanel.GetY(marker); Point position = new Point(x, y); var positionInScreen = position.ViewportToScreen(transform); if (!marker.IsMeasureValid) marker.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity)); InkCanvas.SetLeft(markerCopy, positionInScreen.X - marker.Width / 2); InkCanvas.SetTop(markerCopy, positionInScreen.Y - marker.Height / 2); markerCopy.DataContext = marker.DataContext; inkCanvas.Children.Add(markerCopy); } plotter.CentralGrid.Children.Add(inkCanvas); }
public override void OnPlotterAttached(Plotter plotter) { Plotter = (Plotter2D)plotter; plotter.LeftPanel.Children.Insert(0, polygon); RebuildUI(); }
void IPlotterElement.OnPlotterAttached(Plotter plotter) { this.plotter = (Plotter2D)plotter; this.plotter.Viewport.PropertyChanged += Viewport_PropertyChanged; var parent = plotter.MainGrid; parent.MouseMove += parent_MouseMove; parent.MouseEnter += parent_MouseEnter; parent.MouseLeave += parent_MouseLeave; Style lineStyle = new Style(typeof(Line)); AddBindingSetter(lineStyle, Line.StrokeProperty); AddBindingSetter(lineStyle, Line.StrokeThicknessProperty); leftCanvas = new Canvas(); Grid.SetRow(leftCanvas, 1); Grid.SetColumn(leftCanvas, 0); leftLine = new Line { Style = lineStyle, IsHitTestVisible = false }; leftCanvas.Children.Add(leftLine); parent.Children.Add(leftCanvas); bottomCanvas = new Canvas(); Grid.SetRow(bottomCanvas, 2); Grid.SetColumn(bottomCanvas, 1); bottomLine = new Line { Style = lineStyle, IsHitTestVisible = false }; bottomCanvas.Children.Add(bottomLine); parent.Children.Add(bottomCanvas); }
protected override void OnPlotterAttached(Plotter plotter) { // removing restrictions previously added by base class Map, as in case of rendering to texture they // are not relevant Plotter.Viewport.Restrictions.Remove(base.ProportionsRestriction); Plotter.Viewport.Restrictions.Remove(base.MaxSizeRestriction); }
public override void OnPlotterAttached(Plotter plotter) { base.OnPlotterAttached(plotter); timer = new System.Windows.Threading.DispatcherTimer(); timer.Tick += new EventHandler(timer_Tick); timer.Interval = TimeSpan.FromMilliseconds(1); plotter.CentralGrid.MouseLeftButtonDown += new MouseButtonEventHandler(CentralGrid_MouseLeftButtonDown); plotter.CentralGrid.MouseLeftButtonUp += new MouseButtonEventHandler(CentralGrid_MouseLeftButtonUp); plotter.CentralGrid.MouseMove += new MouseEventHandler(CentralGrid_MouseMove); plotter.CentralGrid.MouseWheel += new MouseWheelEventHandler(CentralGrid_MouseWheel); plotter.CentralGrid.MouseLeave += new MouseEventHandler(CentralGrid_MouseLeave); //plotter.CentralGrid.MouseEnter += new MouseEventHandler(CentralGrid_MouseEnter); plotter.KeyDown += new KeyEventHandler(plotter_KeyDown); plotter.KeyUp += new KeyEventHandler(plotter_KeyUp); zoomingRect.Stroke = new SolidColorBrush(Colors.LightGray); Color fillColor = new Color(); fillColor.A = 40; fillColor.R = 0x80; fillColor.G = 0x80; fillColor.B = 0x80; zoomingRect.RadiusX = 2; zoomingRect.RadiusY = 2; zoomingRect.Fill = new SolidColorBrush(fillColor); }
void IPlotterElement.OnPlotterAttached(Plotter plotter) { this.plotter = plotter; if (Content == null) return; var plotterPanel = GetPlotterPanel(Content); //Plotter.SetPlotter(Content, plotter); if (plotterPanel == PlotterPanel.MainCanvas) { // if all four Canvas.{Left|Right|Top|Bottom} properties are not set, // and as we are adding by default content to MainCanvas, // and since I like more when buttons are by default in right down corner - // set bottom and right to 10. var left = Canvas.GetLeft(content); var top = Canvas.GetTop(content); var bottom = Canvas.GetBottom(content); var right = Canvas.GetRight(content); if (left.IsNaN() && right.IsNaN() && bottom.IsNaN() && top.IsNaN()) { Canvas.SetBottom(content, 10.0); Canvas.SetRight(content, 10.0); } plotter.MainCanvas.Children.Add(Content); } }
public TextPainter(Plotter plotter, IFont font, int sizeX, int sizeY, int spaceX) { this.plotter = plotter; this.font = font; this.sizeX = sizeX; this.sizeY = sizeY; this.spaceX = spaceX; }
void IPlotterElement.OnPlotterAttached(Plotter plotter) { this.plotter = (Plotter2D)plotter; HostPanel.Children.Add(this); this.plotter.Viewport.PropertyChanged += Viewport_PropertyChanged; OnPlotterAttached(); }
void IPlotterElement.OnPlotterDetaching(Plotter plotter) { OnPlotterDetaching(); this.plotter.Viewport.PropertyChanged -= Viewport_PropertyChanged; HostPanel.Children.Remove(this); this.plotter = null; }
public void OnPlotterAttached(Plotter plotter) { this.plotter = plotter; if (type != null) { plotter.Children.RemoveAll(type); } }
public void OnPlotterAttached(Plotter plotter) { this.plotter = (Plotter2D)plotter; plotter.Dispatcher.BeginInvoke(() => { plotter.Children.Add(panel); }); }
protected override void AttachCore(RectangleSelector selector, Plotter plotter) { base.AttachCore(selector, plotter); Plotter.CentralGrid.MouseLeftButtonDown += OnMouseLeftButtonDown; Plotter.CentralGrid.MouseLeftButtonUp += OnMouseLeftButtonUp; Plotter.CentralGrid.MouseMove += OnMouseMove; }
public virtual void OnPlotterAttached(Plotter plotter) { this.plotter = (Plotter2D)plotter; plotter.Children.BeginAdd(panel); SetBinding(DataContextProperty, new Binding("DataContext") { Source = panel }); RebuildUI(); }
public void OnPlotterDetaching(Plotter plotter) { plotter.Dispatcher.BeginInvoke(() => { plotter.Children.Remove(panel); }); this.plotter = null; }
private void AttachToPlotter(Plotter plotter) { if (plotter != this.plotter) { this.plotter = plotter; plotter.Children.CollectionChanged += PlotterChildren_CollectionChanged; PopulateLegend(); } }
public PlotterChangedEventArgs(Plotter prevPlotter, Plotter currPlotter, RoutedEvent routedEvent) : base(routedEvent) { if (prevPlotter == null && currPlotter == null) { throw new ArgumentException("Both Plotters cannot be null."); } this.prevPlotter = prevPlotter; this.currPlotter = currPlotter; }
public override void OnPlotterDetaching(Plotter plotter) { Mouse.RemovePreviewMouseDownHandler(Parent, OnMouseDown); Mouse.RemovePreviewMouseMoveHandler(Parent, OnMouseMove); Mouse.RemovePreviewMouseUpHandler(Parent, OnMouseUp); Mouse.RemovePreviewMouseWheelHandler(Parent, OnMouseWheel); base.OnPlotterDetaching(plotter); }
protected override void OnPlotterAttached(Plotter plotter) { base.OnPlotterAttached(plotter); Mouse.AddMouseDownHandler(Parent, OnMouseDown); Mouse.AddMouseMoveHandler(Parent, OnMouseMove); Mouse.AddMouseUpHandler(Parent, OnMouseUp); Mouse.AddMouseWheelHandler(Parent, OnMouseWheel); }
public override void OnPlotterAttached(Plotter plotter) { base.OnPlotterAttached(plotter); Mouse.AddPreviewMouseDownHandler(Parent, OnMouseDown); Mouse.AddPreviewMouseMoveHandler(Parent, OnMouseMove); Mouse.AddPreviewMouseUpHandler(Parent, OnMouseUp); Mouse.AddPreviewMouseWheelHandler(Parent, OnMouseWheel); }
private void DetachFromPlotter(Plotter plotter) { if (plotter != null) { plotter.Children.CollectionChanged -= PlotterChildren_CollectionChanged; this.plotter = null; CleanLegend(); } }
void IPlotterElement.OnPlotterDetaching(Plotter plotter) { foreach (var commandBinding in addedBindings) { plotter.CommandBindings.Remove(commandBinding); } addedBindings.Clear(); this.plotter2D = null; }
public virtual void OnPlotterAttached(Plotter plotter) { this.plotter = (Plotter2D)plotter; dxHost = this.plotter.Children.OfType<DirectXHost>().FirstOrDefault(); if (dxHost == null) throw new InvalidOperationException("First add DirectXHost to plotter.Children"); dxHost.AddChild(this); dxHost.Render += OnDirectXRender; }
public override void OnPlotterDetaching(Plotter plotter) { plotter.CentralGrid.MouseLeftButtonDown -= CentralGrid_MouseLeftButtonDown; plotter.CentralGrid.MouseLeftButtonUp -= CentralGrid_MouseLeftButtonUp; plotter.CentralGrid.MouseMove -= CentralGrid_MouseMove; plotter.CentralGrid.MouseLeave -= CentralGrid_MouseLeave; plotter.CentralGrid.MouseEnter -= CentralGrid_MouseEnter; base.OnPlotterDetaching(plotter); }
void IPlotterElement.OnPlotterAttached(Plotter plotter) { plotter.CentralGrid.Children.Add(this); Plotter2D plotter2d = (Plotter2D)plotter; this.plotter = plotter2d; plotter2d.Viewport.PropertyChanged += Viewport_PropertyChanged; UpdateUIRepresentation(); }
protected override void OnPlotterDetaching(Plotter plotter) { plotter.KeyDown -= new KeyEventHandler(OnParentKeyDown); Mouse.RemoveMouseDownHandler(Parent, OnMouseDown); Mouse.RemoveMouseMoveHandler(Parent, OnMouseMove); Mouse.RemoveMouseUpHandler(Parent, OnMouseUp); Mouse.RemoveMouseWheelHandler(Parent, OnMouseWheel); base.OnPlotterDetaching(plotter); }
public async Task <PlotterInfo> GetPlotterInfoAsync(Plotter plotter) { await PlotterLock.WaitAsync(); try { return(ActivePlotters.TryGetValue(plotter.Id, out var plotterStatus) ? new PlotterInfo(plotter.Id, true, plotterStatus.Status.Capacity, plotterStatus.Status.PlotsAvailable, plotter.Name, plotter.Earnings, plotter.OwnerId) : new PlotterInfo(plotter.Id, false, -1, -1, plotter.Name, plotter.Earnings, plotter.OwnerId)); } finally { PlotterLock.Release(); } }
/// <summary> /// Add PnL vs hold time to plotter. This method should be called once /// after the simulation loop finished. /// </summary> /// <param name="plotter"></param> /// <param name="sim"></param> public static void AddPnLHoldTime(this Plotter plotter, SimulatorCore sim) { var tradeLog = LogAnalysis .GroupPositions(sim.Log, true) .OrderBy(i => i.Entry.BarOfExecution.Time); plotter.SelectChart(Plotter.SheetNames.PNL_HOLD_TIME, "Days Held"); foreach (var trade in tradeLog) { var pnl = (trade.Quantity > 0 ? 100.0 : -100.0) * (trade.Exit.FillPrice / trade.Entry.FillPrice - 1.0); var label = pnl > 0.0 ? "Profit" : "Loss"; plotter.SetX((trade.Exit.BarOfExecution.Time - trade.Entry.BarOfExecution.Time).TotalDays); plotter.Plot(label, pnl); } }
void IPlotterElement.OnPlotterDetaching(Plotter plotter) { OnPlotterDetaching(this.plotter); var viewportItemsPanel = currentItemsPanel as ViewportHostPanel; if (viewportItemsPanel != null) { viewportItemsPanel.OnPlotterDetaching(plotter); } plotter.CentralGrid.Children.Remove(this); this.plotter.Viewport.PropertyChanged -= Viewport_PropertyChanged; this.plotter = null; }
public void DetectPeaks() { Transitions.Clear(); Plotter.Clear(); string contents = ReadFromFile(SelectedFile.Path); if (!string.IsNullOrEmpty(contents)) { ProcessFile(contents); } NotifyOfPropertyChange(() => CanAddToDatabase); NotifyOfPropertyChange(() => CanSaveImage); NotifyOfPropertyChange(() => CanSaveSpectrum); }
void IPlotterElement.OnPlotterDetaching(Plotter plotter) { // todo markerChart.OnPlotterDetached(plotter); var plotterContextMenu = plotter.Children.OfType <DefaultContextMenu>().FirstOrDefault(); if (plotterContextMenu != null) { plotterContextMenu.StaticMenuItems.Remove(addPointMenuItem); } modeHandler.Detach(); plotter.CentralGrid.Children.Remove(this); this.plotter = null; }
public void Map_single_line() { var plotter = new Plotter(); var mapper = new Mapper(plotter); var routeId = 1; mapper.MapRoute(routeId, "R1"); CollectionAssert.AreEqual( new[] { MapPoint.From(routeId, Coords.From(0, 0)), MapPoint.From(routeId, Coords.From(1, 0)) }, mapper.GetPoints()); }
public void Puzzle3Example1() { var plotter = new Plotter(); var mapper = new Mapper(plotter); mapper.MapRoute(1, "R75,D30,R83,U83,L12,D49,R71,U7,L72"); mapper.MapRoute(2, "U62,R66,U55,R34,D71,R55,D58,R83"); var distanceCalcuator = new ManhattanDistanceCalculator(); var result = mapper.GetIntersections() .Select(x => distanceCalcuator.GetDistance(Coords.From(0, 0), x)) .OrderBy(x => x) .First(); Assert.AreEqual(159, result); }
void IPlotterElement.OnPlotterAttached(Plotter plotter) { this.plotter = (Plotter2D)plotter; plotter.CentralGrid.Children.Add(this); modeHandler.Attach(this, plotter); markerChart.OnPlotterAttached(plotter); var plotterContextMenu = plotter.Children.OfType <DefaultContextMenu>().FirstOrDefault(); if (plotterContextMenu != null) { plotterContextMenu.StaticMenuItems.Add(addPointMenuItem); } }
void IPlotterElement.OnPlotterDetaching(Plotter plotter) { visibleBounds = new Rect(); this.plotter.CentralGrid.Children.Remove(this); this.plotter.Viewport.PropertyChanged -= Viewport_PropertyChanged; this.plotter.Viewport.Restrictions.Remove(proportionsRestriction); this.plotter.Viewport.Restrictions.Remove(maxSizeRestriction); this.plotter.Children.CollectionChanged -= PlotterChildren_CollectionChanged; RevertTextFormat(); this.plotter = null; }
public void OnPlotterAttached(Plotter plotter) { this.plotter = (Plotter2D)plotter; hostPanel = plotter.MainGrid; SetListeningPanel(); if (plotter.MainGrid != null) { hostPanel.MouseLeftButtonUp += OnMouseLeftButtonUp; hostPanel.MouseLeftButtonDown += OnMouseLeftButtonDown; hostPanel.MouseMove += OnMouseMove; hostPanel.MouseWheel += OnMouseWheel; } }
public void Puzzle3Example2() { var plotter = new Plotter(); var mapper = new Mapper(plotter); mapper.MapRoute(1, "R98,U47,R26,D63,R33,U87,L62,D20,R33,U53,R51"); mapper.MapRoute(2, "U98,R91,D20,R16,D67,R40,U7,R15,U6,R7"); var distanceCalcuator = new ManhattanDistanceCalculator(); var result = mapper.GetIntersections() .Select(x => distanceCalcuator.GetDistance(Coords.From(0, 0), x)) .OrderBy(x => x) .First(); Assert.AreEqual(135, result); }
private void DataRetrievedEventHandler(object sender, EventArgs e) { List <string> alarmNames = new List <string>(); List <string> warningNames = new List <string>(); List <bool> activeAlarmsFlags = new List <bool>(); List <bool> activeWarningFlags = new List <bool>(); // Let's make a local copy (thread safety) IList <MeasurePoint> _mbAlarms = DriverContainer.Driver.MbAlarm; if (_mbAlarms != null) { // Distinct Values List <string> uniqueRegNames = _mbAlarms.Select(x => x.Reg_Name).ToList().Distinct().ToList(); foreach (string sg in uniqueRegNames) { if (N3PR_Data.ALARM_NAMES.Contains(sg)) { alarmNames.Add(sg); } else { warningNames.Add(sg); } } activeAlarmsFlags = Plotter.AreThereActiveAlarms(alarmNames, _mbAlarms); activeWarningFlags = Plotter.AreThereActiveAlarms(warningNames, _mbAlarms); } AlarmsActive = "Green"; if (activeAlarmsFlags != null) { if (activeAlarmsFlags.Contains(true)) { AlarmsActive = "Red"; } } WarningsActive = "Green"; if (activeWarningFlags != null) { if (activeWarningFlags.Contains(true)) { WarningsActive = "Orange"; } } }
static void Main(params string[] args) { if (args.Length == 0) { Console.WriteLine("Parameters not exists"); Console.WriteLine(ConsoleParamParser.GetParametersHelp()); return; } var parser = new ConsoleParamParser(args); var plotData = new PhoutTable(parser.InputFileName).GetPlotData(parser.DrawColumnNames); var plotter = new Plotter(plotData, parser.HorisontalSize, parser.VerticalSize, drawLegend: true); plotter.DrawTo(parser.DrawToFileName); }
public MainWindow() { InitializeComponent(); myCanvas.ClipToBounds = true; plotter = new Plotter(myCanvas); plotter.AxesWithOrigin.Origin = new Tuple <double, double>(0, myCanvas.Height / 2); plotter.AxesWithOrigin.XScalingFactor = 10; plotter.AxesWithOrigin.YScalingFactor = -100; plotter.PointMarksVisible = true; plotter.PolylineVisible = false; plotter.DrawAll(); xLabel.Content = $"X range: [{plotter.AxesWithOrigin.X_min}, {plotter.AxesWithOrigin.X_max}]"; yLabel.Content = $"Y range: [{plotter.AxesWithOrigin.Y_min}, {plotter.AxesWithOrigin.Y_max}]"; }
/// <summary> /// Called when item is being detached from parent plotter. /// Allows to remove added in OnPlotterAttached method UI parts or unsubscribe from events. /// This should be done as each chart can be added only one Plotter at one moment of time. /// </summary> /// <param name="plotter">The plotter.</param> void IPlotterElement.OnPlotterDetaching(Plotter plotter) { if (this.plotter != null) { Panel panel = GetPanelByPlacement(placement); panel.Children.Remove(this); Plotter2D plotter2d = plotter as Plotter2D; axisControl.Transform = null; plotter2d.Viewport.VisibleChanged -= OnViewportConfigurationChanged; plotter2d.Viewport.OutputChanged -= OnViewportConfigurationChanged; plotter2d.Viewport.TransformChanged -= OnViewportConfigurationChanged; this.plotter = null; } }
/// <summary> /// Returns an optimal preview image of a calculation. /// </summary> /// <param name="calculation">The calculation.</param> /// <returns></returns> public Image GetBasePreviewImage(Calculation calculation) { CheckDimensionLimits(calculation); var sealingSlabPlotter = new Plotter(calculation.WidthPixels, calculation.HeightPixels, calculation.DrillingPointDistanceXPixels, calculation.DrillingPointDistanceYPixels, calculation.SealingSlabRadiusPixels, calculation.BorderXPixels, calculation.BorderYPixels); // Plot optimal sealing slabs var sealingSlabs = sealingSlabPlotter.PlotSealingSlabs <SealingSlab>(); return(GetIterationImage(calculation, sealingSlabs)); }
private void Potter_HPF_button_Click(object sender, EventArgs e) { var flag = true; flag &= double.TryParse(fc_Hp.Text.Replace('.', ','), out var fc); flag &= int.TryParse(m_Hp.Text, out var m); flag &= double.TryParse(dtTextBox.Text.Replace('.', ','), out var dt); if (!flag) { MessageBox.Show("Не все данные в правильном формате!", "Ошибка", MessageBoxButtons.OK); return; } var ppl = Analyser.GetHarryPotter_HPF(fc, m, dt); Plotter.Draw(_controlZgcList[(int)numericUpDownGraphNo.Value - 1], ppl, "Potter_HPF"); }
public MainWindow() { InitializeComponent(); myyC.ClipToBounds = true; Plotter p = new Plotter(myyC); List <DataPoint> testData = new List <DataPoint>(); for (int i = -20; i < 20; i++) { testData.Add(new DataPoint(i, i + 1)); } p.SetPoints(testData); p.DrawAll(); }
public void DrawSelf(Plotter plotter) { if (insideFigure is Line) { var newListMarkers = new List <Marker>() { insideFigure.listMarker[0], insideFigure.listMarker[2] }; plotter.DrawSelection(newListMarkers); return; } plotter.DrawSelection(insideFigure.listMarker); }
protected override void AttachCore(PointSelector selector, Plotter plotter) { if (selector == null) { throw new ArgumentNullException("selector"); } if (plotter == null) { throw new ArgumentNullException("plotter"); } this.selector = selector; this.plotter = (Plotter2D)plotter; leftButtonClickWrapper = new MouseClickWrapper(plotter.CentralGrid, MouseButton.Left); leftButtonClickWrapper.Click += OnLeftButtonClick; }
public void OnPlotterDetaching(Plotter plotter) { if (plotter.MainGrid != null) { hostPanel.MouseLeftButtonUp -= OnMouseLeftButtonUp; hostPanel.MouseLeftButtonDown -= OnMouseLeftButtonDown; hostPanel.MouseMove -= OnMouseMove; hostPanel.MouseWheel -= OnMouseWheel; hostPanel.MouseRightButtonDown -= OnMouseRightButtonDown; hostPanel.MouseRightButtonUp -= OnMouseRightButtonUp; hostPanel.LostFocus -= OnLostFocus; } listeningPanel = null; this.plotter = null; }
public override void OnPlotterAttached(Plotter plotter) { base.OnPlotterAttached(plotter); var tdx = new DxVertex(); var vel = tdx.GetVertexElements(); var vee = vel.Where(v => (!v.Equals(VertexElement.VertexDeclarationEnd))); var tdxve = new TDxInstance().GetVertexElements(); var vertexElements = new DxVertex().GetVertexElements().Where(ve => (!ve.Equals(VertexElement.VertexDeclarationEnd))) .Concat(new TDxInstance().GetVertexElements()) .ToArray(); _vertexDeclaration = new VertexDeclaration(Device, vertexElements); this._texture = TextureHelper.GetDVDImageTexture(Device); }
public static void AddOrderLog(this Plotter plotter, SimulatorCore sim) { plotter.SelectChart("Order Log", "date"); foreach (LogEntry entry in sim.Log) { plotter.SetX(string.Format("{0:MM/dd/yyyy}", entry.BarOfExecution.Time)); plotter.Plot("action", entry.Action); plotter.Plot("type", entry.InstrumentType); plotter.Plot("instr", entry.Symbol); plotter.Plot("qty", entry.OrderTicket.Quantity); plotter.Plot("fill", entry.FillPrice); plotter.Plot("gross", -entry.OrderTicket.Quantity * entry.FillPrice); plotter.Plot("commission", -entry.Commission); plotter.Plot("net", -entry.OrderTicket.Quantity * entry.FillPrice - entry.Commission); plotter.Plot("comment", entry.OrderTicket.Comment ?? ""); } }
public void OnPlotterAttached(Plotter plotter) { _plotter = (Plotter2D)plotter; Task.Factory.StartNew(() => { Dispatcher.Invoke(() => { foreach (FrameworkElement newItem in Items) { newItem.SetBinding(FrameworkElement.DataContextProperty, new Binding { Path = new PropertyPath("ChildContext"), Source = this }); Plotter2D.Children.Add(newItem); } }); }); }
private void Fur1DButton_Click(object sender, EventArgs e) { if (_controlZgcList[(int)numericUpDownGraphNo.Value - 1].GraphPane.CurveList.Count == 0) { return; } var list = GraphConverter.GetPointPairListFromCurve(_controlZgcList[(int)numericUpDownGraphNo.Value - 1].GraphPane.CurveList[0]); var res = Analyser.ListToComplex(list); res = Analyser.ReverseSpectre(Analyser.GetSpectre(res)); var newlist = Analyser.ComplexToPointPairList(res); Plotter.Clear(spectreZedGraphControl); Plotter.Draw(spectreZedGraphControl, newlist, "Reversed Graph"); }
private void dtmf_plot_button_Click(object sender, EventArgs e) { var flag = true; flag &= double.TryParse(Rate_Texbox.Text.Replace('.', ','), out var sample_rate); var dtmf_c = dtmf_textbox.Text; if (!flag) { MessageBox.Show("Не все данные в правильном формате!", "Ошибка", MessageBoxButtons.OK); return; } var res = DTMF.dtmf_from_label(dtmf_c, sample_rate); Plotter.Draw(_controlZgcList[(int)numericUpDownGraphNo.Value - 1], res, "DTMF"); }
public void OnPlotterDetaching(Plotter plotter) { this.plotter.Viewport.PropertyChanged -= OnViewport_PropertyChanged; plotter.Dispatcher.BeginInvoke(() => { plotter.Children.RemoveAll( segment, startThumb, endThumb, panel, leftRay, rightRay); }, DispatcherPriority.Normal); this.plotter = null; }
public void ImportedSpectrums_SelectionChanged(SelectionChangedEventArgs args) { var existingSeries = Plotter.GetExistingSeries("Imported"); if (existingSeries != null) { Plotter.PlotFrame.Series.Remove(existingSeries); } var existingTransition = Transitions.Where(x => x.Name == "Imported"); if (existingTransition != null && existingTransition.Any()) { Transitions.Remove(existingTransition.First()); } existingSeries = Plotter.GetExistingSeries("Imported Peaks"); if (existingSeries != null) { Plotter.PlotFrame.Series.Remove(existingSeries); } existingTransition = Transitions.Where(x => x.Name == "Imported Peaks"); if (existingTransition != null && existingTransition.Any()) { Transitions.Remove(existingTransition.First()); } SelectedImportedSpectrum = args.AddedItems.Cast <object>().Where(x => x is SpectrumBase).Count() == 1 ? args.AddedItems.Cast <SpectrumBase>().First() : null; if (SelectedImportedSpectrum != null) { Spectrum spectrum = new Spectrum(SelectedImportedSpectrum); Plotter.Plot(spectrum, null, SpectrumType.Imported); Transitions.Add(new ListViewTransitionItem() { Name = spectrum.Optimized.Name }); Transitions.Add(new ListViewTransitionItem() { Name = spectrum.Peaks.Name }); } }
// todo: results are similar, but not the same as in book. why? private static void CompareNStepLengths() { var env = new RandomWalkEnvironment(19, 10); // actual probability of reaching goal state from given state var actualValues = Enumerable.Range(1, 19).Select(i => i / 20.0).ToArray(); var learningRates = new[] { 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0 }; var nStepResults = new[] { 1, 2, 4, 8, 16 } .Select(numSteps => new NStepResult { Label = $"{numSteps}", CreateEstimatorFunc = learningRate => new NStepEstimator(learningRate, numSteps) }) .ToList(); foreach (var nStepResult in nStepResults) { foreach (var learningRate in learningRates) { var avgRmsErrorSum = 0.0; const int numRuns = 200; for (var i = 0; i < numRuns; i++) { var estimator = nStepResult.CreateEstimatorFunc(learningRate); var estimates = estimator.Estimate(env, 10); var avgError = AvgRmsError(actualValues, estimates); avgRmsErrorSum += avgError; } nStepResult.RmsErrors.Add(avgRmsErrorSum / numRuns); } } var plotter = new Plotter(); var plt = plotter.Plt; plt.Title("Average RMS error over 19 states and first 10 episodes"); plt.XLabel("Learning rate"); plt.YLabel("Avg. RMS error"); foreach (var nStepResult in nStepResults) { plt.PlotScatter(learningRates, nStepResult.RmsErrors.ToArray(), label: nStepResult.Label); } plt.Legend(); plotter.Show(); }
/// <summary> /// Called when item is being detached from parent plotter. /// Allows to remove added in OnPlotterAttached method UI parts or unsubscribe from events. /// This should be done as each chart can be added only one Plotter at one moment of time. /// </summary> /// <param name="plotter">The plotter.</param> void IPlotterElement.OnPlotterDetaching(Plotter plotter) { if (this.plotter == null) { return; } Panel panel = GetPanelByPlacement(placement); panel.Children.Remove(this); Plotter2D plotter2d = plotter as Plotter2D; plotter2d.Viewport.PropertyChanged -= OnViewportPropertyChanged; axisControl.Transform = null; this.plotter = null; }