界面增加Oxyplot.WindowsForms.Plot,鼠标悬停显示坐标值。
PlotType = PlotType.XY
private void InitPlotModel()
{this.plot.Model = _PlotModel;this.plot.Enabled = true;this.plot.MouseHover += PlotView_MouseHover;this.plot.MouseHover += PlotView_MouseLeave;
}//增加光标悬停显示坐标值
private System.Windows.Forms.ToolTip toolTip = new System.Windows.Forms.ToolTip();
public Oxyplot.WindowsForms.Plot plot = null;
private void PlotView_MouseHover(object sender, EventArgs e)
{toolTip = new System.Windows.Forms.ToolTip();var plotView = ((Oxyplot.WindowsForms.Plot)sender).Model;// 获取鼠标在PlotView控件中的坐标位置var mousePosition = ((Oxyplot.WindowsForms.Plot)sender).PointToClient(Cursor.Position);// 将鼠标位置的屏幕坐标转换为数据点的坐标值var xAxis = plotView.Axes[0];var yAxis = plotView.Axes[1];double x = xAxis.InverseTransform(mousePosition.X, mousePosition.Y, yAxis).X;//修改数值的展示double y = xAxis.InverseTransform(mousePosition.X, mousePosition.Y, yAxis).Y;// 在ToolTip中显示数据点的数值信息toolTip.SetToolTip(((Oxyplot.WindowsForms.Plot)sender), $"{xAxis.Title}: {x},{yAxis.Title}: {y}");// 设置ToolTip的AutoPopDelay属性为3000毫秒(3秒)toolTip.AutoPopDelay = 3000;
}private void PlotView_MouseLeave(object sender, EventArgs e)
{if( plot != null){toolTip.RemoveAll();}
}