using LiveCharts; using LiveCharts.Wpf; using System.Windows.Media; using WpfApp.src.config; namespace WpfApp.Utils; public static class InitChart { public static void InitCartesianChart(CartesianChart chart, ChartConfig config) { chart.Series = new SeriesCollection(); // 柱状图 if (config.ColumnData != null && config.ColumnData.Count > 0) { chart.Series.Add(new ColumnSeries { Title = "柱状数据", Values = new ChartValues(config.ColumnData) }); } // 标准线条 foreach (var line in config.LineConfigs) { var lineSeries = new LineSeries { Title = line.Title, Values = new ChartValues(line.Values), Stroke = line.Stroke ?? Brushes.Black, StrokeThickness = 2, Fill = Brushes.Transparent, DataLabels = line.ShowLabel, }; if (line.ShowLabel) lineSeries.LabelPoint = value => $"{value.Y:0.##} {line.Unit}"; chart.Series.Add(lineSeries); } // X轴 chart.AxisX.Clear(); chart.AxisX.Add(new Axis { Title = config.XTitle ?? "", Labels = config.Labels }); // Y轴 chart.AxisY.Clear(); chart.AxisY.Add(new Axis { Title = config.YTitle ?? "" }); } }