推荐使用 OxyPlot.Avalonia 实现 Avalonia 图表,需安装 OxyPlot.Core 和 OxyPlot.Avalonia,XAML 中通过 PlotView 绑定继承自 PlotModel 的 ChartModel,并在 ViewModel 中初始化 LineSeries 数据,动态更新需调用 InvalidatePlot(true)。
在 Avalonia 中实现简单图表,推荐使用 OxyPlot.Avalonia —— 它是 Avalonia 官方认可、轻量且易用的开源图表库,支持折线图、柱状图、散点图等常见类型,无需重写渲染逻辑。
在项目中通过 NuGet 添加依赖:
OxyPlot.Core(核心绘图引擎)OxyPlot.Avalonia(Avalonia 平台适配器)命令行示例:
dotnet add package OxyPlot.Core先在 App.axaml 或主窗口的 xmlns 中引入命名空间:
然后在界面中添加:
注意:ChartModel 是一个继承自 OxyPlot.PlotModel 的 ViewModel 属性,需在 DataContext 中提供。
在 ViewModel 中初始化一个简单的折线图:
public PlotModel ChartModel { get; } = new();运行后即可看到带坐标轴和图例的折线图。
OxyPlot 默认不监听集合变更,如需动态刷新图表:
ChartModel.InvalidatePlot(true) 强制重绘
LineSeries.Points.Clear()
+ Add(),避免重建 SeriesPlotModel.Background 或设置 PlotAreaBackground 调整视觉风格