Как нарисовать линейный график с несколькими рядами в asp.net.
Привет Эксперты,
Я должен создать линейный график для 3 записей. Эти 3 записи будут показаны 3 отдельными сериями в линейном графике. Я должен показывать записи еженедельно в течение всего года.
Что я уже пробовал:
Ниже приведен код, который я пробовал.
В Дизайне
<pre> <asp:Chart ID="Chart1" runat="server" Width="1059px"> <Series> <asp:Series Name="Series1" ChartType="Line" LegendText="Sap"></asp:Series> </Series> <Series> <asp:Series Name="Series2" ChartType="Line" LegendText="Raildocs"></asp:Series> </Series> <Series> <asp:Series Name="Series3" ChartType="Line" LegendText="RIC"></asp:Series> </Series> <ChartAreas> <asp:ChartArea Name="ChartArea1"></asp:ChartArea> </ChartAreas> </asp:Chart>
В коде позади.
Я вызываю следующий метод для предоставления данных на диаграмму.
<pre> public void ProDocs() { using (ProDocsEntities objcontext = new ProDocsEntities()) { DateTime startDate = new DateTime(DateTime.Today.Year, 1, 1); for (int i = 1; i <= 53; i++) { //DateTime startDate = new DateTime(); // DateTime endDate = new DateTime(); DateTime endDate = startDate.AddDays(7 - (int)(startDate.DayOfWeek)); var SapData = (from a in objcontext.FileProgresses join pg in objcontext.V01_PG on a.ProDocsId equals (int?)pg.ID into pgs from g in pgs.DefaultIfEmpty() join pr in objcontext.V01_PR on g.ID equals pr.PAGE into prs from p in prs.DefaultIfEmpty() where a.FullPath.Contains("2014KR0055") && (a.Received >= startDate && a.Received <= endDate) && (a.AvailableInProDocs != null) select new { a.Id, a.Downloaded, a.Unsupported, a.ProcessByAbbyy, a.AvailableInProDocs, a.AvailableInDocs2Go, a.LocDocMapping }).ToList(); int SapCount = SapData.Count(); var RaildocsData = (from a in objcontext.FileProgresses join pg in objcontext.V01_PG on a.ProDocsId equals (int?)pg.ID into pgs from g in pgs.DefaultIfEmpty() join pr in objcontext.V01_PR on g.ID equals pr.PAGE into prs from p in prs.DefaultIfEmpty() where a.FullPath.Contains("2014KR0062") && (a.Received >= startDate && a.Received <= endDate) && (a.AvailableInProDocs != null) select new { a.Id, a.Downloaded, a.Unsupported, a.ProcessByAbbyy, a.AvailableInProDocs, a.AvailableInDocs2Go, a.LocDocMapping }).ToList(); int raildocCount = RaildocsData.Count(); var RicData = (from a in objcontext.FileProgresses join pg in objcontext.V01_PG on a.ProDocsId equals (int?)pg.ID into pgs from g in pgs.DefaultIfEmpty() join pr in objcontext.V01_PR on g.ID equals pr.PAGE into prs from p in prs.DefaultIfEmpty() where a.FullPath.Contains("2015KR0050") && (a.Received >= startDate && a.Received <= endDate) && (a.AvailableInProDocs != null) select new { a.Id, a.Downloaded, a.Unsupported, a.ProcessByAbbyy, a.AvailableInProDocs, a.AvailableInDocs2Go, a.LocDocMapping }).ToList(); int RicCount = RicData.Count(); Series series1 = Chart1.Series["Series1"]; series1.Points.AddY( SapCount); series1.Points.AddY( raildocCount); series1.Points.AddY( RicCount); Series series2 = Chart1.Series["Series2"]; series2.Points.AddY(SapCount); series2.Points.AddY(raildocCount); series2.Points.AddY(RicCount); Series series3 = Chart1.Series["Series3"]; series3.Points.AddY(SapCount); series3.Points.AddY(raildocCount); series3.Points.AddY(RicCount); startDate = endDate; } } }
Любая помощь будет оценена по достоинству.
заранее спасибо.