Пример #1
0
        private void plot_MouseDown(object sender, OxyMouseDownEventArgs e)
        {
            OxyPlot.ElementCollection <OxyPlot.Axes.Axis> axisList = myModel.Axes;
            OxyPlot.Axes.Axis X_Axis = null, Y_Axis = null;


            foreach (OxyPlot.Axes.Axis ax in axisList)
            {
                if (ax.Position == OxyPlot.Axes.AxisPosition.Bottom)
                {
                    X_Axis = ax;
                }
                else if (ax.Position == OxyPlot.Axes.AxisPosition.Left)
                {
                    Y_Axis = ax;
                }
            }

            DataPoint p = OxyPlot.Axes.Axis.InverseTransform(e.Position, X_Axis, Y_Axis);

            polynomialPoints?.Add(p);

            string toAddToListView = string.Empty;

            toAddToListView += "X: " + (int)p.X + " ; Y: " + (int)p.Y;
            toAddToListView += Environment.NewLine;

            polynomialPointsListView.Items.Add(toAddToListView);
        }
Пример #2
0
        public static double GetXPositionFromMouseClickOnChart(object sender, MouseButtonEventArgs e)
        {
            var plotModel = (OxyPlot.Wpf.PlotView)sender;

            if (plotModel == null)
            {
                return(double.NaN);
            }

            OxyPlot.ElementCollection <OxyPlot.Axes.Axis> axisList = plotModel.Model.Axes;

            Axis xAxis = axisList.FirstOrDefault(ax => ax.Position == AxisPosition.Bottom);
            Axis yAxis = axisList.FirstOrDefault(ax => ax.Position == AxisPosition.Left);

            var relative = Mouse.GetPosition(plotModel);
            var position = xAxis.InverseTransform(relative.X, relative.Y, yAxis);

            return(position.X);
        }
        private void Plot_OxyMouseDown(object s, OxyMouseDownEventArgs e)
        {
            OxyPlot.ElementCollection <OxyPlot.Axes.Axis> axisList = pv1.Model.Axes;
            Axis xaxis = null;
            Axis yaxis = null;

            foreach (OxyPlot.Axes.Axis ax in axisList)
            {
                if (ax.Position == AxisPosition.Bottom)
                {
                    xaxis = ax;
                }
                else if (ax.Position == AxisPosition.Left)
                {
                    yaxis = ax;
                }
            }
            x = Axis.InverseTransform(e.Position, xaxis, yaxis).X;
            y = Axis.InverseTransform(e.Position, xaxis, yaxis).Y;

            tbXCoor.Text = x.ToString();
            tbYCoor.Text = y.ToString();

            m.AddPoint(x, y);
            lbPointNr.Text = m.PointList.Count.ToString();

            var s1 = new LineSeries()
            {
                Color                 = OxyColors.SkyBlue,
                MarkerType            = MarkerType.Circle,
                MarkerSize            = 6,
                MarkerStroke          = OxyColors.White,
                MarkerFill            = OxyColors.SkyBlue,
                MarkerStrokeThickness = 1.5,
                LineStyle             = LineStyle.None,
            };

            s1.Points.Add(new DataPoint(x, y));
            pv1.Model.Series.Add(s1);
            pv1.Model.InvalidatePlot(true);
        }
Пример #4
0
        private void oxy_plot_MouseDown(object sender, OxyMouseDownEventArgs ex)
        {
            OxyPlot.ElementCollection <OxyPlot.Axes.Axis> axisList = oxy_plot.Model.Axes;

            Axis X_Axis = axisList[0];
            Axis Y_Axis = axisList[1];

            foreach (OxyPlot.Axes.Axis ax in axisList)
            {
                if (ax.Position == AxisPosition.Bottom)
                {
                    X_Axis = ax;
                }
                else if (ax.Position == AxisPosition.Left)
                {
                    Y_Axis = ax;
                }
            }

            DataPoint p = OxyPlot.Axes.Axis.InverseTransform(ex.Position, X_Axis, Y_Axis);
        }