OxyPlot.Wpf 图表控件使用备忘

目录

OxyPlot.Wpf 图表控件使用备忘

一、OxyPlot.Wpf 控件信息

二、基本概念

(一) PlotView 和 Plot

(二) PlotModel

(三) Axes

(四) Series

(五) Tracker

三、样式设置

(一) 效果对比

(二) 图表边框和数据线条样式

(三) 坐标轴样式

(四) 自定义 Tracker

四、装配和数据填充

五、示例代码

独立观察员 2021 年 5 月 21 日

一、OxyPlot.Wpf 控件信息

GitHub:https://github.com/oxyplot/oxyplot

官方文档地址:https://oxyplot.readthedocs.io/en/latest/index.html

使用版本:NuGet 版 2.0.0

参考文章:《OxyPlot 在 wpf 中绘制实时动态曲线【更新 2.0 去掉 Smooth 属性】》

二、基本概念

(一) PlotView 和 Plot

界面上有两种使用方法:

(1)使用 PlotView(界面简单,设置都在代码中)

(2)使用 Plot (坐标轴、线条等都在界面上设置)

我们使用第一种方法。

(二) PlotModel

PlotView 的 Model 属性需绑定一个 PlotModel 对象,它包含了整个图表的各种信息,比如边框、数据线条、坐标轴、图示 等。

绑定的属性可按如下定义:

(三) Axes

Axes 就是坐标轴集合,可分别添加四个方向的坐标轴,如果没有自行添加,默认会有一个底部的横坐标和一个左侧的纵坐标。

坐标轴也有好几种类型:

本文使用的是 LinearAxis:

(四) Series

Series 代表了一组数据,有很多种类型:

本文以 线条(LineSeries)为例:

注释部分是指定平滑模式,开启平滑模式后,两点之间以曲线相连,性能会降低;

关闭平滑模式,两点之间以直线相连,也就是形成折线图。

(五) Tracker

Tracker 指的是可浮现的线条上点的信息框,可以理解为 ToolTip 。Tracker 是属于 Series 的。

默认是按住鼠标左键,然后移动到点上,显示 Tracker 。

可使用如下代码改为鼠标移上就显示(其中 _PlotView 为 PlotView 控件对象):

三、样式设置

(一) 效果对比

默认样式如下(不包括标题和坐标轴标题):

Tracker 默认样式如下:

可通过设置,改为如下样式:

(二) 图表边框和数据线条样式

图表边框四边的宽度可分别设置,某一边的边框设为 0 时,相应的坐标轴线样式才有效果。不过坐标轴线条好像有点 Bug,所以此处还是使用边框线来替代坐标轴线。

(三) 坐标轴样式

分别设置左侧和底部的坐标轴,可进行缩放、平移、刻度线、网格线的开关和设置等。

(四) 自定义 Tracker

自定义 Tracker 在界面上设置,通过设置 Tracker 的控件模板来完成:

更多样式可参考该控件库的示例代码:

四、装配和数据填充

样式设置完成后,将坐标轴和线条装入 PlotModel 中:

数据填充到线条的 Points 中,ResetAllAxes () 方法可重置坐标轴,InvalidatePlot () 方法刷新数据:

五、示例代码

代码地址:https://gitee.com/dlgcy/DLGCY_OxyPlotTester

发行版下载:https://gitee.com/dlgcy/DLGCY_OxyPlotTester/releases

说明:该项目使用 WPFTemplate 搭建,如果要克隆代码,注意需进行 Git 子模块拉取操作。

程序界面:

WPF

【翻译】WPF 中附加行为的介绍 Introduction to Attached Behaviors in WPF

WPF 使用 Expression Design 画图导出及使用 Path 画图

WPF MVVM 弹框之等待框

解决 WPF 绑定集合后数据变动界面却不更新的问题(使用 ObservableCollection)

WPF 消息框 TextBox 绑定新数据时让光标和滚动条跳到最下面

真・WPF 按钮拖动和调整大小

WPF MVVM 模式下的弹窗

WPF 让一组 Button 实现 RadioButton 的当前样式效果

WPF 原生绑定和命令功能使用指南

WPF 用户控件的自定义依赖属性在 MVVM 模式下的使用备忘

在WPF的MVVM模式中使用OCX组件

OxyPlot.Wpf 图表控件使用备忘相关推荐

  1. Visifire WPF 图表控件 破解

    可能用WPF生成过图表的开发人员都知道,WPF虽然本身的绘图能力强大,但如果每种图表都自己去实现一次的话可能工作量就大了, 尤其是在开发时间比较紧的情况下.这时候有必要借助一种专业的图表工具. Vis ...

  2. wpf 图表控件_LightningChart为外汇衍生品交易商提供数据可视化图表支持

    今天,我在这里介绍一下Arction的LightningChart图表控件在外汇和外汇衍生品交易中的应用. FXVolQuant作为外汇交易商的前沿数据驱动平台,由kuma.capital开发和维护, ...

  3. C# WPF图表控件之ChartControl用法指南①

    " 引言部分,总领全篇文章的中心内容." WPF的DevExpress ChartControl是一种功能强大的可视化工具,可帮助您将数据显示为二维或伪三维条形图.区域.线和许多其 ...

  4. WPF 表格控件 ReoGrid 的简单使用

    WPF 表格控件 ReoGrid 的简单使用 目录 一.概述 二.安装 三.添加控件 四.加载 Excel 五.属性设置 六.支持触摸滚动 七.其它操作 1.显示和隐藏列 2.显示特定字体 八.资源链 ...

  5. WPF 用户控件分享之边上带输入框的圆圈

    WPF 用户控件分享之边上带输入框的圆圈 独立观察员 2022 年 8 月 20 日 最近有这样一个需求,有一圈圆形,每个圆形边上有个输入框,以下是完成后的效果图: 拿到这个需求后,分析界面上每个圆形 ...

  6. WPF 曲线图表控件(自制)(二)

    原文:WPF 曲线图表控件(自制)(二) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/koloumi/article/details/775218 ...

  7. 可用于wpf的图表控件:WPFTookit Chart

    当前项目需要一个图表控件,尝试用过mschart和livechart,都不是很满意.这里试一下WPFToolkit.DataVisualization. 引用dll,通过nuget包管理器下载WPFT ...

  8. WPF好用的图表控件库

    ECharts配合Cefsharp秒杀所有的其他图表控件,显示几十万个点小意思啦. ECharts配置项参考:https://echarts.apache.org/zh/option.html#tit ...

  9. WPF 曲线图表控件(自制)(一)

    由于公司需要所以自写了一个简单的曲线图表控件,在此分享.先上一张效果图 1.界面xaml X轴和Y轴用 2个line对象写死在xaml上 外部用一个Grid包裹起来,然后X轴的宽度,和Y轴的高度就是绑 ...

最新文章

  1. 如何解决从数据库里面取出的时间晚了8个小时
  2. 猫猫学IOS(四十)UI之核心动画_抖动效果_CAKeyframeAnimation
  3. 微信的通讯录首字母滑动的实现
  4. 稀疏和L1正规化(Sparsity and Some Basics of L1 Regularization )
  5. Part2_4 Sqlite基础操作
  6. 湖南工业大学在线计算机作业答案,湖南工业大学《计算机组成原理》试题集,共7份,有部分答案...
  7. chrome打开清除浏览数据窗口快捷键
  8. oracle基础入门(二)
  9. Fancybox丰富的弹出层效果
  10. 一文详解高精地图构建与SLAM感知优化建图策略
  11. webclient 爬虫bug
  12. 为XYplorer添加右键菜单:“使用XYplorer打开”
  13. 手机连接电脑热点 显示 连接超时,已解决
  14. 常用的Linux终端命令盘点
  15. cognos使用流程
  16. 事理图谱-下一代知识图谱
  17. 【转】[转]总结下自己的学黑之路,希望对各位小黑和奋斗在计算机一线的码农们一些帮助!少走点弯路!...
  18. 选择优秀IT培训机构的终极建议!
  19. 机器学习入门到进阶学习路线
  20. C语言网络编程函数与相关结构汇总

热门文章

  1. python线性回归算法简介_Python实现的简单线性回归算法实例分析
  2. Visual Studio 2019 preview中体验C# 8.0新语法
  3. js的栈堆与浅拷贝、深拷贝的理解
  4. linux command1
  5. IntentService使用
  6. SQL Server创建索引(转)
  7. poj2442Sequence(优先队列)
  8. qt运行C语言后无显示,qt designer启动后不显示界面问题的原因与解决办法-站长资讯中心...
  9. configure 查找依赖库_Rust在编译Android的库时,如何设定依赖的第三方库引用的C/C++的动态库的搜索路径?...
  10. discord linux_如何在Discord中应用文本格式