Ir al contenido


Foto

Graficar Base de Datos de MySQL con TChart


  • Por favor identifícate para responder
2 respuestas en este tema

#1 jhonson01

jhonson01

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 22 julio 2013 - 03:07

Hola buenas tardes.... Tengo un problema respecto a la realización de una grafica a partir de una tabla de MySQL...

Mi problema es el siguiente: Necesito graficar los cambios de temperatura que se sensan y se almacenan en una base de datos, estos datos se muestrean cada 1 seg, es decir, cada segundo me esta guardando un nuevo registro en una tabla de mi base de datos, he estado probando el componente TDBChartSource y me grafica solo los primeros 10 datos no se porque...  :(

Despues intente utilizando un DBGrid para que me mostrara los datos a graficar y sucede algo extraño, si el tamaño del grid es muy pequeño solo me grafica los primeros 10 datos, si lo agrando un poco mas el grid de tal forma que se vean mas de 10 filas, me grafica solo 20 y asi sucesivamente... yo lo implemento de la siguiente forma:


procedure TForm1.Timer3Timer(Sender: TObject);
begin
 
  SQLQuery1.Refresh;

  Chart3.Extent.UseXMax := True;
  Chart3.Extent.UseXMin := True;
  Chart3.Extent.XMax := 100;
  Chart3.Extent.XMin := 1;
  end;         

Cuando arrastro el scrollbar hasta abajo si me grafica todos los datos porque selecciona o apunta a la ultima fila ... pero el refresh hace que vuelva y apunte a la primera fila.... HABRA ALGUNA FORMA QUE DESPUES QUE REFRESQUE EL APUNTE A LA ULTIMA FILA?... o habra una forma de que grafique sin utilizar el DBGrid??... Agradezco mucho al que me colabore, pues estoy estancado solo por eso en mi tesis.... GRACIAS!

PS: Me pueden explicar de paso como subir imagenes... para poder mostrar mejor mi problema.. gracias.
  • 0

#2 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 23 julio 2013 - 08:23

Saludos amigo,

Realmente no creo que sea necesario usar el grid para graficar, se supone que tomando los datos directamente del dataset podrías generar tu gráfica.

¿Podrías compartirnos un poco más de código para darnos idea de tu problema?

para adjuntar archivos, debajo de la captura de comentarios hay un botón que dice adjuntar. Allí puedes subir archivos.


Saludos
  • 0

#3 jhonson01

jhonson01

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 23 julio 2013 - 11:25

Gracias poliburro.. ya resolvi ese detalle... ahora mi problema es que no puedo configurar la grafica de modo que el eje X me quede como tipo HH:MM:SS, eso debido a que los datos deben graficarse con la hora especifica

Los datos que se almacenan en la base de datos están en una tabla con dos columnas, una con el nivel de temperatura y otra con la hora que se tomó ese dato, en la columna de hora el formato es "HH:MM:SS".

He intentado de la siguiente manera:



delphi
  1. Chart3.BottomAxis.Marks.Source:=DateTimeIntervalChartSource1;
  2.   Chart3.BottomAxis.Marks.Style:=smsLabel;
  3.   DateTimeIntervalChartSource1.DateTimeFormat:='hh:mm:ss'+#13#10+'DD.MM.';



Pero cuando ejecuto, me aparecen solo 00:00:00 en todo el eje... Como podria hacer graficar eso?

  • 0




IP.Board spam blocked by CleanTalk.