Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Configuración tChart

Hola a tod@s.

Estoy haciendo un gráfico tonto con tChart y dos series comparativas. Tengo el problema de que los valores de las series a veces se solapan. ¿Hay forma de evitar esto?, ¿se puede pasar el valor de una de las series abajo por ejemplo?, ¿alguna idea?.

Ejemplo:



Gracias y un saludo
__________________
Be water my friend.
Responder Con Cita
  #2  
Antiguo 18-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola mi poliándrico amigo

A ver si te sirve de esta manera... (de todos modos sé que podrás mejorarlo )

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
  P : TPoint;
begin
  // Quitar líneas
  Series1.Marks.Arrow.Visible := False;
  Series2.Marks.Arrow.Visible := False;

  //Colores de marcas
  Series1.Marks.BackColor  := Chart1.Series[0].SeriesColor;
  Series1.Marks.Font.Color := clWhite;
  Series2.Marks.BackColor  := Chart1.Series[1].SeriesColor;
  Series2.Marks.Font.Color := clWhite;

  // Cargar algunos valores
  for i:= 1 to 10 do
  begin
    Series1.Add(i*100,IntToStr(i*100),clRed);
    Series2.Add(i*100,IntToStr(i*100),clGreen);
  end;

  // Situar marcas
  Chart1.Draw(Canvas,Series1.BarBounds);
  for i:= 0 to Series1.Count-1 do
  begin
    Series1.Marks.Positions.Position[i].Custom := True;
    P.X := Series2.Marks.Positions.Position[i].LeftTop.X;
    P.Y := Series2.Marks.Positions.Position[i].LeftTop.Y;
    P.X := P.X - Round(P.X * 0.12);
    P.Y := P.Y - Round(P.Y * 0.12);
    Series1.Marks.Positions.Position[i].LeftTop := P;
  end;
  Series1.Repaint;
end;
Con este efecto:



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 18-05-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Amigo ecfisa.

No sabía que se podían modificar las posiciones de las etiquetas esas, con esta idea ya lo retoco yo a mi gusto.

Mil gracias como siempre. Llégate a tu bar habitual y te tomas un mate a mi cuenta, dile al camarero que ya iré yo a pagarlo .
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 18-05-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Catchis amigo ecfisa, te voy a molestar de nuevo con este tema.

He implementado tu código al mío para tocar la posición de la etiquetas de la serie1 y resulta que me las pone todas en la parte superior izquierda de la ventana. Lo que me resulta extraño es que si consulto el valor de la posición de los valores

Código Delphi [-]
    P.X := Series2.Marks.Positions.Position[i].LeftTop.X;
    P.Y := Series2.Marks.Positions.Position[i].LeftTop.Y;

salen valores negativos y eso me despista un poco.

ahora mismo me sale así:

__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 19-05-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
newtron,

Cita:
Empezado por newtron
...implementado tu código...resulta que me las pone todas en la parte superior izquierda de la ventana...la posición...salen valores negativos...
Te comento:

1- El código del Msg #2 funciona correctamente en Delphi 7 y Delphi 2006 ambos con TeeChart Standard 4.04

2- El código del Msg #2 presenta valores negativos en las posiciones de las marcas en Delphi 2010 con TeeChart Standard 8.05 lo cual requiere:

Sustituir:
Código Delphi [-]
 Chart1.Draw(Canvas,Series1.BarBounds);
Por:
Código Delphi [-]
 Chart1.Draw;
Con este único cambio el código del Msg #2 funciona correctamente en Delphi 2010 como se evidencia en la siguiente imagen:



Pregunto : ¿Cual es tu versión de Delphi y TeeChart?, quizás te funcione con el cambio sugerido en el punto 2.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 19-05-2013 a las 00:23:41.
Responder Con Cita
  #6  
Antiguo 19-05-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Nelson,

Has dado en el clavo. Yo uso delphi 2007, he hecho el cambio que me comentas y funciona correctamente.

Gracias por tu aportación. (dejaremos que el amigo ecfisa se tome su mate tranquilamente ).

Saludos
__________________
Be water my friend.
Responder Con Cita
  #7  
Antiguo 19-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Por suerte vino Nelson a echar un poco de luz al asunto... por que al tener sólo Delphi 7 no hubiera podido dar una respuesta al problema.

Si intento compilar con:
Código Delphi [-]
  Chart1.Draw;
Obtengo un bonito "Not enough actual parameters". (muy bueno saberlo para cuando pueda saltar a otra versión... )

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 19-05-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
ecfisa,

Cita:
Empezado por ecfisa
...muy bueno saberlo para cuando pueda saltar a otra versión...
Delphi 7 es una de las mejores y más usadas versiones de Delphi en toda su historia y me pregunto lo siguiente: ¿Sería viable crear un foro donde se agrupen las diferencias encontradas al pasar de una versión a otra y que sirva como punto central de información cuando se presenten casos como el mencionado en el Msg #5?.

En general se sabe que al pasar de una versión a otra pueden encontrarse diferencias que obligan a hacer cambios, pero si estos ya estuvieran tipificados y agrupados seria más fluida la transición entre versiones, en particular de Delphi 7 dado que es una referencia en la Comunidad Delphi.

Personalmente me gustaría que Embarcadero incluyera una directiva o opción de compatibilidad con Delphi 7 (Por ser una referencia) lo cual permitiría migrar los proyectos de forma rápida a nuevas versiones y con el tiempo incluir las mejoras de las mismas.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 19-05-2013 a las 21:09:54.
Responder Con Cita
Respuesta



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
Salvar un TChart ber Gráficos 1 14-03-2013 17:42:24
TChart y BDE roman Gráficos 3 27-07-2012 21:34:10
Ayuda con TChart Punzo Gráficos 0 17-10-2007 02:49:27
Tchart marlulipe Gráficos 2 15-08-2007 01:32:04
Tutorial Tchart??? el toluca Varios 1 24-06-2004 04:27:11


La franja horaria es GMT +2. Ahora son las 00:14:28.


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