当前位置: 首页 > news >正文

C#中用 OxyPlot 在 WinForms 实现波形图可视化(附源码教程)

        今天给大家安利一个超级实用的绘图控件库——OxyPlot,配合WinForms使用,让你轻松绘制专业级图表!

        本文将手把手教你如何搭建一个简单的波形图显示窗口,完整步骤 + 源码解析,建议收藏!

项目搭建步骤(超详细)

新建项目

  1. 打开 Visual Studio
  2. 选择“创建新项目”
  3. 选择“Windows 窗体应用(.NET Framework)”

  4. 起个名字,比如 WaveformPlotDemo

  5. 点击“下一步”,完成创建

配置 OxyPlot

  • 下载 OxyPlot 的依赖包

https://pan.baidu.com/s/19hkJiR9nK60vGsBGgapwHw?pwd=rksh

  • 解压放到你的项目文件夹下

  • 右键“依赖项” -> “添加项目引用” -> 找到解压位置 -> 添加 DLL 文件

  • 点击“确定”。 接下来,安装 NuGet 包: 点击工具->NuGet包管理器->管理解决方案的NuGet包

  • 搜索 OxyPlot.WindowsForms → 点击“安装”

这样,我们的环境就配置完成啦!

界面设计与代码实现

我们不使用拖控件的方式,而是直接用代码方式添加 PlotView 控件,实现更加灵活的图形界面设计。

Form1.cs 中编写如下代码:

using System;
using System.Windows.Forms;
using OxyPlot;
using OxyPlot.Series;
using OxyPlot.WindowsForms;
using OxyPlot.Axes;namespace WinFormsApp1
{public partial class Form1 : Form{public Form1(){InitializeComponent();InitializePlot(); // 初始化图表}private void InitializePlot(){PlotView plotView = new PlotView { Dock = DockStyle.Fill };PlotModel plotModel = new PlotModel{Title = "Demod BaseBand Waveform",PlotMargins = new OxyThickness(60, 40, 60, 40),Background = OxyColors.Black,TextColor = OxyColors.White};var xAxis = new LinearAxis{Position = AxisPosition.Bottom,Title = "Time",Minimum = 0,Maximum = 2000,IsZoomEnabled = true,MajorGridlineStyle = LineStyle.Solid,MajorGridlineColor = OxyColors.White};var yAxis = new LinearAxis{Position = AxisPosition.Left,Title = "Amplitude",Minimum = -0.8,Maximum = 0.8,MajorStep = 0.2,IsZoomEnabled = false,IsPanEnabled = false,AbsoluteMinimum = -0.8,AbsoluteMaximum = 0.8,MajorGridlineStyle = LineStyle.Solid,MajorGridlineColor = OxyColors.White};plotModel.Axes.Add(xAxis);plotModel.Axes.Add(yAxis);plotView.Model = plotModel;this.Controls.Add(plotView);}}
}

相关文章:

  • 深度理解spring——BeanFactory的实现
  • 通付盾入选苏州市网络和数据安全免费体验目录,引领企业安全能力跃升
  • ubuntu20.04(ROS noetic版)安装cartographer
  • leetcode28. 找出字符串中第一个匹配项的下标_简单KMP
  • 基于Django的权限管理平台
  • Pgvector+R2R搭建RAG知识库
  • 问道数码兽 怀旧剧情回合手游源码搭建教程(反查重优化版)
  • 前缀和-724.寻找数组的中心下标-力扣(LeetCode)
  • OpenAI图像生成gpt-image-1登场,开启创意新可能
  • GPT-4o最新图像生成完全指南:10大应用场景与提示词模板
  • 【Vue】TypeScript与Vue3集成
  • Java学习手册:JSON 数据格式基础知识
  • 1Panel+Halo快速部署:简化服务器管理与网站搭建流程探索
  • 并发设计模式实战系列(6):读写锁
  • 立马耀:通过阿里云 Serverless Spark 和 Milvus 构建高效向量检索系统,驱动个性化推荐业务
  • 设计仿真 | Adams回调函数功能解析
  • 上岸率85%+,25西电先进材料与纳米科技学院(考研录取情况)
  • 通过阿里云Milvus与通义千问VL大模型,快速实现多模态搜索
  • ARINC818协议一些说明综述
  • QMT学习课程Day1
  • 农贸美学、业态再构、智能管理,今天的菜市场不止有菜
  • 国家市场监管总局:民生无小事,严打民生领域侵权假冒违法行为
  • 上海举行金融服务企业“走出去”推进大会
  • 神二十发射取得圆满成功
  • 宁夏中卫深化公立医院机构编制改革:市人民医院机构规格升为正处级
  • 体坛联播|AC米兰挺进意大利杯决赛,弗雷戴特宣布退役