private PartialDependencePlot CreatePartialDependencePlot(string variableName, ModifiableDataset sharedFixedVariables) { var plot = new PartialDependencePlot { Dock = DockStyle.Fill, Margin = Padding.Empty, ShowLegend = false, ShowCursor = true, ShowConfigButton = false, YAxisTicks = 5, }; plot.VariableValueChanged += async(o, e) => { var recalculations = VisiblePartialDependencePlots .Except(new[] { (IPartialDependencePlot)o }) .Select(async chart => { await chart.RecalculateAsync(updateOnFinish: false, resetYAxis: false); }).ToList(); await Task.WhenAll(recalculations); if (recalculations.All(t => t.IsCompleted)) { SetupYAxis(); } }; plot.Configure(new[] { Content }, sharedFixedVariables, variableName, Points); plot.SolutionAdded += partialDependencePlot_SolutionAdded; plot.SolutionRemoved += partialDependencePlot_SolutionRemoved; return(plot); }
public PartialDependencePlotConfigurationDialog(PartialDependencePlot chart) { this.chart = chart; InitializeComponent(); }