Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   halloda con el zoom de tchart (https://www.clubdelphi.com/foros/showthread.php?t=72331)

efirvida 10-02-2011 22:59:27

HELP! con el zoom de tchart
 
estoy haciendo una app en la que necesito darle zoom a un grafico de lineas solo en el sentido de las x, y despues poder desplasarme por el, ya se como hacer el grafico con tchart el problema es que cuando doy zoom me da zoom los dos ejes y eso no me sirve ¿Alguna ayuda?
un ejemplo parecido a lo que quiero es el sound forge o cualquier programa de esos que dan graficos de frecuencia y esas cosas, asi quiero que luzca, mas o menos
AHH! uso Delphi 2010

Ñuño Martínez 11-02-2011 11:10:49

Creo que confundes la ampliación (zoom) con la escala. Prueba a cambiar la escala del eje X sin modificar la ampliación.

Para desplazar, quizá mejor que metas el TChart en un TScrollBox. Así le puedes poner el tamaño que quieras al diagrama mientras dejas que TScrollBox se encargue de lo demás.

efirvida 14-02-2011 03:20:01

Cita:

Empezado por Ñuño Martínez (Mensaje 390671)
Creo que confundes la ampliación (zoom) con la escala. Prueba a cambiar la escala del eje X sin modificar la ampliación.

Para desplazar, quizá mejor que metas el TChart en un TScrollBox. Así le puedes poner el tamaño que quieras al diagrama mientras dejas que TScrollBox se encargue de lo demás.

por favor, no me podrias poner algo de codigo que la verdad que no encuentro como hacer eso, y no tengo la ayuda del delphi

Ñuño Martínez 16-02-2011 10:15:42

No hay código. Pones un TScrollBox con la alineación que desees y activando las barras de desplazamiento, y dentro de este pones el TChart asignándole el tamaño que quieras aun cuando este "se salga" del TScrollBox.

rounin 16-02-2011 15:17:34

Aproximadamente asi:

Código Delphi [-]
 
const
  MyMinimum = 0;
  MyMaximum = 1000;
 
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
begin
  Chart1.AllowPanning := pmHorizontal; 
 
  Chart1.LeftAxis.AutomaticMaximum := False;
  Chart1.LeftAxis.AutomaticMinimum := False; 
 
  Chart1.OnZoom := Chart1Zoom;
 
  //Chart1.OnUndoZoom := Chart1UndoZoom;

  Chart1.LeftAxis.Minimum := MyMinimum;
  Chart1.LeftAxis.Maximum := MyMaximum;
end;
 
procedure TForm1.Chart1Zoom(Sender: TObject);
begin
  (Sender as TChart).LeftAxis.Minimum := MyMinimum;
  (Sender as TChart).LeftAxis.Maximum := MyMaximum;
end;

efirvida 17-02-2011 02:59:01

muchas gracias me ha servido de mucho! :)


La franja horaria es GMT +2. Ahora son las 13:45:48.

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