Avatar billede bigbird Nybegynder
02. januar 2007 - 11:14 Der er 4 kommentarer og
1 løsning

Vise / lave grafer udfra statistisk data. Evt crystal report

Hejsa

Jeg skal have præsenteret noget data grafisk, således at det er nemmere at se en udvikling over tid...

Men mangler lidt hints, guides og andet til det :)

Her er et uddrag af den data...

01-11-2006 00:02:11    1439
01-11-2006 00:07:12    1436
01-11-2006 00:12:14    1441
01-11-2006 00:17:16    1437
01-11-2006 00:22:18    1435
01-11-2006 00:27:20    1428
01-11-2006 00:32:21    1432
01-11-2006 00:37:23    1430
01-11-2006 00:42:25    1428
01-11-2006 00:47:27    1428
01-11-2006 00:52:28    1425
01-11-2006 00:57:30    1427
01-11-2006 01:02:32    1431
01-11-2006 01:07:33    1431
01-11-2006 01:12:35    1377
01-11-2006 01:17:37    1428
01-11-2006 01:22:39    1428

Lige nu er der ikke det store spring, da det er fra om natten, men stadigvæk.. Hvordan får jeg fremvist dette som en graf ?

Benytter Visual Studio 2005, og koder i C#

Det er dataudtræk hver 5 minut, og planen er at grafen skal vise fra den 1. i måneden til den sidste i måneden. Så det er ca 8640 datapunkter.. Hvis dette er meget, så kan jeg blot vælge at udtrække hvert 12. datapunkt, da det så er en gang i timen, også er jeg nede på 720 punkter..
Avatar billede bigbird Nybegynder
02. januar 2007 - 11:14 #1
Det skal lige sige at dataen ligger på en SQL 2005 Express server...
Avatar billede thrytter Nybegynder
02. januar 2007 - 22:08 #2
Grafik kan generes dynamisk ved brug af .NET's indbyggede funktioner.

Hvis du indsætter et billede på siden kan du sætte src'en til en .aspx side som genererer billededata dynamisk.

Eks: <asp:Image ID="SomeImage" Runat="server" ImageUrl="graphicGenerator.aspx"></asp:Image>

graphicGenerator.aspx.cs kunne se ud som:

using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;

...
...
...

private void Page_Load(object sender, System.EventArgs e)
{
  Bitmap oBitmap = new Bitmap(600, 100, PixelFormat.Format16bppRgb555);

  System.Drawing.Rectangle oRectangle = new Rectangle(0, 0, 600 - 1, 100 - 1);
  RectangleF oRectangleTxt = new RectangleF();
  StringFormat oStringFormat = new StringFormat();
           
  Graphics oGraphic = Graphics.FromImage(oBitmap);

  oGraphic.Clear(Color.White);

  oGraphic.DrawRectangle(new System.Drawing.Pen(Color.LightGray, 1), oRectangle);

  oRectangleTxt = new RectangleF(oRectangle.Left, oRectangle.Top, oRectangle.Width, oRectangle.Height);

  oStringFormat = new StringFormat();
  oStringFormat.Alignment = System.Drawing.StringAlignment.Center;
  oStringFormat.LineAlignment = System.Drawing.StringAlignment.Center;

  oGraphic.DrawString("DETTE ER EN TEST !", new Font("Verdana", 12, FontStyle.Bold), Brushes.Black, oRectangleTxt, oStringFormat);

  oBitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
  oBitmap.Dispose();
}

Håber det kunne være lidt inspiration til noget mere avanceret.
Avatar billede bigbird Nybegynder
02. januar 2007 - 22:39 #3
Kan ikke lige se, hvordan at jeg skulle kunne indsætte noget data som graf... Eller er det mig der overser noget ?
Avatar billede thrytter Nybegynder
02. januar 2007 - 22:48 #4
Nu skulle eksemplet kun virke som inspiration!

Løsningen ligger i Graphics og de tilhørende funktioner - og især funktionen DrawLine.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawinggraphicsmemberstopic.asp

En graf er kun punkter som forbindes med linier.

Har desværre ikke lige tid til et færdigt eksempel.
Avatar billede bigbird Nybegynder
29. april 2007 - 21:20 #5
lukket, uden løsning desværre
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester