LightningChart数据可视化图形控件使用篇8-ViewXY·图边距、通用、PointLineSeries

385 阅读4分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

图边距

图边距是图形区域周围的空白处。除了注释、图例框和图表标题之外,视图的所有内容都显示在图边距内。

微信截图_20220425110826.png 图:图表区域周围为图边距。图边距内填置具体内容。图边距上可以放置图表标题和图例框。

当 AutoAdjustMargins 设为 enabled后,会调整图表尺寸,腾出足够的空间放置所有的轴和图表标题。设为disabled后,应用ViewXY.Margins 属性可以手动设定图边距。

默认情况下,在图表区域的图边框位置绘制可以自定义绘制一个矩形边框 Border。通过设置Border.Visible = False可以关闭该边框。Border 的颜色也可以通过Color属性更改。另外,通过设置RenderBehindSeries为True,也可以在系列后渲染Border。

在运行期间,通过调用ViewXY.GetMarginsRect方法method,可以恢复以像素为单位的图边距矩形,适用于自动和手动图边距。当需要执行基于屏幕坐标的计算或对象放置时,这非常有用。

ViewXY.MarginsChanged事件可以设置为在图边距矩形变更时(例如调整其大小)触发。

ViewXY系列,通用

ViewXY的系列以不同的方式和格式实现数据可视化。所有系列都连接到轴值范围;而且,系列必须连接到一条Y轴。通过系列的AssignXAxisIndex和AssignYAxisIndex属性可以分配X和Y轴。通过代码,使用系列构造函数参数交替分配X轴和Y轴。

PointLineSeries

演示示例: 点线图(Point line);温度图(Temperature graph);线、调色板着色(Line, palette coloring)

微信截图_20220425115101.png 图:PointLineSeries概览

微信截图_20220425115139.png 图:三种不同的 PointLineSeries.

一个 PointLineSeries 能够展现一个基本的线、点(散点图)或者二者合一的点线图。通过向PointLineSeries列表添加PointLineSeries对象,可以向图表添加系列。

chart.ViewXY.PointLineSeries.Add(series); // 向图表添加系列

线条样式

用LineStyle属性定义线条样式。若要让线条可见,可以设置LineVisible = false。

点样式

设置 PointsVisible = true可以显示点。通过设置PointStyle属性可以变更点的样式。通过PointStyle.Shape从众多预定义的样式中选择点的外形。其中一种是 Bitmap ,即可以在点位置上绘制任意的位图图像。使用BitmapImage属性可以定义位图图像。用BitmapAlphaLevel属性可以变更位图的透明度。通过变更BitmapImageTintColor,可以调整位图的色调为白色之外的其他银色调。当使用预定义的点样式时,如Circle(圆形)、Triangle(三角形)、Cross(十字)等,可以定义绘图颜色和填充样式。注意,并不是所有的颜色或填充适用于所有形状样式。点的宽度和高度可以设置,点也可以旋转。

单独为点配色

演示示例: Point line, individually colored points, Scatter points, individually colored

从第v.7.2版本开始, PointLineSeries、FreeformPointLineSeries、AreaSeries和 HighLowSeries在数据点结构中具有PointColor 字段。

要开启给点单独着色,要在IndividualPointColoring 设置 Color1、Color2、Color3 或 BorderColor。 要禁用单独给点着色,则设置IndividualPointColoring = Off。颜色设置与PointStyle属性中的颜色相当。

微信截图_20220425115350.png 图:顶部,设置 IndividualPointColoring = Color1 (实心着色点);中间,设置IndividualPointColoring = BorderColor;底部,IndividualPointColoring = Color2 (采用Color1 = transparent设置渐变着色)。

添加点

系列点必须在代码中添加。用 AddPoints(SeriesPoint[], bool invalidate)方法在现有的点的末端添加点。

chart.ViewXY.PointLineSeries[0].AddPoints(pointsArray); //在末端添加点

若要一次性设置全部系列数据,并覆盖旧的点,可以直接分配新点数组:

chart.ViewXY.PointLineSeries[0].Points = pointsArray; //分配点数组

注意!PointLineSeries 点的X值必须按升序排列。如果一定要对其另外排序,可用FreeformPointLineSeries替代。

例如,定义Points[0].X = 0, Points[1].X = 5, Points[2].X = 5, Points[3].X = 6 是有效的。 但 Points[0].X = 2, Points[1].X =1, Points[2].X = 6, Points[3].X =7 对于PointLineSeries来说不是一个有效的值数组。

添加点的其他方法

X和Y值数组中也可以添加点,这在许多应用程序中会更为方便。

chart.ViewXY.PointLineSeries[0].AddPoints(xValuesArray,yValuesArray,false);

若要一次性设置全部系列数据,并覆盖旧的点,可以直接分配X和Y值数组:

(适用于WinForms 和 WPF Non-bindable APIs)

chart.ViewXY.PointLineSeries[0].SetValues(xValuesArray, yValuesArray);

关于LightningChart数据可视化图形控件使用篇8-ViewXY·图边距、通用、PointLineSeries章节就分享到这里了。

如果在实际应用中遇到技术问题或需要帮助,可以添加下方微信号联系官方技术支持。

微信号:lightningchart_china

如果您想进一步使用LightningChart数据可视化图形控件,请添加后回复“学习”可免费领取一套全功能版LightningChart数据可视化控件。

后续我会不断更新LightingChart更详细的使用方法,写文不易,还望多多回复关注支持!谢谢!

最新版V10 LightningChart下载地址:猛击下载