private void createPlot() { Size size = new Size(740, 400); //CREATE PLOT PanelPlot = UniPanel.Create(Dialog, BorderStyle.None, false); PanelPlot.Size = new Size(size.Width, size.Height + 30); //CHART UniChart chart = UniChart.Create(PanelPlot, 0, 0, size.Width, size.Height, BorderStyle.FixedSingle); chart.setTitles(null, null, "Performance in %"); chart.setLabelFormat(null, "0%"); chart.setStartFromZeros(false); //EVENT LISTENER PanelPlot.VisibleChanged += (s, e) => { //GET PERFORMANCE double[] perArray = new double[PerformanceList.Count]; for (int i = 0; i < perArray.Length; i++) { perArray[i] = PerformanceList[i].Performance; } //PREPARE CHART chart.SeriesRemove(); Series series = chart.SeriesLine("Performance of Network", SeriesChartType.Line, Colors.MainRecessive, 1, perArray, null); series.MarkerStyle = MarkerStyle.Circle; series.MarkerColor = Colors.MainDominant; series.MarkerSize = 4; series.MarkerBorderWidth = 1; series.MarkerBorderColor = Colors.MainRecessive; //DATA LABEL for (int i = 0; i < PerformanceList.Count; i++) { series.Points[i].Label = "LR: " + (PerformanceList[i].LearningRate * 100) + "%\nE: " + PerformanceList[i].Epochs + "\n(" + PerformanceList[i].Duration.ToString(@"mm\:ss") + ")"; } }; }