高性能图表控件LightningChart中图表标题和轴标题之间的空间问题

LightningChart完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。

图表标题和轴标题之间的空间

LightningChart的新手。当我将图表标题设置在左侧并旋转90度时,它要么绘制在y轴标题(chart.ViewXY.AxisLayout.AutoAdjustMargins = true;)上,要么绘制在y轴标题的左侧(chart.ViewXY.AxisLayout.AutoAdjustMargins = false;),但轴标题和统计图标题之间的距离为0。如何在运行时确保Chart和Axis标题之间有一些空间(即,我在编译时不知道布局)?

回复:图表标题和轴标题之间的空间

看起来Chart的Title与YAxis的自动对齐方式无法正常工作(例如,与XAxis的自动对齐)。这必须是错误,我们将尝试尽快修复。

如果需要“ LeftCenter”或“ RightCenter”与“图表标题”对齐,则可能需要使用手动页边距。由于ViewXY.Margin.Left = 80(默认情况下),禁用了AutoAdjustMargins的区别(默认情况下)仅比auto-margin大一点。通过增加ViewXY.Margin.Left,您将避免Chart和Axis标题重叠。其他选项是将“图表标题”放置在其他位置或使用“偏移”属性。
暂时,AutoAdjustMargins = true不适用于左或右标题,但是我正在根据标题的位置和字体大小尝试使用手动边距。我怀疑这不是一个长期解决方案,因此期待修复。不幸的是,我需要允许最终用户将标题和轴放置在任何一侧,所以现在我将继续使用手动边距。

呈现Chart之后(例如,引发AfterRendering事件),您可以使用以下方法来帮助估计边距:
*读取Active Axis区域(包括Axis线本身和标签(标题在该区域之外))

var area = Axes.GetActiveAxisArea();

*读取轴标题的位置

var rect = Axes.Title.DrawRectangle;

*测量渲染文本的大小

_chart.MeasureText(Text, Font); // [please note that Chart.MeasureText(Text, Font) output in DIP units; use DpiHelper.DipToPx() where needed]

在AutoAdjustMargins = true(这是我们真正想要的)的情况下,在大多数情况下,页边距和文本之间的多余空间(称为schmutz)是可以显示的。在某些情况下,schmutz为0,最外面的文本和边框之间没有空格。例如,使用DemoAppWinForms | 基础知识 点线示例:

使用
_chart.Title.Align = ChartTitleAlignment.RightCenter; 
_chart.Title.Angle = 90; 

schmutz很好,标题看起来不错。但是使用
_chart.Title.Angle = -90; 

schmutz为0,标题看起来不太好(靠边框)。

我们完全不使用-90是可以的,所以没有问题。只是以为您想知道。另外,您还设置了示例应用程序,并且拥有我们可以使用的源代码,非常出色!出色的。

猜你喜欢

转载自blog.51cto.com/15078157/2678079