Foros del Web » Programando para Internet » ASP Clásico »

Graficar con ASP ?

Estas en el tema de Graficar con ASP ? en el foro de ASP Clásico en Foros del Web. Resulta que saco unos valores de una db, y con eso tengo que graficar, como lo podria hacer? Hay algun componente que me genere una ...

  #1 (permalink)  
Antiguo 07/07/2004, 18:24
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 0
Busqueda Graficar con ASP ?

Resulta que saco unos valores de una db, y con eso tengo que graficar, como lo podria hacer?
Hay algun componente que me genere una imagen para que los clientes la puedan ver?

Gracias!
__________________
I'm Windows.
  #2 (permalink)  
Antiguo 07/07/2004, 20:03
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 7 meses
Puntos: 4
Claro que se puede. Puedes hacerlo con HTML, usando tablas, De forma más profesional yo uso owc.

En este ultimo caso tendrías que estar un poco acostumbrado con VBA, me refiero a los objetos de excel. Ejemplo:

Set pie = server.CreateObject("MSGraph.Chart")
Set ds = pie.Application.DataSheet
ds.Cells.Clear
pie.Width = 500
pie.Height = 500



ds.Cells(1, 2).Value = "TITI alain"
ds.Cells(2, 2).Value = "11,20"
ds.Cells(1, 3).Value = "vient gérard"
ds.Cells(2, 3).Value = "15"

ds.Cells(1, 4).Value = "TOTO FABRICE"
ds.Cells(2, 4).Value = "17"
ds.Cells(1, 5).Value = "EMILE CLAUDE"
ds.Cells(2, 5).Value = "19"
ds.Cells(1, 6).Value = "BERNARD BERNARD"
ds.Cells(2, 6).Value = "20"
ds.Cells(1, 7).Value = "TUTU ALAIN"
ds.Cells(2, 7).Value = "22"
pie.ChartType = 99
pie.HasLegend = true
pie.HasTitle = true
pie.ChartTitle.Text = "A test Chart"
pie.Legend.Font.Size = 50
pie.Legend.AutoScaleFont = false
pie.ApplyDataLabels
pie.SeriesCollection(1).DataLabels.AutoScaleFont = True
pie.SeriesCollection(1).DataLabels.Font.Size = 8
pie.ChartArea.Interior.ColorIndex = 2
pie.PlotArea.Width = 200
pie.PlotArea.Height = 200

tFile = Server.MapPath("pie.gif")

pie.Export tFile
%>
<img src="pie.gif">
  #3 (permalink)  
Antiguo 08/07/2004, 01:05
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Oye orharo2003, muy bueno eso, no lo conocía. Ahora es cuestión de cambiarlo un poquito (colores, textos y demás) e incluso darle valores con una base de datos. Por cierto, ¿cómo se pueden saber todos los valores de ChartType para cada tipo de gráfico? Resuelto: con el examinador de objetos de VBA.

Supongo que es necesario que esté instalado MS Excel o MS Graph en el servidor ¿no?

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!

Última edición por Bravenap; 08/07/2004 a las 01:37
  #4 (permalink)  
Antiguo 08/07/2004, 07:32
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 0
Estoy probando el ejemplo y me da este error:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A03EC)
Error desconocido en tiempo de ejecución
/sitios/index2.asp, line 38

y la linea 38 es: pie.Export tFile

A la carpeta le di permisos de escritura, pero sigue dando el error... :(
__________________
I'm Windows.
  #5 (permalink)  
Antiguo 08/07/2004, 07:41
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Puede que no sea eso, pero ¿te has acordado de abrir la etiqueta de ASP (<%)? A orharo2003 se le escapó.

A mí el ejemplo me funcionó sin cambiar absolutamente nada.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #6 (permalink)  
Antiguo 08/07/2004, 07:58
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 7 meses
Puntos: 4
Asi es, se me paso el <% ...
Algunos puntos que faltaron por mencionar:

El archivo pie.gif (o ponerle el nombre que sea) debera de existir, aunque no tenga nada, ya que se utilizará para escribir el resultado.

En cuanto a los tipos,(ChartType) mencionar que solo funcionan con constantes.
  #7 (permalink)  
Antiguo 08/07/2004, 08:11
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses
Puntos: 146
Yo grafico con applets, solo bajo alguno de los cientos que hay gratis o no (total, se decompilan y listo) y los modifico. Tambien son buena alternativa.

En cuanto este ejemplo, la linea "pie.Export tFile" me sigue dando error. Supongo por que tengo MSOffice 2003, ya que he gastado algo de tiempo (http://www.aspfr.com/code.aspx?ID=8657) y lo logro hechar a andar.

Última edición por Myakire; 08/07/2004 a las 08:23
  #8 (permalink)  
Antiguo 08/07/2004, 08:28
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
A mí se me creó pie.gif solo, sin que hiciera nada más.

En cuanto a lo de ChartType, ¿a qué te refieres con constantes? Probé, por ejemplo con ChartType = xlArea y no funcionaba, pero sí con ChartType = 1, que es lo mismo.

Por cierto, yo tengo el Office XP.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #9 (permalink)  
Antiguo 08/07/2004, 11:25
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 7 meses
Puntos: 4
A lo mismo que mencionas. Gracias por el tip del archivo, no sabía que se creaba solo, pues aqui en el libro que lei decía que se tenia que crear.

En fin..
  #10 (permalink)  
Antiguo 08/07/2004, 11:50
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 0
ya lo solucione, el error era que donde queria escribir el archivo no tenia permisos, asi que le puse un ../ en la ruta y listo...

saludos
__________________
I'm Windows.
  #11 (permalink)  
Antiguo 08/07/2004, 15:38
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 22 años
Puntos: 0
Muy Bueno este tema!
Lo estudiaré atentamente, por que esto me "abre un nuevo mundo de posibilidades".

Gracias por esa info, orharo2003!
__________________
Tu portal de manga y anime.
  #12 (permalink)  
Antiguo 09/07/2004, 03:49
 
Fecha de Ingreso: mayo-2004
Mensajes: 45
Antigüedad: 20 años, 6 meses
Puntos: 0
gráfico en la caché?

Hoñaaa!
Coincido con meru-kun, muy bueno orharo2003!!

Pero a propósito del tema... cómo hacer para que se refresque la gráfica si cambian los datos? Quiero decir, el archivo "pie.gif" sí se actualiza, evidentemente, pero como también está en la caché del sistema pues no se ve a menos que se pulse F5, por ejemplo. He probado con las cabeceras "no-cache" y "no-store" pero como si nada. Como se puede hacer para que el gráfico no quede almacenado en caché y cada vez que muestres el IMG que apunta al gráfico recién generado se muestre correctamente? En fin, no sé si me he explicado

Gracias

saludos = saludos + 1
__________________
Et lux in tenebris lucet...
s.f.wil
  #13 (permalink)  
Antiguo 09/07/2004, 09:30
Avatar de MartYn  
Fecha de Ingreso: junio-2004
Ubicación: MTY-Mexico
Mensajes: 49
Antigüedad: 20 años, 6 meses
Puntos: 0
Pues ami me da error muy rapido

me da error en la 2a linea Set pie = server.CreateObject("MSGraph.Chart")
:(
  #14 (permalink)  
Antiguo 09/07/2004, 17:37
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 0
wilby, para que se te actualicen automaticamente los datos, tendrias que ponerle un tag html del tipo refresh... abajo pego un ejemplo...
el numero 10 es cada cuantos segundo se refresca, y luego llama a la misma pagina donde se genera el grafico...

<META HTTP-EQUIV=Refresh CONTENT="10; URL=pagina.asp">


Martyn, el error que te da en la segunda linea puede ser porque no tienes instalado el Office 2000, y/o OWC (Office Web Components, creo que era)...

Ahora viene otra consulta, como puedo cargarle los parametros para graficas si los saco de una DB con SQL por ejemplo SELECT * FROM TABLA?

Saludos!
__________________
I'm Windows.

Última edición por Windows; 09/07/2004 a las 17:43
  #15 (permalink)  
Antiguo 11/07/2004, 11:40
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Pues supongo que símplemente cambiando los valores por los que obtienes de la tabla. Haces la consulta a la base de datos, guardas esos datos dentro de variables o directamente los metes en el gráfico:

ds.Cells(1, 2).Value = RS("Categoría")
ds.Cells(2, 2).Value = RS("Valor")
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #16 (permalink)  
Antiguo 11/07/2004, 12:05
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 0
Hola Bravenap, si lo hago de esa forma, tendria que ir llenando todas las celdas una por una no? moviendo el recordset, y con variable para Cells(a,b), seria asi ?

Saludos...
__________________
I'm Windows.
  #17 (permalink)  
Antiguo 11/07/2004, 12:14
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Sí, claro, supongo que esa es la única forma. Sabes cómo hacerla ¿no?
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #18 (permalink)  
Antiguo 11/07/2004, 13:47
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 0
si, ya estoy haciendo algunas pruebas...

ahora si yo quisiera que se pudiera seleccionar una zona determinada de la imagen y hacer un zoom ? se podria ?

gracias!
__________________
I'm Windows.
  #19 (permalink)  
Antiguo 11/07/2004, 13:57
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Ufff.... eso ya es harina de otro costal. Me parece que lo que a lo mejor quieres es quitar la leyenda ¿no? Aparece como un cuadro un poco feo a mi parecer.

Lo del zoom ya sería utilizando componentes ASP de otro tipo (problemas con el servidor) o bien mediante capas (clip) en XHTML y CSS, pero tendrías que cargar toda la imagen igualmente.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #20 (permalink)  
Antiguo 11/07/2004, 14:25
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 0
claro, si, una vez que obtengo la imagen, no se si se podra generar un maparea o algo por el estilo, para tener referencias y asi poder generar otra consulta con los datos para hacer un tipo zoom...

en cuanto a la leyenda si, seria interesante poder quitarla...
ahora no puedo probar bien el script porque me empezo a dar otra vez el error 0x800A03EC, justo en la linea donde hace el export, no se si sera por los permisos (aunque ya los revise a todos) o porque ahora estoy usando una version de office 97 y antes era 2000, no se si tendran el mismo componente...

saludos!
__________________
I'm Windows.
  #21 (permalink)  
Antiguo 13/07/2004, 13:51
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 0
Saben como le puedo cambiar la escala de los ejes X e Y ?

Gracias!
__________________
I'm Windows.
  #22 (permalink)  
Antiguo 13/07/2004, 14:11
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
supongo que podrías hacerlo cambiando el tipo de gráfico. Prueba con:

pie.ChartType = 102
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #23 (permalink)  
Antiguo 13/07/2004, 21:05
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 11 meses
Puntos: 4
hola, alguien tiene una tabla de valores con el numero de todas los tipos de grafica, por ejemplo el numero para graficas circulares, el numero para barras, etc?
gracias
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #24 (permalink)  
Antiguo 13/07/2004, 23:05
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 7 meses
Puntos: 4
Puedes checarlo desde la propiedades del gráfico por ejemplo en excel.
Más fácil no puedes ser !!!
  #25 (permalink)  
Antiguo 14/07/2004, 04:55
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Como ya había indicado antes, no es exactamente una tabla con los valores pero puedes encontrarlo en el examinador de objetos de VBA.

Vas a Excel, pulsas Alt+F11 y se abre el editor de Visual Basic. Una vez allí pulsas F2 (examinador de objetos) y buscas XlChartType.

Esta clase contiene una serie de miembros que son precisamente todos los tipos de gráficos que se soportan. Pulsando sobre cada uno de ellos aparece en la descripición algo así:

Const xlConeBarClustered = 102 (&H66)
Miembro de Excel.XlChartType

El número en negrita te indica lo que tienes que poner en el código ASP:

pie.ChartType = 102 'Conos

pie.ChartType = 70 'Supongo que el gráfico de tarta

etc.

Un saludo.

PD: si alguien se lo curra que ponga la lista completa de tipos de gráficos, je je.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #26 (permalink)  
Antiguo 14/07/2004, 06:20
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 0
excelente dato! ;)
yo sigo sin poder cambiar la escala... porque lo que quiero es darle un rango en el eje Y, para que me grafique, no necesito cambiar el tipo de grafico...
se podra para el charttype 4 ?
__________________
I'm Windows.
  #27 (permalink)  
Antiguo 14/07/2004, 06:31
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Lo único que te puedo decir es que intentes hacer todos esos cambios que quieres en Excel mientras grabas una Macro con VBA. Luego, mirando el código generado puede que obtengas pistas de cómo hacerlo. A mí esto me ha resultado bastante útil en muchas ocasiones, aunque no para lo mismo, claro.

Un saludo y suerte.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #28 (permalink)  
Antiguo 14/07/2004, 11:48
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 10 meses
Puntos: 1
Segui todos los pasosy me marca el siguiente error a ver si alguien me puede ayuda

Error de Microsoft VBScript en tiempo de ejecución (0x800A03EC)
Error desconocido en tiempo de ejecución
/goya/grafica.asp, line 38

siguiendo el mismo codigo
  #29 (permalink)  
Antiguo 14/07/2004, 11:59
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 10 meses
Puntos: 1
Me produce el error en la linea 38, si comienza con <% y si tengo permisos de escritura ademas de que si existe el archivo gif, que podra estar pasando
  #30 (permalink)  
Antiguo 14/07/2004, 12:21
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 0
que version de office tenes instalada?
__________________
I'm Windows.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 20:24.