我有一个显示负值和正值的折线图。我正在使用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);
}
}
图片: