Ширина столбца диаграммы ASP.NET - PullRequest
0 голосов
/ 15 ноября 2011

У меня есть следующая динамическая диаграмма ASP.NET ниже.Как я делаю линии, идущие вниз по графику для каждой даты на оси X.В настоящее время по оси Y идут 3 линии: июль 2009 г., май 2010 г. и март 2011 г. Мне нужна линия для каждой даты, чтобы вы могли видеть каждую точку на линии, а также хочу отображать каждую дату, когда точка являетсяразмещены на графике.

Кроме того, кажется, что в начале и в конце графика есть отступы, а правой границы нет.Как мне избавиться от отступов и получить правильную границу на месте?

изображение диаграммы

Вот мой код:

Front End:

<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>

Back End

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);
}

Заранее благодарим за любую помощь.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011

Я добавил следующую строку кода, и теперь у меня есть линии сетки, которые я искал.

chtReport.ChartAreas["MainChartArea"].AxisX.Interval = 1;
0 голосов
/ 15 ноября 2011

Попробуйте style="padding:0" или используйте внешнюю таблицу стилей (CSS) для установки отступов 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...