示例#1
0
 public void FrequencyChartDiscete()
 {
     var f0 = new FieldRange("Data selection", null, _range, false);
     var f1 = new FieldRadioBT("Order by", new string[] { "Name", "Freq Asc", "Freq Desc" }, null, 0, true);
     new InputBox(_excelapp, "Create frequency chart", f0, f1).Show(delegate {
         var rgsel = f0.Value;
         var orderByFrequencyAsc = f1.Value == 1;
         var orderByFrequencyDesc = f1.Value == 2;
         var freq = Frequency.ComputeDisceteFrequencies(rgsel);
         if (orderByFrequencyAsc)
             freq.SortByFrequenceAsc();
         else if (orderByFrequencyDesc)
             freq.SortByFrequenceDesc();
         var ch = AddColumnClusteredChart(freq.Values, freq.Frequencies, null, "Value", "Frequency");
     });
 }
示例#2
0
 public void FrequencyChartContinuous()
 {
     var f0 = new FieldRange("Data selection", "Data", _range, false);
     var f1 = new FieldNumber("Nb of classes", "Number of classes", 10, true);
     var f2 = new FieldNumber("Class precision", "Number of digits after the decimal point", 0, 0, 15, true);
     new InputBox(_excelapp, "Create frequency chart", f0, f1, f2).Show(delegate {
         var rgsel = f0.Value;
         var nbClasses = (int)(f1.Value ?? 0);
         var precision = (int)(f2.Value ?? 0);
         var classes = Frequency.ComputeContinuousFrequencies(rgsel, nbClasses, precision);
         var title = "min=" + classes.Min.ToString()
                          + "  max=" + classes.Max.ToString()
                          + "  µ=" + Math.Round(classes.Average, 8).ToString()
                          + "  σ=" + Math.Round(classes.StandardDeviation, 8).ToString();
         var ch = AddColumnClusteredChart(classes.Names, classes.Values, title, "Class", "Frequency");
     });
 }
示例#3
0
 public void FrequencyTableContinuous()
 {
     var f0 = new FieldRange("Data selection", "Data", _range, false);
     var f1 = new FieldNumber("Nb of classes", "Number of classes", 10, true);
     var f2 = new FieldNumber("Class precision", "Number of digits after the decimal point", 0, 0, 15, true);
     var inputbox = new InputBox(_excelapp, "Create frequency chart", f0, f1, f2);
     inputbox.RestoreSelectionOnExit = false;
     inputbox.Show(delegate {
         var rgsel = f0.Value;
         var nbClasses = (int)(f1.Value ?? 0);
         var precision = (int)(f2.Value ?? 0);
         var classes = Frequency.ComputeContinuousFrequencies(rgsel, nbClasses, precision);
         var nbValues = classes.Values.Length;
         var table = new object[nbValues + 1, 2];
         table[0, 0] = "Class";
         table[0, 1] = "Frequence";
         for (int i = 0; i < nbValues; i++) {
             table[i + 1, 0] = classes.Names[i];
             table[i + 1, 1] = classes.Values[i];
         }
         AddTableToNewSheet(table);
     });
 }
示例#4
0
        public void FrequencyTableDiscete()
        {
            var f0 = new FieldRange("Data selection", null, _range, false);
            var f1 = new FieldRadioBT("Order by", new string[] { "Value", "Freq Asc", "Freq Desc" }, null, 0, true);
            var inputbox = new InputBox(_excelapp, "Create frequency chart", f0, f1);
            inputbox.RestoreSelectionOnExit = false;
            inputbox.Show(delegate {
                var rgsel = f0.Value;
                var orderByFrequencyAsc = f1.Value == 1;
                var orderByFrequencyDesc = f1.Value == 2;
                var freq = Frequency.ComputeDisceteFrequencies(rgsel);
                if (orderByFrequencyAsc)
                    freq.SortByFrequenceAsc();
                else if (orderByFrequencyDesc)
                    freq.SortByFrequenceDesc();

                var nbValues = freq.Frequencies.Length;
                var table = new object[nbValues + 1, 2];
                table[0, 0] = "Value";
                table[0, 1] = "Frequence";
                for (int i = 0; i < nbValues; i++) {
                    table[i + 1, 0] = freq.Values[i];
                    table[i + 1, 1] = freq.Frequencies[i];
                }
                AddTableToNewSheet(table);
            });
        }