private void UpdateDensityChart(DensityChart densityChart, string variable, IList <int> indices = null) { if (densityComboBox.SelectedIndex == 0) { return; } if (indices == null) { indices = GetDensityIndices(densityComboBox.SelectedIndex).ToList(); } if (Content.ProblemData.Dataset.VariableHasType <double>(variable)) { var data = Content.ProblemData.Dataset.GetDoubleValues(variable, indices).ToList(); var plot = partialDependencePlots[variable] as PartialDependencePlot; if (plot != null) { var min = plot.FixedXAxisMin; var max = plot.FixedXAxisMax; var buckets = plot.DrawingSteps; if (min.HasValue && max.HasValue) { densityChart.UpdateChart(data, min.Value, max.Value, buckets); densityChart.Width = plot.Width; var gcPlotPosition = plot.InnerPlotPosition; densityChart.Left = (int)(gcPlotPosition.X / 100.0 * plot.Width); densityChart.Width = (int)(gcPlotPosition.Width / 100.0 * plot.Width); densityChart.Visible = true; } plot.UpdateTitlePosition(); } } else if (Content.ProblemData.Dataset.VariableHasType <string>(variable)) { var data = Content.ProblemData.Dataset.GetStringValues(variable).ToList(); var plot = partialDependencePlots[variable] as FactorPartialDependencePlot; if (plot != null) { densityChart.UpdateChart(data); densityChart.Width = plot.Width; var gcPlotPosition = plot.InnerPlotPosition; densityChart.Left = (int)(gcPlotPosition.X / 100.0 * plot.Width); densityChart.Width = (int)(gcPlotPosition.Width / 100.0 * plot.Width); densityChart.Visible = true; plot.UpdateTitlePosition(); } } }
private void UpdateDensityChart(DensityChart densityChart, string variable, IList <int> indices = null) { if (densityComboBox.SelectedIndex == 0) { return; } if (indices == null) { indices = GetDensityIndices(densityComboBox.SelectedIndex).ToList(); } var data = Content.ProblemData.Dataset.GetDoubleValues(variable, indices).ToList(); var gradientChart = gradientCharts[variable]; var min = gradientChart.FixedXAxisMin; var max = gradientChart.FixedXAxisMax; var buckets = gradientChart.DrawingSteps; if (min.HasValue && max.HasValue) { densityChart.UpdateChart(data, min.Value, max.Value, buckets); densityChart.Width = gradientChart.Width; var gcPlotPosition = gradientChart.InnerPlotPosition; densityChart.Left = (int)(gcPlotPosition.X / 100.0 * gradientChart.Width); densityChart.Width = (int)(gcPlotPosition.Width / 100.0 * gradientChart.Width); densityChart.Visible = true; } gradientChart.UpdateTitlePosition(); }
private void UpdateDensityChart(DensityChart densityChart, string variable, IList<int> indices = null) { if (densityComboBox.SelectedIndex == 0) return; if (indices == null) { indices = GetDensityIndices(densityComboBox.SelectedIndex).ToList(); } var data = Content.ProblemData.Dataset.GetDoubleValues(variable, indices).ToList(); var gradientChart = gradientCharts[variable]; var min = gradientChart.FixedXAxisMin; var max = gradientChart.FixedXAxisMax; var buckets = gradientChart.DrawingSteps; if (min.HasValue && max.HasValue) { densityChart.UpdateChart(data, min.Value, max.Value, buckets); densityChart.Width = gradientChart.Width; var gcPlotPosition = gradientChart.InnerPlotPosition; densityChart.Left = (int)(gcPlotPosition.X / 100.0 * gradientChart.Width); densityChart.Width = (int)(gcPlotPosition.Width / 100.0 * gradientChart.Width); densityChart.Visible = true; } gradientChart.UpdateTitlePosition(); }