Ciao a tutti,
mi sapete dire se esiste qualcosa per fare grafici a torta (in asp), possibilmente 3D e che sia gratuito anche se lo uso per lavoro.
Grazie a tutti
Ciao a tutti,
mi sapete dire se esiste qualcosa per fare grafici a torta (in asp), possibilmente 3D e che sia gratuito anche se lo uso per lavoro.
Grazie a tutti
Cerca delle applet java, ne puoi trovare molte in giro che fanno grafici di tutti i tipi.
Naturalmente l'unica cosa che dovrai fare tu è passare all'interno dei parametri dell'applet i tuoi in asp.
Ciao
Ok. Grazie. Provo a cercare. Ma come li passo i parametri all'applet?
Io vorrei la soluzione piu' semplice possibile, ho visto alcuni script in asp dove e' sufficiente registrare una dll, ma per uso commerciale costano troppo. Sul server non posso installare quasi nulla (quasi...)
è semplicissimo, con le applet
tu avrai da qualche parte (dipende dall'applet), un campo dove passi i valori del grafico tipo
pippo="10,20,40,50" qui fai un bel response.write dei valori tuoi
<code>
<%
'Creiamo l'oggetto
Set ChartObj = Server.CreateObject("OWC10.ChartSpace")
Set ChartConsts = ChartObj.Constants
set NewChart = ChartObj.Charts.Add
'Settiamo il tipo di grafico
NewChart.Type = 15
' ESECUZIONE QUERY SQL PER LE HITS
CNN=Application("CNN")
set conn=Server.CreateObject("ADODB.Connection")
conn.open CNN
set rs=server.createobject("ADODB.recordset")
execStr = "Select * from dati "
Set rs = conn.Execute (execStr)
if not rs.EOF and not rs.BOF then
'INIZIO CICLO
index = 0
ReDim ARR_HITS(-1)
ReDim ARR_GIORNI(-1)
Do while not RS.EOF
ReDim Preserve ARR_HITS(UBound(ARR_HITS) + 1)
ReDim Preserve ARR_GIORNI(UBound(ARR_GIORNI) + 1)
ARR_HITS(index) = rs("ip2")
ARR_GIORNI(index) = rs("id")
rs.MoveNext
index=index+1
Loop
'FINE CICLO
else
end if
RS.Close
Set RS = Nothing
'Passiamo i valori al grafico
Set Serie = NewChart.SeriesCollection.Add
Serie.SetData ChartConsts.chDimCategories, ChartConsts.chDataLiteral, ARR_GIORNI
Serie.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, ARR_HITS
'set up some additional properties
'add and format the chart title
NewChart.HasTitle = True
NewChart.Border.Color = "Red" ' colore del bordo della tabella
'NewChart.HasLegend = True ' visualizza o meno la legenda
'NewChart.SeriesCollection(0).Caption = "PROVE" ' testo della legenda
NewChart.Title.Caption = "Grafico riepilogo "
set objFont = NewChart.Title.Font
objFont.Name = "Tahoma"
objFont.Size = 10
objFont.Bold = True
'add and format a title to the category axis
set objAxis = NewChart.Axes(ChartConsts.chAxisPositionBottom)
objAxis.HasTitle = True
objAxis.Title.Caption = "Date"
set objFont = objAxis.Title.Font
objFont.Name = "Tahoma"
objFont.Size = 8
objFont.Bold = True
'add and format a title to the value axis
set objAxis = NewChart.Axes(ChartConsts.chAxisPositionLeft)
'objAxis.NumberFormat = "."
objAxis.HasTitle = True
objAxis.Title.Caption = "Hits"
set objFont = objAxis.Title.Font
objFont.Name = "Tahoma"
objFont.Size = 8
objFont.Bold = True
objFont.Color = "#FF0000"
'NewChart.SeriesCollection(0).Interior.Color = "red" ' per grafico istogramma
NewChart.SeriesCollection(0).Line.Color = "#5FD9F6" ' per grafico a linee
'Settiamo il path dell'immagine che verrà creata
ImagePath=server.mappath("images/ & _GENERALE_HIT.gif")
'Salviamo l'immagine
ChartObj.ExportPicture ImagePath,"gif", 600, 300
set oChart=nothing
response.write "[img]images/transp.gif[/img]"
%>
<script>
<%="document.getElementById('HIT').src='" & images & "_GENERALE_HIT.gif'"%>
caric.style.display = 'none';
</script>
</code>
<code>
<%
Dim Valori1(1)
Dim Valori2(1)
Dim Valori3(1)
Dim Valori4(1)
Dim Categorie(4)
Set cs = Server.CreateObject("OWC10.ChartSpace")
Set chConstants = cs.Constants
Set chart = cs.charts.add
chart.type = chConstants.chChartTypeRadarLineFilled
set serie1 = chart.seriesCollection.add
set serie2 = chart.seriesCollection.add
set serie3 = chart.seriesCollection.add
set serie4 = chart.seriesCollection.add
categorie(0) = "sono assolutamente d accordo"
categorie(1) = "sono abbastanza d accordo"
categorie(2) = "non sono del tutto d accordo"
categorie(3) = "non sono affatto d accordo"
valori1(1) =
valori2(1) =
valori3(1) =
valori4(1) =
serie1.SetData chConstants.chDimCategories, chConstants.chDataLiteral, categorie
serie1.SetData chConstants.chDimValues, chConstants.chDataLiteral, valori1
serie2.SetData chConstants.chDimValues, chConstants.chDataLiteral, valori2
serie3.SetData chConstants.chDimValues, chConstants.chDataLiteral, valori3
serie4.SetData chConstants.chDimValues, chConstants.chDataLiteral, valori4
cs.ExportPicture server.MapPath("images/prova1.gif"), "GIF", 300, 300
Set cs = Nothing
%>
[img]images/prova.gif[/img]
<%
'Creiamo l'oggetto
Set ChartObj = Server.CreateObject("OWC10.ChartSpace")
Set ChartConsts = ChartObj.Constants
set NewChart = ChartObj.Charts.Add
'Settiamo il tipo di grafico da 1 a 56...
NewChart.Type = 50
'Creiamo gli array che conterranno i dati da passare all'oggetto e necessari a creare il grafico
ReDim ARR_VISITE(4)
' ASSE Y
ARR_VISITE(0)=10.8
ARR_VISITE(1)=34.98
ARR_VISITE(2)=1004.3
ARR_VISITE(3)=5.9
' ASSE X
ReDim ARR_GIORNI(3)
ARR_GIORNI(0)="10/10/01"
ARR_GIORNI(1)="11/10/01"
ARR_GIORNI(2)="11/15/01"
'Passiamo i valori al grafico
Set Serie = NewChart.SeriesCollection.Add
Serie.SetData ChartConsts.chDimCategories, ChartConsts.chDataLiteral, ARR_GIORNI
Serie.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, ARR_VISITE
'Settiamo il path dell'immagine che verrà creata
ImagePath=serv ?????C??<%@ language="VBScript" %>
<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%
Dim Valori(5)
Dim Valori2(5)
Dim Categorie(5)
Set cs = Server.CreateObject("OWC10.ChartSpace")
Set chConstants = cs.Constants
Set chart = cs.charts.add
chart.type = chConstants.chChartTypeRadarLineFilled
set serie1 = chart.seriesCollection.add
set serie2 = chart.seriesCollection.add
categorie(0) = "PROVA1"
categorie(1) = "PROVA2"
categorie(2) = "PROVA3"
categorie(3) = "PROVA4"
cateer.mappath("images/report.gif")
'Salviamo l'immagine
ChartObj.ExportPicture ImagePath,"gif", 500, 200
set oChart=nothing
%>
[img]images/report.gif[/img]
</code>
<code>
<%
dim tot1
tot1 = 0
dim tot2
tot2 = 0
dim tot3
tot3 = 0
dim tot4
tot4 = 0
CNN=Application("CNN")
set conn=Server.CreateObject("ADODB.Connection")
conn.open CNN
set rs=server.createobject("ADODB.recordset")
'domanda d11
qry1="SELECT DISTINCT (d1) AS Espr1, Count(*) AS Espr2 FROM dati GROUP BY dati.d1"
rs.Open qry1,conn
if rs.eof then
response.write ("no datas")
else
'conn.execute(qry1)
while not rs.EOF
'response.write espr1
if rs.fields("espr1") = "1" then
tot1 = tot1 + rs.fields("espr2")
end if
if rs.fields("espr1") = "2" then
tot2 = tot2 + rs.fields("espr2")
end if
if rs.fields("espr1") = "3" then
tot3 = tot3 + rs.fields("espr2")
end if
if rs.fields("espr1") = "4" then
tot4 = tot4 + rs.fields("espr2")
end if
'response.write "
"& rs.fields("espr1") & ""
'response.write "
"& rs.fields("espr2") & ""
rs.MoveNext
wend
'response.write "1 : "& tot1& "
"
end if
rs.close
'fine domanda singola
'fine domanda singola
%>
<font color="#0000FF" face="Verdana, Arial, Helvetica, sans-serif">Totali per
affermazione :
<font color="#FF0000"> A)test</font></font>
<%
'scrittura dei dati
response.write "sono assolutamente d accordo : "& tot1 & "
"
response.write "sono abbastanza d accordo : "& tot2 & "
"
response.write "non sono del tutto d accordo : "& tot3 & "
"
response.write "non sono affatto d accordo : "& tot4 & "
"
set rs=nothing
conn.close
set conn=nothing
%>
<%
Dim Valori1
Dim Valori2
Dim Valori3
Dim Valori4
Dim Categorie(4)
Set cs = Server.CreateObject("OWC10.ChartSpace")
Set chConstants = cs.Constants
Set chart = cs.charts.add
'chart.type = chConstants.chChartTypeRadarLineFilled
chart.type = 47
'47
set serie1 = chart.seriesCollection.add
set serie2 = chart.seriesCollection.add
set serie3 = chart.seriesCollection.add
set serie4 = chart.seriesCollection.add
categorie(1) = "sono assolutamente d accordo"
categorie(2) = "sono abbastanza d accordo"
categorie(3) = "non sono del tutto d accordo"
categorie(4) = "non sono affatto d accordo"
valori1 = tot1
valori2 = tot2
valori3 = tot3
valori4 = tot4
serie1.SetData chConstants.chDimCategories, chConstants.chDataLiteral, categorie(1)
serie1.SetData chConstants.chDimValues, chConstants.chDataLiteral, valori1
serie2.SetData chConstants.chDimCategories, chConstants.chDataLiteral, categorie(2)
serie2.SetData chConstants.chDimValues, chConstants.chDataLiteral, valori2
serie3.SetData chConstants.chDimCategories, chConstants.chDataLiteral, categorie(3)
serie3.SetData chConstants.chDimValues, chConstants.chDataLiteral, valori3
serie4.SetData chConstants.chDimCategories, chConstants.chDataLiteral, categorie(4)
serie4.SetData chConstants.chDimValues, chConstants.chDataLiteral, valori4
cs.ExportPicture server.MapPath("images/prova1.gif"), "GIF", 400, 400
Set cs = Nothing
%>
[img]images/prova1.gif[/img]
</code>
un ultima e FONDAMENTALE
devi installare sul server
office web components
scaricabile gratis da microsoft
Grazie per il codice, ma il problema e' proprio quello (mi ero dimenticato di specificarlo nel post). Non ho gli OWC sul server e non me li lasciano installare (non so il motivo, ma niente da fare). Cercavo alternative semplici, posso presentare il report solo con i numeri senza grafici, solo sarebbe stato piu' carino da vedere... mi sa che rinuncio ai grafici.
Per l'applet java ho provato ieri sera ma non sono riuscito a farlo funzionare.