在 WPF 中使用 OxyPlot 实现不同图表核心在于创建和配置PlotModel对象并将其绑定到PlotView控件上进行显示。通过向PlotModel中添加不同类型的Series数据系列即可轻松实现折线图、柱状图、饼图、散点图等多种图表。基础使用在 XAML 文件的 Window 或 UserControl 元素中添加 OxyPlot 的命名空间引用xmlns:oxyhttp://oxyplot.org/wpf添加图表控件oxy:PlotViewModel{Binding PlotModel}/ViewModel定义好PlotModel 然后初始化不同的图表publicclassMainViewModel{publicPlotModelPlotModel{get;}publicMainViewModel(){// 创建 PlotModel设置标题varplotModelnewPlotModel{Title简单折线图};// 创建折线数据系列并添加数据点varlineSeriesnewLineSeries{Title数据曲线,ColorOxyColors.Red,MarkerSize4,};lineSeries.Points.Add(newDataPoint(0,1));lineSeries.Points.Add(newDataPoint(1,5));lineSeries.Points.Add(newDataPoint(2,3));plotModel.Series.Add(lineSeries);this.PlotModelplotModel;}}以下是几种常见图表的实现方法 折线图 (Line Chart)折线图通过LineSeries来实现。你只需创建LineSeries对象向其中添加DataPoint数据点然后将其加入PlotModel的Series集合中。publicMainViewModel(){// 创建 PlotModel设置标题varplotModelnewPlotModel{Title简单折线图};// 创建折线数据系列并添加数据点varlineSeriesnewLineSeries{Title数据曲线,ColorOxyColors.Red,MarkerSize4,};lineSeries.Points.Add(newDataPoint(0,1));lineSeries.Points.Add(newDataPoint(1,5));lineSeries.Points.Add(newDataPoint(2,3));lineSeries.Points.Add(newDataPoint(3,7));lineSeries.Points.Add(newDataPoint(4,8));plotModel.Series.Add(lineSeries);this.PlotModelplotModel;}效果曲线图在折线图上LineSeries增加InterpolationAlgorithm InterpolationAlgorithms.CanonicalSpline就可以变成曲线图// 创建 PlotModel设置标题varplotModelnewPlotModel{Title简单折线图};// 创建折线数据系列并添加数据点varlineSeriesnewLineSeries{Title数据曲线,ColorOxyColors.Red,InterpolationAlgorithmInterpolationAlgorithms.CanonicalSpline,MarkerSize4,};lineSeries.Points.Add(newDataPoint(0,1));lineSeries.Points.Add(newDataPoint(1,5));lineSeries.Points.Add(newDataPoint(2,3));lineSeries.Points.Add(newDataPoint(3,7));lineSeries.Points.Add(newDataPoint(4,8));plotModel.Series.Add(lineSeries);效果 水平柱状图 (Bar Chart)柱状图通过ColumnSeries来实现。与折线图类似你创建ColumnSeries并填充数据即可。注后面代码只写public MainViewModel()里面部分的其他的都一样varplotModelnewPlotModel{Title柱状图示例};varbarSeriesnewBarSeries{Title生产数量};barSeries.Items.Add(newBarItem{Value10});barSeries.Items.Add(newBarItem{Value25});barSeries.Items.Add(newBarItem{Value15});plotModel.Series.Add(barSeries);plotModel.Axes.Add(newCategoryAxis{PositionAxisPosition.Left,KeyX,ItemsSourcenew[]{2023-01-01,2023-01-02,2023-01-03},});this.PlotModelplotModel;效果自定义颜色barSeries.Items.Add(newBarItem{Value10,ColorOxyColor.FromRgb(255,0,0)});barSeries.Items.Add(newBarItem{Value25,ColorOxyColor.FromRgb(0,255,0)});barSeries.Items.Add(newBarItem{Value15,ColorOxyColor.FromRgb(0,0,255)}); 饼图 (Pie Chart)饼图通过PieSeries来实现非常适合展示各部分占整体的比例。varplotModelnewPlotModel{Title饼图示例};varpieSeriesnewPieSeries{Title市场份额,AngleSpan360,StartAngle0};pieSeries.Slices.Add(newPieSlice(A公司,40){IsExplodedtrue});// IsExploded 可使扇区分离pieSeries.Slices.Add(newPieSlice(B公司,25));pieSeries.Slices.Add(newPieSlice(C公司,20));pieSeries.Slices.Add(newPieSlice(其他,15));plotModel.Series.Add(pieSeries);效果源码https://gitee.com/wqhdw/wpf-app-test-example