private void densityComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (Content == null) { return; } int si = densityComboBox.SelectedIndex; if (si == 0) { foreach (var densityChart in densityCharts.Values) { densityChart.Visible = false; } } else { var indices = GetDensityIndices(si).ToList(); foreach (var entry in densityCharts) { var variableName = entry.Key; var densityChart = entry.Value; if (!VisibleVariables.Contains(variableName) || partialDependencePlots[variableName].IsZoomed) { continue; } UpdateDensityChart(densityChart, variableName, indices); } } }
private void SetStyles() { var tl = partialDependencePlotTableLayout; tl.RowStyles.Clear(); tl.ColumnStyles.Clear(); int numVariables = VisibleVariables.Count(); if (numVariables == 0) { return; } // set column styles tl.ColumnCount = Math.Min(numVariables, MaxColumns); for (int c = 0; c < tl.ColumnCount; c++) { tl.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100.0f / tl.ColumnCount)); } // set row styles tl.RowCount = (int)Math.Ceiling((double)numVariables / tl.ColumnCount); var columnWidth = tl.Width / tl.ColumnCount; // assume all columns have the same width var rowHeight = (int)(0.8 * columnWidth); for (int r = 0; r < tl.RowCount; r++) { tl.RowStyles.Add(new RowStyle(SizeType.Absolute, rowHeight)); } }
private void columnsNumericUpDown_ValueChanged(object sender, EventArgs e) { MaxColumns = (int)columnsNumericUpDown.Value; int columns = Math.Min(VisibleVariables.Count(), MaxColumns); if (columns > 0) { var tl = partialDependencePlotTableLayout; MaxColumns = columns; tl.SuspendLayout(); ReOrderControls(); SetStyles(); tl.ResumeLayout(); tl.Refresh(); densityComboBox_SelectedIndexChanged(this, EventArgs.Empty); } }