Oxyplot实时绘图学习笔记(下)

(接上帖)

绘图控件的相关设置

简略监测区域图表

原项目使用的实时绘图逻辑是“当绘制完十个点后,其后每画一个新点,就将第一个点删除”从而达成实时绘图的效果。
但是这个逻辑很显然会导致每次每个图表最多只能储存十个数据,所以我打算通过修改绘图控件设置,而不是通过删减数据点来达成实时绘图的功能。

在这里插入图片描述
还是拿温度来举例:这里绘图控件的设置包括三部分,曲线(series1),横坐标轴(dateTimeAxis)和纵坐标(leftAxis)。
经过阅读相应类内的参数说明,经过多次尝试不同的参数和参数值,我最后选择修改了如下参数:

曲线:
MarkerType:影响绘图点的形状,设置成圆形就行。
Smooth:影响图线连接是纯折线还是光滑曲线,这里选择光滑,图像美观一些。

横坐标轴:
MaximumRange:影响坐标轴最多显示的数值跨度,修改这一项数值可以调整同一时间在图表中最多出现的点的个数。通过不断修改这个值,我最后让图表在同一时间最多同时存在10个左右的绘图点,多于十个的话,旧的数据点将会不再显示于图表之中,从而达到实时绘图的功能,并且还可以通过鼠标右键拖动图表的方式观察图表的历史曲线,不显示在实时图表内的点并没有被删除。
StringFormat:借鉴了(https://blog.csdn.net/weixin_42930928/article/details/81984549)这一文章中的设置,通过设置格式来最后达到坐标轴显示“XX分XX秒”的效果,而不是之前恐怖的一大串日期时间。

纵坐标轴
Position:影响坐标轴在图表的位置,设置在左边,但是实际上好像并不需要这样,默认的纵坐标都在左边。
MaximumPadding,MinimumPadding:影响图表上下的空白缓冲区域,这个参数还比较重要,越大的值意味着图像在上下区域会有更大的空白,即整个图像经过了量程拉伸,作用是让点和曲线能更更靠中央显示,避免了光滑曲线后超出量程之类的情况发生。
Majorstep:影响坐标轴上一大格的间隔,设置为1,则意味着坐标轴的大格为1,对于不同的传感器数值要设置不同的值,从而使坐标轴上表的数字不至于过密或过疏。
MaximumRange,MinimumRange:同横坐标的相应参数,需要具体传感器具体设置。
在这里插入图片描述
在这里插入图片描述
如图为修改控件参数前后图像的变化,可见图形的显示效果好了很多,图像不再在顶上和底下反复横跳,或者体温那里纵坐标的唯一数字标识是50了,增强了可读性。

重点检测区域图表

重点监测区域图表的设置也同样进行了上述设置,增加的更多是美观方面的设置。
在这里插入图片描述
MarkerStrokeThickness:影响绘图点的大小
StrokeThickness:影响绘图曲线的粗细程度
Color:影响绘图曲线的颜色
MajorGridlineStyle,MinorGridlineStyle:设置坐标轴中每一大格网格线和每一小格网格线的样式,这里选择大格网格线为实线,小格网格线为虚线
MajorGridlineColor,MinorGridlineColor:影响各网格线的颜色

重点监测区域的图表侧重于图像的醒目程度和读取数据的精度

总结

实在是第一次接触C#和图形界面的设计,按照课程其实我已经一年都没有怎么写过很正经的代码了。这次的嵌入式系统实践的项目确实是全面考查了资源搜索和自学能力,并且考察的方面也是非常广泛,从市场调研到需求分析到架构设计到硬件设计到软件设计到测试改进,是一次不小的挑战。到头来,写了学习笔记才发现自己其实也就做了这么些东西,但是当时确实是举步维艰。
代码写的并不太好,希望大家多包容。希望以后还能有更多这种锻炼的机会,以及希望明日嵌入式期末考试能够运气好一点。(安详

  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值