2011-11-14 54 views
0

我有下面的ASP.NET动态图表。我如何在x轴上为每个日期放置图表。目前有三条线沿y轴,2009年7月,2010年5月和2011年3月。我想为每个日期分配一条线,因此您可以看到线上的每个点,并且还希望显示每个点的日期放在图表上。ASP.NET图表列宽度

此外,似乎在图表的开始和结尾填充并且没有右边框。我如何摆脱填充并获得正确的边框?

chart image

这里是我的代码:

前端:

<asp:Chart ID="chtReport" runat="server" Width="650px" Height="400px" ImageType="Jpeg"> 
    <Series> 
     <asp:Series Name="TotalLine" YValueType="Double" ChartType="Line" ChartArea="MainChartArea" /> 
     <asp:Series Name="GoalLine" YValueType="Double" ChartType="Line" ChartArea="MainChartArea" /> 
     <asp:Series Name="AverageLine" YValueType="Double" ChartType="Line" ChartArea="MainChartArea" /> 
     <asp:Series Name="TotalPoint" YValueType="Double" ChartType="Point" ChartArea="MainChartArea" /> 
     <asp:Series Name="GoalPoint" YValueType="Double" ChartType="Point" ChartArea="MainChartArea" /> 
     <asp:Series Name="AveragePoint" YValueType="Double" ChartType="Point" ChartArea="MainChartArea" /> 
    </Series> 
    <ChartAreas> 
     <asp:ChartArea Name="MainChartArea"> 
     </asp:ChartArea> 
    </ChartAreas> 
</asp:Chart> 

后端

protected void Page_Load(object sender, EventArgs e) 
{ 
    for (DateTime date = startDate; date <= ChartDetails.EndDate; date = date.AddMonths(1)) 
    { 
     dates.Add(date.ToString()); 
    } 

    grdChart.DataSource = dates; 
    grdChart.DataBind(); 

    chtReport.ChartAreas["MainChartArea"].AxisY.Minimum = 0; 
    chtReport.ChartAreas["MainChartArea"].AxisY.Maximum = 100; 
    chtReport.ChartAreas["MainChartArea"].AxisX.Title = "Date Range"; 
    chtReport.ChartAreas["MainChartArea"].AxisY.Title = "Percent"; 
} 


protected void grdChart_ItemDataBound(object sender, DataGridItemEventArgs e) 
{ 
    // Extra Code above... 

    chtReport.Series["TotalLine"].Points.AddXY(rowDate.ToString("MMM yyyy"), total); 
    chtReport.Series["GoalLine"].Points.AddXY(rowDate.ToString("MMM yyyy"), total); 
    chtReport.Series["AverageLine"].Points.AddXY(rowDate.ToString("MMM yyyy"), total); 

    chtReport.Series["TotalPoint"].Points.AddY(total); 
    chtReport.Series["GoalPoint"].Points.AddXY(rowDate.ToString("MMM yyyy"), total); 
    chtReport.Series["AveragePoint"].Points.AddXY(rowDate.ToString("MMM yyyy"), total); 
} 

预先感谢任何帮助。

回答

0

我添加下面的代码行并我现在有网格线我一直在寻找。

chtReport.ChartAreas["MainChartArea"].AxisX.Interval = 1; 
0

尝试style="padding:0"或使用外部的样式表(CSS)来设置填充0

+0

我添加了一个没有运气的0填充样式。除了填充问题之外,我还想在图表上的每个日期上显示一条线,以便上升Y轴。 – PsychoDUCK