如何使用ASP.net、C#或Javascript创建方框图

如何使用ASP.net、C#或Javascript创建方框图,javascript,c#,asp.net,.net,charts,Javascript,C#,Asp.net,.net,Charts,有人知道如何使用ASP.net、C#或JavaScript创建方框图吗 这是我在网上发现的,但我不确定如何将其应用到我的案例中: 代码: List xValue=newlist{“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)”

有人知道如何使用ASP.net、C#或JavaScript创建方框图吗

这是我在网上发现的,但我不确定如何将其应用到我的案例中:

代码:

List xValue=newlist{“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)”,“Val(V)”,“Pyl(O)”,“Sec(U)”;
图表=新图表();
Chart.Chart_main.Series.Clear();
Chart.Chart_main.Series.Add(“BoxPlotSeries”);
对于(Int32 i=0;i

如果有人能在这方面帮助我,我将不胜感激,谢谢!

这是一个ASP.NET示例:

    <asp:Chart ID="Chart1" runat="server" Width="600px">
        <Series>
            <asp:Series Name="Series1" ChartType="BoxPlot" YValuesPerPoint="6">
                <Points>
                    <asp:DataPoint XValue="1" YValues="10,60,20,50,30,40" />
                    <asp:DataPoint XValue="2" YValues="40,90,50,80,60,70" />
                    <asp:DataPoint XValue="3" YValues="20,70,30,60,40,50" />
                </Points>
            </asp:Series>
        </Series>
        <ChartAreas>
            <asp:ChartArea Name="ChartArea1">
                <AxisY>
                    <MajorGrid LineColor="DarkGray" LineDashStyle="Dot" />
                    <MajorTickMark LineColor="DarkGray" LineDashStyle="Dot" />
                </AxisY>
                <AxisX>
                    <MajorGrid LineColor="DarkGray" LineDashStyle="Dot" />
                    <MajorTickMark LineColor="DarkGray" LineDashStyle="Dot" />
                </AxisX>
            </asp:ChartArea>
        </ChartAreas>
    </asp:Chart>

我认为第三个示例中有一个错误,使用DataTable编辑3 按照插入到对象数组中的统计值的顺序

我相信下面应该是类似于Edit1和Edit2示例的陈述,而不是所使用的内容


图表1.系列[0].点.AddXY(第[“状态”]、新对象[]行[“最小”]、第[“最大”]、第[“百分位25”]、第[“百分位75”]、第[“平均”]、第[“百分位50”]行)

谢谢这些代码!这是创建图表的静态方法。您知道如何根据从数据库中的表绑定值或从网格视图检索值来动态创建图表吗?您好,jstreet,我已经尝试了您的方法,将代码放在页面中,然后加载并删除来自aspx文件,但不起作用..Hi jstreet,想询问如何将DataPoint XValue更改为文本而不是数字吗?是的,您可以为
XValue
设置一个
字符串。请参阅更新的帖子。Hi jstreet,感谢您的代码。我想绑定包含许多行的datatable以动态创建方框图,I不知道如何将您显示的代码应用到我的上下文中。您能在这方面为我提供帮助吗?非常感谢!!
    <asp:Chart ID="Chart1" runat="server" Width="600px">
        <Series>
            <asp:Series Name="Series1" ChartType="BoxPlot" YValuesPerPoint="6">
                <Points>
                    <asp:DataPoint XValue="1" YValues="10,60,20,50,30,40" />
                    <asp:DataPoint XValue="2" YValues="40,90,50,80,60,70" />
                    <asp:DataPoint XValue="3" YValues="20,70,30,60,40,50" />
                </Points>
            </asp:Series>
        </Series>
        <ChartAreas>
            <asp:ChartArea Name="ChartArea1">
                <AxisY>
                    <MajorGrid LineColor="DarkGray" LineDashStyle="Dot" />
                    <MajorTickMark LineColor="DarkGray" LineDashStyle="Dot" />
                </AxisY>
                <AxisX>
                    <MajorGrid LineColor="DarkGray" LineDashStyle="Dot" />
                    <MajorTickMark LineColor="DarkGray" LineDashStyle="Dot" />
                </AxisX>
            </asp:ChartArea>
        </ChartAreas>
    </asp:Chart>
    protected void Page_Load(object sender, EventArgs e)
    {
        MyDataCollection data = new MyDataCollection();
        Chart1.Series[0].Points.DataBind(data, "XValue", "LowWhisker,UpWhisker,LowWBox,UpBox,Average,Median", null);
    }

public class MyDataCollection : List<MyData>
{
    public MyDataCollection()
    {
        Add(new MyData { XValue = 1, LowWhisker = 10, UpWhisker = 60, LowWBox = 20, UpBox = 50, Average = 30, Median = 40 });
        Add(new MyData { XValue = 2, LowWhisker = 40, UpWhisker = 90, LowWBox = 50, UpBox = 80, Average = 60, Median = 70 });
        Add(new MyData { XValue = 3, LowWhisker = 20, UpWhisker = 70, LowWBox = 30, UpBox = 60, Average = 40, Median = 50 });
    }
}

public class MyData
{
    public double XValue { get; set; }
    public double LowWhisker { get; set; }
    public double UpWhisker { get; set; }
    public double LowWBox { get; set; }
    public double UpBox { get; set; }
    public double Average { get; set; }
    public double Median { get; set; }
}
    protected void Page_Load(object sender, EventArgs e)
    {
        MyDataTable dt = new MyDataTable();

        foreach (DataRow row in dt.Rows)
            Chart1.Series[0].Points.AddXY(row["Status"], new object[] { row["Min"], row["Max"], row["Avg"], row["Percentile25"], row["Percentile50"], row["Percentile75"] });
    }

public class MyDataTable : DataTable
{
    public MyDataTable()
    {
        Columns.Add("Title", typeof(string));
        Columns.Add("Status", typeof(string));
        Columns.Add("Min", typeof(double));
        Columns.Add("Max", typeof(double));
        Columns.Add("Avg", typeof(double));
        Columns.Add("Percentile25", typeof(double));
        Columns.Add("Percentile50", typeof(double));
        Columns.Add("Percentile75", typeof(double));

        DataRow row = NewRow();
        row["Status"] = "Status 1";
        row["Min"] = 10;
        row["Max"] = 60;
        row["Avg"] = 20;
        row["Percentile25"] = 50;
        row["Percentile50"] = 30;
        row["Percentile75"] = 40;
        Rows.Add(row);

        row = NewRow();
        row["Status"] = "Status 2";
        row["Min"] = 40;
        row["Max"] = 90;
        row["Avg"] = 50;
        row["Percentile25"] = 80;
        row["Percentile50"] = 60;
        row["Percentile75"] = 70;
        Rows.Add(row);

        row = NewRow();
        row["Status"] = "Status 3";
        row["Min"] = 20;
        row["Max"] = 70;
        row["Avg"] = 30;
        row["Percentile25"] = 60;
        row["Percentile50"] = 40;
        row["Percentile75"] = 50;
        Rows.Add(row);
    }
}