Arction 高性能图表控件 LightningChart 图例和注释工具提示问题解答
LightningChart.NET完全由 GPU 加速,并且性能经过优化,可用于实时显示海量数据-超过 10 亿个数据点。LightningChart 包括广泛的 2D,高级 3D,Polar,Smith,3D 饼/甜甜圈,地理地图和 GIS 图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。
问题:当用户将鼠标悬停在图表上的图例或注释时,我必须向其显示工具提示,但是我不知道是否可以这样做?
我试图处理[sampleDataSeries]的 MouseOverOn / Off 事件。标题对象,但看起来不起作用。
回复:将鼠标悬停在图表对象上时,绝对有可能显示工具提示。
这几乎适用于所有图表对象,例如所有系列类型,轴,注释等。通常使用注释来显示工具提示,但在某些情况下,LegendBox 也可以派上用场(跟踪多个系列,具有不同字体的文本和颜色)。
MouseOverOn / Off 事件最有可能在这里最有用。实施工具提示的基本方法是具有一个“可见性”被修改的注释。在 MouseOverOn -event 中启用“可见”,并可能更新“注释”文本,在 MouseOverOff 中,禁用“可见”。相同的方法适用于所有图表对象,只需注意必须为该对象启用 MouseInteraction(在本例中为 SampleDataSeries)。
这是一个小例子:
_chart.BeginUpdate();
private void Sds_MouseOverOff(object sender, MouseEventArgs e){_chart.ViewXY.Annotations[0].Visible = false;}
private void Sds_MouseOverOn(object sender, MouseEventArgs e){_chart.BeginUpdate();
另一个问题:如何使用鼠标坐标来确定图例框中当前时间所徘徊的标题是什么?
回复:当将鼠标移到 LegendBox 中的系列标题上时,我们实际上有单独的事件要使用。
LegendBox 的 SeriesTitleMouseMoveOverOn / Off 事件还提供有关鼠标当前位于的系列的信息。_chart.ViewXY.LegendBoxes[0].SeriesTitleMouseMoveOverOn += Example_SeriesTitleMouseMoveOverOn;_chart.ViewXY.LegendBoxes[0].SeriesTitleMouseMoveOverOff += Example_SeriesTitleMouseMoveOverOff;
private void Example_SeriesTitleMouseMoveOverOff(object sender, SeriesTitleMouseMovedEventArgs e){(e.Series as SampleDataSeries).LineStyle.Color = Colors.Red;}
private void Example_SeriesTitleMouseMoveOverOn(object sender, SeriesTitleMouseMovedEventArgs e){(e.Series as SampleDataSeries).LineStyle.Color = Colors.Green;}在上面的示例中,尽管 e.Series 不会自动检测序列类型,但它会获取当前序列。当然,如果需要,您当然也可以在这些事件中更新“注释”工具提示。如果需要在这些事件中获取鼠标坐标,则可以使用:Point mousePos = Mouse.GetPosition(_chart); (在 WPF 中)
Point mousePos = PointToClient(MousePosition); (在 WinForms 中)
这为您提供了鼠标在屏幕坐标中的位置。
关于 LightningChart
LightningChart是一家坐落于北欧芬兰的控件开发商Arction Ltd 的产品,是微软公司认证的合作伙伴。高性能图标控件 LightningChart 高效渲染效率很受.NET 开发者青睐。Arction 在重塑图表控件领域中做出极大成绩: 2009 年,Arction 成为业界第一家 WinForms图表控件领域中引入 DirectX 2D 渲染的制造商; 2013 年,以第一家针对 WPF 制图行业中使用 DirectX 引入真正硬件加速的制造商而闻名;近年来,Arction专注于开发最高性能和最先进的数据可视化工具,设定行业最高标准。
评论