OxyPlot.Wpf 图表控件使用备忘
OxyPlot.Wpf 圖表控件使用備忘
目錄
OxyPlot.Wpf 圖表控件使用備忘
一、OxyPlot.Wpf 控件信息
二、基本概念
(一) PlotView 和 Plot
(二) PlotModel
(三) Axes
(四) Series
(五) Tracker
三、樣式設(shè)置
(一) 效果對比
(二) 圖表邊框和數(shù)據(jù)線條樣式
(三) 坐標(biāo)軸樣式
(四) 自定義 Tracker
四、裝配和數(shù)據(jù)填充
五、示例代碼
獨(dú)立觀察員 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 中繪制實(shí)時動態(tài)曲線【更新 2.0 去掉 Smooth 屬性】》
?
二、基本概念
(一) PlotView 和 Plot
界面上有兩種使用方法:
(1)使用 PlotView(界面簡單,設(shè)置都在代碼中)
?
(2)使用 Plot (坐標(biāo)軸、線條等都在界面上設(shè)置)
?
我們使用第一種方法。
?
(二) PlotModel
PlotView 的 Model 屬性需綁定一個 PlotModel 對象,它包含了整個圖表的各種信息,比如邊框、數(shù)據(jù)線條、坐標(biāo)軸、圖示 等。
?
綁定的屬性可按如下定義:
?
(三) Axes
Axes 就是坐標(biāo)軸集合,可分別添加四個方向的坐標(biāo)軸,如果沒有自行添加,默認(rèn)會有一個底部的橫坐標(biāo)和一個左側(cè)的縱坐標(biāo)。
坐標(biāo)軸也有好幾種類型:
?
本文使用的是 LinearAxis:
?
(四) Series
Series 代表了一組數(shù)據(jù),有很多種類型:
?
本文以 線條(LineSeries)為例:
?
注釋部分是指定平滑模式,開啟平滑模式后,兩點(diǎn)之間以曲線相連,性能會降低;
關(guān)閉平滑模式,兩點(diǎn)之間以直線相連,也就是形成折線圖。
?
(五) Tracker
Tracker 指的是可浮現(xiàn)的線條上點(diǎn)的信息框,可以理解為 ToolTip 。Tracker 是屬于 Series 的。
默認(rèn)是按住鼠標(biāo)左鍵,然后移動到點(diǎn)上,顯示 Tracker 。
可使用如下代碼改為鼠標(biāo)移上就顯示(其中 _PlotView 為 PlotView 控件對象):
?
三、樣式設(shè)置
(一) 效果對比
默認(rèn)樣式如下(不包括標(biāo)題和坐標(biāo)軸標(biāo)題):
?
Tracker 默認(rèn)樣式如下:
?
可通過設(shè)置,改為如下樣式:
?
(二)?圖表邊框和數(shù)據(jù)線條樣式
?
圖表邊框四邊的寬度可分別設(shè)置,某一邊的邊框設(shè)為 0 時,相應(yīng)的坐標(biāo)軸線樣式才有效果。不過坐標(biāo)軸線條好像有點(diǎn) Bug,所以此處還是使用邊框線來替代坐標(biāo)軸線。
?
(三) 坐標(biāo)軸樣式
?
分別設(shè)置左側(cè)和底部的坐標(biāo)軸,可進(jìn)行縮放、平移、刻度線、網(wǎng)格線的開關(guān)和設(shè)置等。
?
(四) 自定義 Tracker
自定義 Tracker 在界面上設(shè)置,通過設(shè)置 Tracker 的控件模板來完成:
?
更多樣式可參考該控件庫的示例代碼:
?
四、裝配和數(shù)據(jù)填充
樣式設(shè)置完成后,將坐標(biāo)軸和線條裝入 PlotModel 中:
?
數(shù)據(jù)填充到線條的 Points 中,ResetAllAxes () 方法可重置坐標(biāo)軸,InvalidatePlot () 方法刷新數(shù)據(jù):
?
五、示例代碼
代碼地址:https://gitee.com/dlgcy/DLGCY_OxyPlotTester
發(fā)行版下載:https://gitee.com/dlgcy/DLGCY_OxyPlotTester/releases
說明:該項(xiàng)目使用 WPFTemplate 搭建,如果要克隆代碼,注意需進(jìn)行 Git 子模塊拉取操作。
程序界面:
WPF
【翻譯】WPF 中附加行為的介紹 Introduction to Attached Behaviors in WPF
WPF 使用 Expression Design 畫圖導(dǎo)出及使用 Path 畫圖
WPF?MVVM?彈框之等待框
解決 WPF 綁定集合后數(shù)據(jù)變動界面卻不更新的問題(使用 ObservableCollection)
WPF?消息框?TextBox?綁定新數(shù)據(jù)時讓光標(biāo)和滾動條跳到最下面
真?WPF?按鈕拖動和調(diào)整大小
WPF?MVVM?模式下的彈窗
WPF?讓一組 Button 實(shí)現(xiàn)?RadioButton?的當(dāng)前樣式效果
WPF?原生綁定和命令功能使用指南
WPF?用戶控件的自定義依賴屬性在?MVVM?模式下的使用備忘
在WPF的MVVM模式中使用OCX組件
總結(jié)
以上是生活随笔為你收集整理的OxyPlot.Wpf 图表控件使用备忘的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云原生ASP.NET Core程序的可监
- 下一篇: 在非容器(集群)环境下运行dapr