0
点赞
收藏
分享

微信扫一扫

科研绘图系列:R语言圆形条形图(circular barplot)

時小白 2024-08-12 阅读 38

今日尝试写一款窗口上位机数据绘图助手Plotter的开发,实现接收解析数据包进行画图的功能:

文章提供完整代码解释、设计点解释、测试效果图、完整工程下载

 

控件摆放与使用控件大致介绍:

下载必要的Nuget程序包:

图表绘制相关代码逻辑:

 

 

 

将时间戳作为X轴输入:

 

时间戳绘制效果如下:

清空图表按钮实现:

        //清空图表
        private void clear_button_Click(object sender, EventArgs e)
        {
            ClearChart(zedGraphControl1);
            firstDataPoint_flag = false;    //记录获取第一个数据 状态置零
        }
        // 清空图表中的所有曲线  
        private void ClearChart(ZedGraph.ZedGraphControl zgc)
        {
            GraphPane myPane = zgc.GraphPane;
            // 遍历并删除所有曲线  
            while (myPane.CurveList.Count > 0)
            {
                myPane.CurveList.RemoveAt(0);
            }
            myPane.AxisChange();
            // 刷新图表以显示更改  
            zgc.Refresh();
            // 最后别忘记清理字典
            ClearCurvesDictionary();
        }

 

鼠标在数据点上获取精确值:

 

串口接收事件生成与衔接图表逻辑:

 

 单片机方面宏定义打印函数:

 

单片机串口发送示例:

 

接收数据字符串字段函数:

 

在串口接收事件中的调用解算:

 阶段性解算成果展示:

 

字典转换颜色字符串:

 

数据画图函数与非UI线程调用:

单条曲线绘图测试效果:

最终测试效果:

遇到的问题:

在非UI线程调用UI控件:

整体测试工程下载:

举报

相关推荐

0 条评论