C# C语言中一个图表中的多个箱线图#

C# C语言中一个图表中的多个箱线图#,c#,charts,boxplot,microsoft-chart-controls,C#,Charts,Boxplot,Microsoft Chart Controls,我正试图找出如何让c#在图表中放入多个箱线图。一旦涉及到c#而不是R或python,互联网上就没有什么帮助了。所以我在问:在这段代码中,我做错了什么或遗漏了什么 private void on_boxplot(object sender, EventArgs e) { List<String> xValue = new List<String> { "Ala (A)", "Arg (R)", "Asn (N

我正试图找出如何让c#在图表中放入多个箱线图。一旦涉及到c#而不是R或python,互联网上就没有什么帮助了。所以我在问:在这段代码中,我做错了什么或遗漏了什么

   private void on_boxplot(object sender, EventArgs e)
    {                  
        List<String> xValue = new List<String> { "Ala (A)", "Arg (R)", "Asn (N)", "Asp (D)", "Cys (C)", "Gln (Q)", "Glu (E)", "Gly (G)", "His (H)", "Ile (I)", "Leu (L)", "Lys (K)", "Met (M)", "Phe (F)", "Pro (P)", "Ser (S)", "Thr (T)", "Trp (W)", "Tyr (Y)", "Val (V)", "Pyl (O)", "Sec (U)" };
        Chart Chart = new Chart();
        Chart.chart_main.Series.Clear();
        Chart.chart_main.Series.Add("BoxPlotSeries");
        for (Int32 i = 0; i < xValue.Count; i++)
        {
            Chart.chart_main.Series.Add(xValue[i]); 
        }

        for (Int32 i = 0; i < DYL; i++)
        {
            if (Data[i, 0] == null) break;
            Chart.chart_main.Series[xValue[0]].Points.AddY(boxplot_helper(i, Dataslots[0]));
            Chart.chart_main.Series[xValue[1]].Points.AddY(boxplot_helper(i, Dataslots[1]));
            Chart.chart_main.Series[xValue[2]].Points.AddY(boxplot_helper(i, Dataslots[2]));
            Chart.chart_main.Series[xValue[3]].Points.AddY(boxplot_helper(i, Dataslots[3]));
            Chart.chart_main.Series[xValue[4]].Points.AddY(boxplot_helper(i, Dataslots[4]));
            Chart.chart_main.Series[xValue[5]].Points.AddY(boxplot_helper(i, Dataslots[5]));
            Chart.chart_main.Series[xValue[6]].Points.AddY(boxplot_helper(i, Dataslots[6]));
            Chart.chart_main.Series[xValue[7]].Points.AddY(boxplot_helper(i, Dataslots[7]));
            Chart.chart_main.Series[xValue[8]].Points.AddY(boxplot_helper(i, Dataslots[8]));
            Chart.chart_main.Series[xValue[9]].Points.AddY(boxplot_helper(i, Dataslots[9]));
            Chart.chart_main.Series[xValue[10]].Points.AddY(boxplot_helper(i, Dataslots[10]));
            Chart.chart_main.Series[xValue[11]].Points.AddY(boxplot_helper(i, Dataslots[11]));
            Chart.chart_main.Series[xValue[12]].Points.AddY(boxplot_helper(i, Dataslots[12]));
            Chart.chart_main.Series[xValue[13]].Points.AddY(boxplot_helper(i, Dataslots[13]));
            Chart.chart_main.Series[xValue[14]].Points.AddY(boxplot_helper(i, Dataslots[14]));
            Chart.chart_main.Series[xValue[15]].Points.AddY(boxplot_helper(i, Dataslots[15]));
            Chart.chart_main.Series[xValue[16]].Points.AddY(boxplot_helper(i, Dataslots[16]));
            Chart.chart_main.Series[xValue[17]].Points.AddY(boxplot_helper(i, Dataslots[17]));
            Chart.chart_main.Series[xValue[18]].Points.AddY(boxplot_helper(i, Dataslots[18]));
            Chart.chart_main.Series[xValue[19]].Points.AddY(boxplot_helper(i, Dataslots[19]));
            Chart.chart_main.Series[xValue[20]].Points.AddY(boxplot_helper(i, Dataslots[20]));
            Chart.chart_main.Series[xValue[21]].Points.AddY(boxplot_helper(i, Dataslots[21]));     
        }

        Chart.chart_main.Series["BoxPlotSeries"].ChartType = SeriesChartType.BoxPlot;
        Chart.chart_main.Series["BoxPlotSeries"]["BoxPlotSeries"] = xValue[0];

        Chart.chart_main.ChartAreas.Add("BoxPlot");
        Chart.chart_main.Series["BoxPlotSeries"].ChartArea = "BoxPlot";

        Chart.chart_main.Series["BoxPlotSeries"]["BoxPlotWhiskerPercentile"] = "0";
        Chart.chart_main.Series["BoxPlotSeries"]["BoxPlotPercentile"] = "25";
        Chart.chart_main.Series["BoxPlotSeries"]["BoxPlotShowAverage"] = "true";
        Chart.chart_main.Series["BoxPlotSeries"]["BoxPlotShowMedian"] = "true";
        Chart.chart_main.Series["BoxPlotSeries"]["BoxPlotShowUnusualValues"] = "true";
        Chart.chart_main.Series["BoxPlotSeries"]["MaxPixelPointWidth"] = "15";
        Chart.chart_main.Series["BoxPlotSeries"].BorderWidth = 2;
        Chart.Show();

    }

    private Double boxplot_helper(Int32 i, Int32 slot)
    {
        String Santas = Data[i, slot].Replace('.', ',').TrimEnd('%').Trim();
        Double LittleHelper = Convert.ToDouble(Santas);
        return LittleHelper;

    }
箱线图上的私有无效(对象发送方,事件参数e) { 列表xValue=新列表{“Ala(A)”、“Arg(R)”、“Asn(N)”、“Asp(D)”、“Cys(C)”、“Gln(Q)”、“Glu(E)”、“Gly(G)”、“His(H)”、“Ile(I)”、“Leu(L)”、“Lys(K)”、“Met(M)”、“Phe(F)”、“Pro(P)”、“Ser(S)”、“Thr(T)”、“Trp(W)”、“Tyr(Y)”、“Val(V)”、“Pyl(O)”、“Sec(U)”; 图表=新图表(); Chart.Chart_main.Series.Clear(); Chart.Chart_main.Series.Add(“BoxPlotSeries”); 对于(Int32 i=0;i


以上是结果,但我想要其中的22个。任何人碰巧知道如何解决这个问题?

您可以创建多个方框图,如下所示:

Chart.chart_main.Series["BoxPlotSeries"]["BoxPlotSeries"] = string.Join(";", xValue);

您可以根据需要创建多个箱线图

Chart.chart_main.Series["BoxPlotSeries"]["BoxPlotSeries"] = string.Join(";", xValue);

人们可能会对我所做的事情感兴趣:

        List<String> Series = new List<String>();
        for (Int32 i = 0; i < 22; i++)
        {
            Series.Add(xValue[i]);
        }
        String Helper = String.Join("; ", Series);

        Chart.chart_main.Series["BoxPlotSeries"]["BoxPlotSeries"] = Helper;
List系列=新列表();
对于(Int32 i=0;i<22;i++)
{
增加(xValue[i]);
}
String Helper=String.Join(“;”,Series);
Chart.Chart_main.Series[“BoxPlotSeries”][“BoxPlotSeries”]=Helper;
结果是:


有人可能会对我所做的事感兴趣:

        List<String> Series = new List<String>();
        for (Int32 i = 0; i < 22; i++)
        {
            Series.Add(xValue[i]);
        }
        String Helper = String.Join("; ", Series);

        Chart.chart_main.Series["BoxPlotSeries"]["BoxPlotSeries"] = Helper;
List系列=新列表();
对于(Int32 i=0;i<22;i++)
{
增加(xValue[i]);
}
String Helper=String.Join(“;”,Series);
Chart.Chart_main.Series[“BoxPlotSeries”][“BoxPlotSeries”]=Helper;
结果是:


工作非常愉快。:)我可以对这些系列进行分类吗?工作非常愉快。:)我可以对这些序列进行排序吗?你找到对这些序列进行排序的方法了吗?我希望所有序列都按照中位数升序排序。我想你必须先对它进行预排序,因为你看到的只是一个png。中位数很容易得到。是的,我就是这样同时解决的。在我将序列名称分配给boxplot之前,必须对序列名称进行排序。您找到对这些序列进行排序的方法了吗?我希望所有序列都按照中位数升序排序。我想您必须首先对其进行预排序,因为您看到的只是一个png。中位数很容易得到。是的,我就是这样同时解决的。在我将序列名称分配给方框图之前,必须对其进行排序。是否可以为方框图添加带字符串值的X轴标签?是否可以为方框图添加带字符串值的X轴标签?