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();
 }