【ScottPlot5.1.x图表应用】ScottPlot5.1.x 最新版 5.1.57+实现鼠标悬停提示ToolTip数据点数据(X,Y对应的数据点)核心代码
2026/7/15 5:38:24 网站建设 项目流程

一、ScottPlot 5.1.x 学习案例(含核心代码)

本文实现图表上鼠标悬停,ToopTip提示坐标值,效果如下(亲测)



1.1 图表上显示十字线

定义:private Crosshair Crosshair;
结合FormsPlot_MouseMove、FormsPlot_MouseEnter、FormsPlot_MouseLeave

Crosshair=this.formsPlot.Plot.Add.Crosshair(0.0,0.0);//十字光标线Crosshair.LineWidth=2;Crosshair.MarkerShape=MarkerShape.OpenCircle;Crosshair.MarkerSize=10;Crosshair.LineColor=Colors.Red;Crosshair.TextColor=Colors.White;

控制十字线,进入时显示,离开时隐藏

Crosshair.VerticalLine.IsVisible=true;//显示Crosshair.HorizontalLine.IsVisible=true;

FormsPlot_MouseMove中获取坐标方法:

// 查找最近的数据点(使用像素坐标),需要定义FindNearestPointCoordinates?nearestPoint=FindNearestPoint(e.X,e.Y,searchRadiusPixels:10);if(nearestPoint.HasValue){Crosshair.Position=nearestPoint.Value;Crosshair.IsVisible=true;//如果显示提示就在这定义//string timeStr =DateTime.FromOADate(nearestPoint.Value.X).ToString("HH:mm:ss");//string priceStr=nearestPoint.Value.Y.ToString("F3")//string tipText = $"时间: {timeStr}\n价格: {priceStr} 元";//toolTip.Show(tipText, formsPlot, e.Location + new Size(10, -30));}else{Crosshair.IsVisible=false;}

1.2 查找坐标最近的数据点


实现曲线颜色与主题颜色一致(AntdUI)
scatterPlot.Color = ScottPlot.Color.FromHex(AntdUI.Style.Db.Primary.ToHex());

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询