Avatar billede arno Nybegynder
04. oktober 2000 - 10:00 Der er 11 kommentarer og
2 løsninger

Graf...

Hej ...

Jeg er ikke helt sikker på at jeg er landet i det rigtige gruppe... men her kommer mit spørgsmål under alle omstændigheder..

Hvordan laver jeg en graf på min side, som er dynamisk alt efter hvilke data jeg henter frem.

At hente data ind er ingen problem, men at lave en anvendelig graf... ja... er vel nok 60 dask værd...
Avatar billede it-avisen.dk Nybegynder
04. oktober 2000 - 10:01 #1
lytter..
Avatar billede kasseper Nybegynder
04. oktober 2000 - 10:05 #2
jamen arno se mit spg. her :
Der kan du nok finde lidt....

http://www.eksperten.dk/spm/26295

Jeg havde bare nomineret det til 70 ;-)

Avatar billede arno Nybegynder
04. oktober 2000 - 10:19 #3
Hej...

Kasseper.... ender din historie lykkeligt ??

Det ser ud til at du har forsøgt meget, men er der noget du kan bruge til noget ??

Avatar billede kasseper Nybegynder
04. oktober 2000 - 10:25 #4
Ja så absolut, hvis det er iorden med en activeX, så er der helt klart noget at bruge til noget, desuden er der hvis man har penge (så kan man få) nogle programmer som er helt geniale til at lave alverdens grafer, lagkage, pindestat, kursgrafer og jeg skal komme efter dig....

Selv brugte jeg ActiveX som mulighed sådan at man ved et tryk på en knap kunne åbne et nyt vindue hvor man så blev promtet for at instl. objektet og bagefter vist grafen ( en slags kursgraf ).Og så brugte jeg en hjemmelaved pindestat. der var opbygget med en gif fil og 2 arrays. Så satte jeg højden på gifen fra array1 og værdien under søjlen fra array2, kørte det i en løkke med tabel tags rundt om, det ser meget fint ud.....

Kasseper
Avatar billede sth Novice
04. oktober 2000 - 13:38 #5
jeg har med held brugt denne, den kan vise de hentede data i procent.

<%@ LANGUAGE=\"VBSCRIPT\" %>
<% Option Explicit %>
<!--#include file=\"adovbs.inc\"--> <%
\'pixels x,y of bar graph

Const graphHeight = 300
Const graphWidth = 100
Const barImage = \"bar.gif\"


sub BarChart(data, labels, title, axislabel, tot)

    Response.Write(\"<TABLE CELLSPACING=0 CELLPADDING=1 bgcolor=#FFF7CE BORDER=0 WIDTH=\" & graphWidth & \">\" & chr(13))
    Response.Write(\"<TR><TH COLSPAN=\" & UBound(data) - LBound(data) + 2 & \">\")
    Response.Write(\"<FONT SIZE=+2>\" & title & \"</FONT></TH></TR>\" & chr(13))
    Response.Write(\"<TR><TD VALIGN=TOP ALIGN=RIGHT >\" & chr(13))


    Dim hi
    hi = data(LBound(data))

    Dim i
    for i = LBound(data) to UBound(data) - 1
        if data(i) > hi then hi = data(i)
        if hi = 0 then hi =1
    next

    Response.Write(\"</TD>\")

    Dim widthpercent
    widthpercent = CInt((1 / (UBound(data) - LBound(data) + 1)) * 100)

    For i = LBound(data) to UBound(data) - 1
        Response.Write(\" <TD VALIGN=BOTTOM ROWSPAN=2 background=q.jpg WIDTH=\" & widthpercent & \"% >\" & chr(13))
        Response.Write(CInt(data(i))& \"%\" &\"  <IMG SRC=\"\"\" & barImage & \"\"\" WIDTH=100% HEIGHT=\" & CInt(data(i)/hi * graphHeight) & \">\" & chr(13))
        Response.Write(\" </TD>\" & chr(13))
    Next
    Response.Write(\"<TD align=right width=50></TD>\")
    Response.Write(\"<TD align=right width=20>\")

for i = LBound(labels) to UBound(labels) - 1
    \'Response.Write(data(i)& \" \")
next
    Response.Write(\"</TD>\")
    Response.Write(\"<TD >\")
    for i = LBound(labels) to UBound(labels) - 1
        \'Response.Write(labels(i) & \"<br>\")
   
next
Response.Write(\"</TD>\")

    Response.Write(\"</TR>\")



    Response.Write(\"<TR><TD VALIGN=BOTTOM ALIGN=RIGHT></TD></TR>\")


    Response.Write(\"<TR><TD ALIGN=RIGHT  VALIGN=BOTTOM><font color=red>\" & axislabel & \"</font></TD>\" & chr(13))
   
for i = LBound(labels) to UBound(labels) - 1
        Response.Write(\"<TD VALIGN=BOTTOM ALIGN=CENTER>\" & labels(i) & \"</TD>\" & chr(13))

           

    next

    Response.Write(\"</TR>\" & chr(13))
Response.Write(\"</TD>\")

    Response.Write(\"</TR>\")


    Response.Write(\"<TR><TD VALIGN=BOTTOM ALIGN=RIGHT></TD></TR>\")
Response.Write(\"<TR><TD ALIGN=RIGHT  VALIGN=BOTTOM><font color=red>År</font></TD>\" & chr(13))

for i = LBound(aar) to UBound(aar) - 1

    Response.Write(\"<TD VALIGN=BOTTOM ALIGN=CENTER>\" & aar(i) & \"</TD>\" & chr(13))
next
    \'Response.Write(\"</TABLE>\")
end sub


\'Open connection DB
Dim objConnect
Dim cnpath
Dim strSQL
\'strSQL = \"SELECT uge,Procent_forsinket FROM lu_england\"
strSQL =\"SELECT * FROM export WHERE Sted=\"  & Request(\"Sted\") + \" \" + \"ORDER BY aar DESC,Uge DESC\"

Set objconnect = Server.CreateObject(\"ADODB.Connection\")
cnpath=\"DBQ=\" & server.mappath(\"database.mdb\")

objconnect.Open \"DRIVER={Microsoft Access Driver (*.mdb)};\" & cnpath


Dim rsProcent_forsinket
Set rsProcent_forsinket = Server.CreateObject(\"ADODB.Recordset\")
rsProcent_forsinket.Open strSQL, objConnect, adOpenStatic


Dim numRecords
numRecords = rsProcent_forsinket.RecordCount


Dim unitsArray(), labelArray(),england(),england_forsinket(),aar()
Redim unitsArray(numRecords)
Redim labelArray(numRecords)
Redim aar(numRecords)

dim tot
dim tots
Dim i
tot = 0
for i = 0 to numRecords-1
   
    Select Case rsProcent_forsinket(\"england\")
    Case 0
    unitsArray(i) = rsProcent_forsinket(\"england\")
   
    Case else
    unitsArray(i) = (1-(rsProcent_forsinket(\"england_forsinket\")/rsProcent_forsinket(\"england\")))*100
end Select
   
   
    labelArray(i) = rsProcent_forsinket(\"Uge\")
aar(i)= mid(rsProcent_forsinket(\"aar\"),3,2)
tots = unitsArray(i)   
rsProcent_forsinket.MoveNext
tot=tot+tots
next

%> <%
    rsProcent_forsinket.Close
    Set rsProcent_forsinket = Nothing
    objConnect.Close
    Set objConnect = Nothing
%> </p>

<table border=\"0\" cellspacing=\"0\" bgcolor=\"#FFF7CE\">
    <tr>
        <td><% BarChart unitsArray,labelArray,\"Leveringsevne\",\"Uge \", tot %></td>
    </tr>
    <html><head></head><body>
<p></p>

</head><body style=\"background-color: #FFF7CE\">


</table>
</body>
</html>
Avatar billede sth Novice
04. oktober 2000 - 13:40 #6
koden er nok lidt rodet, jeg har hentet det på nettet, og så ændret lidt idet, hvis du har meget brug for det kunne jeg evt prøve at finde koden på nettet igen
Avatar billede sth Novice
04. oktober 2000 - 13:43 #7
jeg kunne evt også maile dig kode og database hvis det kunne hjælpe dig, men så er 60 point nok lidt lidt
Avatar billede arno Nybegynder
04. oktober 2000 - 13:47 #8
Sth... Hvor meget er koden værd ?
Avatar billede sth Novice
04. oktober 2000 - 14:36 #9
tjaa det kommer sig ikke så nøje, men hvad med 100 point, eller hvis du mener at du har  hvis du har noger asp kode du mener andre kunne have glæde af kunne vi jo bare bytte

Jeg har selv brugt en masse tid på at finde noget asp der kunne hente data fra en database, så der er jo ingen grund til at du også skal det, men hvis du mener at 60 point der det det koster så er det vel også ok, men jeg får først tid til at sende dig noget i morgen eller evt sent i aften

sth
Avatar billede kasseper Nybegynder
04. oktober 2000 - 14:38 #10
bare interesse :
sth >> Hvad vil det sige at de hentede data vises i procent, er der grafik med ????

Kasseper
Avatar billede arno Nybegynder
04. oktober 2000 - 14:52 #11
STH og Kasseper...

Tak for jeres indput...

STH .. du må gerne sende mig noget når du får tid min mail er alk@pakketrans.dk

Jeg har sendt 100 point til jer hver... håber det virker - det med at tildele de point...

/arno



Avatar billede kasseper Nybegynder
04. oktober 2000 - 14:56 #12
Øhhh det gør det vist ikke hvis du altså har sendt 100 point til hver jeg har modtaget 30...
Avatar billede sth Novice
04. oktober 2000 - 15:14 #13
Det betyder at kurven bliver vist som procent af en mængde kunne være procent leveret til tiden af salgsordre - > viser altså ikke et tal der kunne være antal salgsordre
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
Kurser inden for grundlæggende programmering

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