using OperationControl.ViewModels.Views.Operacao.Monitoramento.Diagnostico; namespace OperationControl.Views.Operacao.Monitoramento { /// /// Interaction logic for DiagnosticoView.xaml /// public partial class DiagnosticoView : System.Windows.Controls.UserControl { public DiagnosticoViewModel _vm; public DiagnosticoView() { InitializeComponent(); _vm = new DiagnosticoViewModel(); DataContext = _vm; } public void AtualizarGraficos() { if (pltSaude_Acompanhamento == null) return; var plot = pltSaude_Acompanhamento.Plot; plot.Clear(); bool temSeries = false; foreach (var serie in _vm.SeriesGrafico) { if (serie.Valores.Count == 0) continue; double[] ys = serie.Valores.ToArray(); double[] xs = Enumerable.Range(0, ys.Length).Select(i => (double)i).ToArray(); var scatter = plot.Add.Scatter(xs, ys); scatter.LegendText = string.IsNullOrWhiteSpace(serie.Unidade) ? serie.Label : $"{serie.Label} ({serie.Unidade})"; temSeries = true; } if (temSeries) plot.ShowLegend(ScottPlot.Alignment.UpperLeft); plot.Axes.AutoScale(); pltSaude_Acompanhamento.Refresh(); } } }