コード例 #1
0
        protected override string DefaultCommand()
        {
            if (Variables == null)
            {
                return("");
            }

            Mtb.Column[] vars = (Mtb.Column[])Variables;
            Mtb.Column[] gps  = null;
            if (GroupingVariables != null)
            {
                gps = (Mtb.Column[])GroupingVariables;
            }

            StringBuilder cmnd = new StringBuilder(); // local macro 內容

            if (gps != null)
            {
                cmnd.AppendFormat("Boxplot ({0})*{1};\r\n",
                                  string.Join(" &\r\n", vars.Select(x => x.SynthesizedName).ToArray()),
                                  gps[0].SynthesizedName);
                if (gps.Length >= 2)
                {
                    cmnd.AppendFormat(" Group {0};\r\n",
                                      string.Join(" &\r\n", gps.Select((x, i) => new { colId = x.SynthesizedName, index = i }).
                                                  Where(x => x.index > 0).Select(x => x.colId).ToArray()));
                }
            }
            else
            {
                cmnd.AppendFormat("Boxplot {0};\r\n",
                                  string.Join(" &\r\n", vars.Select(x => x.SynthesizedName).ToArray()));
            }
            cmnd.Append(GetOptionCommand());

            cmnd.Append(YScale.GetCommand());
            cmnd.Append(XScale.GetCommand());

            cmnd.Append(Mean.GetCommand());
            cmnd.Append(CMean.GetCommand());
            cmnd.Append(RBox.GetCommand());
            cmnd.Append(IQRBox.GetCommand());
            cmnd.Append(Whisker.GetCommand());
            cmnd.Append(Outlier.GetCommand());
            cmnd.Append(Individual.GetCommand());
            cmnd.Append(MeanDatlab.GetCommand());
            cmnd.Append(IndivDatlab.GetCommand());

            cmnd.Append(Panel.GetCommand());

            cmnd.Append(GetAnnotationCommand());
            cmnd.Append(GetRegionCommand());

            return(cmnd.ToString() + ".");
        }