Grafico de Torta o Circular

09/02/2006 - 14:38 por César Ag | Informe spam
Estimados,

He tratado de hacer un simple grafico de torta que me grafique 2 columnas,
usuario y cantidad de documentos. El hecho es que he probado cuanto codigo
he encontrado y ninguno me funciona. Hay muchas paginas que muestran la
creación en ASP.NET, pero yo aún programo en ASP. ¿Saben de Algún lugar
donde encuentre información como crear este tipo de grafico, ya sea con el
OWC de Office 2000 o en realidad cualquier cosa?

PD: Adjunto Codigo del Ultimo Grafico que intente hacer y no me funciono.-
Solo sale en la pagina un cuadrado con una X en la parte superior, al igual
que cuando no se carga una pagina

<%@ LANGUAGE="VBSCRIPT"%>
<!--#include file="global/configbd.asp"-->
<head>
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta name="VBSForEventHandlers" content>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
</head>
<body>
<div align="center">
<object id="Chart1" style="TOP: 0px; valign:center;" width="90%" height="90%"
classid="clsid:0002E500-0000-0000-C000-000000000046"></object>
</div>
<%
R.Open "Select * From Tmp_Grafico", oConnFC,3,3

response.write "<script language=" & chr(34) & "VBScript" & chr(34) & ">"
& chr(10)
response.write "Dim AUX, AUX1" & chr(10)

AUX = ""
do while not r.EOF
AUX = AUX & r("Codigousuario") & chr(9)
r.MoveNext
loop
r.MoveFirst
AUX = left(AUX,len(AUX)-1)
response.write "Usuario = " & chr(34) & AUX & chr(34) & chr(10)
%>
Set c = Chart1.Constants
Chart1.Clear
Chart1.Charts.Add
Chart1.Charts.Item(0).PlotArea.Interior.Color = rgb(255,255,255)
Chart1.Charts.Item(0).Interior.Color = rgb(250,250,250)
Chart1.Charts.Item(0).Type = chChartTypeColumnClustered
Chart1.Charts.Item(0).HasLegend = true
Chart1.Charts.Item(0).Legend.Position = 2
<%
do while not r.EOF
AUX2 = AUX2 & r("NumeroDoc") & chr(9)
r.MoveNext
loop
r.MoveFirst
AUX2 = left(AUX2,len(AUX2)-1)
response.write "NumeroDocumentos = " & chr(34) & AUX2 & chr(34) & chr(10)
%>
Chart1.Charts.Item(0).SeriesCollection.Add
Chart1.Charts.Item(0).SeriesCollection.Item(0).Caption = "NumDoc"
Chart1.Charts.Item(0).SeriesCollection.Item(0).Interior.Color =
rgb(207,181,59)
Chart1.Charts.Item(0).SeriesCollection.Item(0).SetData c.chDimCategories,
c.chDataLiteral, catego
Chart1.Charts.Item(0).SeriesCollection.Item(0).SetData c.chDimValues,
c.chDataLiteral, vals
Chart1.Charts.Item(0).SeriesCollection.Item(0).DataLabelsCollection.Add
<%
r.Close
response.write "</script>"
%>
</body>
</html>



Gracias,
César
 

Leer las respuestas

#1 Ricardo
12/02/2006 - 18:32 | Informe spam
Hola César:

No se si olvidastes en este código poner los arreglos o asi es como lo
tienes.

Estas poniendo en AUX los que supongo son los valores que quieres
graficar, estos valores deben estar en un arreglo. tanto los valores
como tus categorias.

En vez de hacer esto:
do while not r.EOF
AUX2 = AUX2 & r("NumeroDoc") & chr(9)
r.MoveNext
loop
r.MoveFirst
AUX2 = left(AUX2,len(AUX2)-1)



yo haría algo parecido:

do while not r.EOF
AUX2 = AUX2 & r("NumeroDoc") & ","
r.MoveNext
loop
r.MoveFirst
AUX2 = left(AUX2,len(AUX2)-1)


vals = Split(AUX2,",")

y ahora si tendría en "vals" el arreglo de los valores a graficar.

para las categorias que manejas en "catego" pondría:

catego = split("Enero,Febrero,Marzo,etc",",")

y por último asegurate que la máquina cliente tenga Office 2000 o por lo
menos los componentes del OCW.

Espero te sirva.
Ricardo


César Ag wrote:
Estimados,

He tratado de hacer un simple grafico de torta que me grafique 2 columnas,
usuario y cantidad de documentos. El hecho es que he probado cuanto codigo
he encontrado y ninguno me funciona. Hay muchas paginas que muestran la
creación en ASP.NET, pero yo aún programo en ASP. ¿Saben de Algún lugar
donde encuentre información como crear este tipo de grafico, ya sea con el
OWC de Office 2000 o en realidad cualquier cosa?

PD: Adjunto Codigo del Ultimo Grafico que intente hacer y no me funciono.-
Solo sale en la pagina un cuadrado con una X en la parte superior, al igual
que cuando no se carga una pagina

<%@ LANGUAGE="VBSCRIPT"%>
<!--#include file="global/configbd.asp"-->
<head>
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta name="VBSForEventHandlers" content>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
</head>
<body>
<div align="center">
<object id="Chart1" style="TOP: 0px; valign:center;" width="90%" height="90%"
classid="clsid:0002E500-0000-0000-C000-000000000046"></object>
</div>
<%
R.Open "Select * From Tmp_Grafico", oConnFC,3,3

response.write "<script language=" & chr(34) & "VBScript" & chr(34) & ">"
& chr(10)
response.write "Dim AUX, AUX1" & chr(10)

AUX = ""
do while not r.EOF
AUX = AUX & r("Codigousuario") & chr(9)
r.MoveNext
loop
r.MoveFirst
AUX = left(AUX,len(AUX)-1)
response.write "Usuario = " & chr(34) & AUX & chr(34) & chr(10)
%>
Set c = Chart1.Constants
Chart1.Clear
Chart1.Charts.Add
Chart1.Charts.Item(0).PlotArea.Interior.Color = rgb(255,255,255)
Chart1.Charts.Item(0).Interior.Color = rgb(250,250,250)
Chart1.Charts.Item(0).Type = chChartTypeColumnClustered
Chart1.Charts.Item(0).HasLegend = true
Chart1.Charts.Item(0).Legend.Position = 2
<%
do while not r.EOF
AUX2 = AUX2 & r("NumeroDoc") & chr(9)
r.MoveNext
loop
r.MoveFirst
AUX2 = left(AUX2,len(AUX2)-1)
response.write "NumeroDocumentos = " & chr(34) & AUX2 & chr(34) & chr(10)
%>
Chart1.Charts.Item(0).SeriesCollection.Add
Chart1.Charts.Item(0).SeriesCollection.Item(0).Caption = "NumDoc"
Chart1.Charts.Item(0).SeriesCollection.Item(0).Interior.Color =
rgb(207,181,59)
Chart1.Charts.Item(0).SeriesCollection.Item(0).SetData c.chDimCategories,
c.chDataLiteral, catego
Chart1.Charts.Item(0).SeriesCollection.Item(0).SetData c.chDimValues,
c.chDataLiteral, vals
Chart1.Charts.Item(0).SeriesCollection.Item(0).DataLabelsCollection.Add
<%
r.Close
response.write "</script>"
%>
</body>
</html>



Gracias,
César

Preguntas similares