Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-08-2016
bellecaro bellecaro is offline
Registrado
NULL
 
Registrado: ago 2016
Posts: 3
Poder: 0
bellecaro Va por buen camino
Unhappy Graficar ejes con una lista de datos escrita en tabla

Hola a todos, soy nueva en esto de Delphi , ya leí la guía de estilo y me parece muy interesante.

Estoy tratando de realizar una gráfica de puntos con ejes cartesianos, existe una tabla stringGrid que se llena con los datos tomados en un laboratorio y esos datos deben ser graficados luego de completar la tabla. El problema que tengo es que cuando pulso el boton de graficar lee los datos y los grafica pero no logro ubicar los ejes "x" y "y" para que se vean. Ya llevo dos días buscando y no lo encuentro, lo que he tratado de hacer es lo siguiente:
Código Delphi [-]
procedure TrazarEjesYpuntos;
var
 i:integer;
 x1,y1:real;
 const
 r=2;
begin
 begin
   WITH form1.image1.Canvas DO
   begin
      Pen.Color:=0;
      MoveTo(H(minX),V(0));
      LineTo(H(maxX),V(0));
      MoveTo(H(0),V(minY));
      LineTo(H(0),V(maxX));
      for i:=1 to N do
      begin
        x1:=tabla[1,i];
        y1:=tabla[2,i];
        form1.image1.Canvas.Ellipse(H(x1)-r,V(y1)-r,H(x1)+r,V(y1)+r);
      end;
    end;
 end;


function H(x:real):integer;
 begin
   H:=round(H0+x*EscX);
 end;

function V(y:real):integer;
 begin
   V:=round(V0-y*EscY);
 end;

procedure DetectarExtremos;
var i:integer;
begin
  minX:=tabla[1,1];
  miny:=tabla[2,1];
  maxX:=tabla[1,1];
  maxY:=tabla[2,1];
  for i:=2 to N do
     begin
     if tabla[1,i]>maxX then maxX:=tabla[1,i];
     if tabla[1,i]then minX:=tabla[1,i];
     if tabla[2,i]>maxY then maxY:=tabla[2,i];
     if tabla[2,i]then minY:=tabla[2,i];
  end;
end;

procedure calcEscalas;
var
aux:real;
begin
   aux:=maxX-minX;
   maxX:=maxX+aux/10.0;
   minX:=minX-aux/10.0;
   EscX:=ancho/(maxX-minX);
   H0:=-minX*EscX;
   aux:=maxY-minY;
   maxY:=maxY+aux/10.0;
   minY:=minY-aux/10.0;
   EscY:=alto/(maxX-minY);
   V0:=alto+minY*EscY;
end;

con
Código Delphi [-]
  ancho:=form1.image1.width;
  alto:=form1.image1.height;
El ancho y alto por lo que veo es el tamaño que esta puesto en las propiedades de la imagen que son 353 y 472, por lo tanto si trato de dibujar los puntos (1,3),(2,2)y(3,1) no veo ejes, pero si dibujo los puntos (500,0); (300,200) y (0,200) si veo los ejes.

gracias por su ayuda

Última edición por ecfisa fecha: 25-08-2016 a las 23:46:57. Razón: Etiquetas [delphi] [/delphi]
Responder Con Cita
  #2  
Antiguo 25-08-2016
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.408
Poder: 22
fjcg02 Va camino a la fama
Hola,
Y en lugar de hacer el gráfico así a pelo, por qué no usas un tchart ?
Hace todo el trabajo sucio. Te llevará un par de horas aprender cómo funciona, pero cero que merecerá la pena.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #3  
Antiguo 26-08-2016
bellecaro bellecaro is offline
Registrado
NULL
 
Registrado: ago 2016
Posts: 3
Poder: 0
bellecaro Va por buen camino
Thumbs up

Cita:
Empezado por fjcg02 Ver Mensaje
Hola,
Y en lugar de hacer el gráfico así a pelo, por qué no usas un tchart ?
Hace todo el trabajo sucio. Te llevará un par de horas aprender cómo funciona, pero cero que merecerá la pena.

Saludos
Gracias, voy a ver de que se trata, no tengo ni idea, pero suena bien. Voy a buscar en el foro.
Responder Con Cita
  #4  
Antiguo 26-08-2016
bellecaro bellecaro is offline
Registrado
NULL
 
Registrado: ago 2016
Posts: 3
Poder: 0
bellecaro Va por buen camino
Hola "fjcg2", gracias por tu ayuda, es cierto un par de horas y mejoro mucho mi programa... Sigo leyendo y aprendiendo,

Gracias
Responder Con Cita
  #5  
Antiguo 26-08-2016
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.408
Poder: 22
fjcg02 Va camino a la fama
De nada, me alegro que te haya servido de ayuda.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Campo de tabla con lista de datos kornamenta Varios 8 14-11-2012 22:59:36
agrupar datos para graficar en torta dbchartt ingabraham Varios 2 28-07-2011 17:10:54
¿Está bien escrita la unit? ioco Varios 4 12-02-2010 17:01:04
Importar DLL escrita en Delphi 7 rcuevas .NET 1 20-01-2008 18:55:54
graficar datos de una tabla a un Tbchart maravert Gráficos 2 10-07-2006 02:22:55


La franja horaria es GMT +2. Ahora son las 09:04:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi