折线图ASP.NET将X-AXIS移至负数系列之上

时间:2018-10-05 09:15:34

标签: c# asp.net

我有一个显示负值和正值的折线图。我正在使用asp.net,并使用SQL将数据绑定到图表。图表绘制良好,但是我试图找到一种方法将X轴移到y轴上的负值之上。我想让X轴位于图表的中间,其中负值显示在x轴下方,正值显示在x轴上方。

ASP.NET

         <asp:Chart ID="data" runat="server" border-width="2px" Width="1800px" Height="500px" ImageType="Png" CanResize="true" CssClass="table  table-bordered table-condensed table-responsive">
            <Titles>
                <asp:Title Text="Data Display" Font="Microsoft Sans Serif, 12pt" ForeColor="#007bff"></asp:Title>
            </Titles>
            <ChartAreas>
                <asp:ChartArea Name="datachartarea">
                    <AxisX Title="Date" Interval="1" IsMarginVisible="False" TitleFont="Microsoft Sans Serif, 10pt">            
                        <MajorGrid Enabled="false" LineColor="LightGray" />


                    </AxisX>
                    <AxisY Title="" Minimum="-15" Maximum="10" TitleFont="Microsoft Sans Serif, 10pt" Interval="5">
                        <MajorGrid Enabled="true" LineColor="LightGray" />
                    </AxisY>
                </asp:ChartArea>

            </ChartAreas>
        </asp:Chart>

C#:

    private void data()
{


    string connectionstring = ConfigurationManager.ConnectionStrings["CS"].ConnectionString;
    SqlConnection cn = new SqlConnection(connectionstring);
    SqlCommand cmd = new SqlCommand("[dbo].spData", cn);
    cmd.Parameters.AddWithValue("@IsChart", 1);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    cmd.CommandType = CommandType.StoredProcedure;

    DataTable dt = new DataTable();
    da.Fill(dt);

    //Get the DISTINCT Countries.
    List<string> status = (from p in dt.AsEnumerable()
                           select p.Field<string>("Status")).Distinct().ToList();


    //Loop through the Countries.
    foreach (string statuses in status)
    {

        //Get the Event Label
        string[] x = (from p in dt.AsEnumerable()
                      where p.Field<string>("Status") == statuses
                      select p.Field<string>("EventLabel")).ToArray();

        //Get the Total of Orders 
        int[] y = (from p in dt.AsEnumerable()
                   where p.Field<string>("Status") == statuses
                   select p.Field<int>("Total")).ToArray();

        //Add Series to the Chart.
        data.Series.Add(new Series(statuses));
        data.Series[statuses].IsValueShownAsLabel = false;
        data.Series[statuses].MarkerStyle = MarkerStyle.Circle;
        data.Series[statuses].BorderWidth = 2;
        data.Series[statuses].ChartType = SeriesChartType.Line;
        data.Series[statuses].Points.DataBindXY(x, y);
    }
}

图片:

下面的图像-我想将x轴(箭头所在的位置)移到突出显示的黄色部分所在的中间。这可能吗? enter image description here

0 个答案:

没有答案