OxyPlot.Wpf 图表控件使用备忘

2022-12-06 18:58:54 浏览数 (1)

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 子模块拉取操作。

程序界面:

0 人点赞