private void RecalculateInternalDataset() { if (sharedFixedVariables == null) { return; } var factorValues = new List <string>(variableValues); var variables = sharedFixedVariables.VariableNames.ToList(); var values = new List <IList>(); foreach (var varName in variables) { if (varName == FreeVariable) { values.Add(factorValues); } else if (sharedFixedVariables.VariableHasType <double>(varName)) { values.Add(Enumerable.Repeat(sharedFixedVariables.GetDoubleValue(varName, 0), factorValues.Count).ToList()); } else if (sharedFixedVariables.VariableHasType <string>(varName)) { values.Add(Enumerable.Repeat(sharedFixedVariables.GetStringValue(varName, 0), factorValues.Count).ToList()); } } internalDataset = new ModifiableDataset(variables, values); }
private void RecalculateInternalDataset() { if (sharedFixedVariables == null) { return; } // we expand the range in order to get nice tick intervals on the x axis double xmin, xmax, xinterval; //guard if only one distinct value is present if (trainingMin.IsAlmost(trainingMax)) { ChartUtil.CalculateAxisInterval(trainingMin - 0.5, trainingMin + 0.5, XAxisTicks, out xmin, out xmax, out xinterval); } else { ChartUtil.CalculateAxisInterval(trainingMin, trainingMax, XAxisTicks, out xmin, out xmax, out xinterval); } if (FixedXAxisMin.HasValue) { xmin = FixedXAxisMin.Value; } if (FixedXAxisMax.HasValue) { xmax = FixedXAxisMax.Value; } double step = (xmax - xmin) / drawingSteps; var xvalues = new List <double>(); for (int i = 0; i < drawingSteps; i++) { xvalues.Add(xmin + i * step); } if (sharedFixedVariables == null) { return; } var variables = sharedFixedVariables.VariableNames.ToList(); var values = new List <IList>(); foreach (var varName in variables) { if (varName == FreeVariable) { values.Add(xvalues); } else if (sharedFixedVariables.VariableHasType <double>(varName)) { values.Add(Enumerable.Repeat(sharedFixedVariables.GetDoubleValue(varName, 0), xvalues.Count).ToList()); } else if (sharedFixedVariables.VariableHasType <string>(varName)) { values.Add(Enumerable.Repeat(sharedFixedVariables.GetStringValue(varName, 0), xvalues.Count).ToList()); } } internalDataset = new ModifiableDataset(variables, values); }