PDA

Ver la Versión Completa : Necesito ayuda con Tchar


bogdanioanliviu
20-01-2011, 12:05:26
Hola

Nececito ayuda con Tchart .
Lo que quiero es que el y tenga valores fijos (a,b,c,d) y x valores tomados de un campo de una tabla .

No lo consigo hacer .
Por favor pasarme alguna ideea , documentacion , codigo , etc .

Gracias.

Neftali [Germán.Estévez]
20-01-2011, 13:38:16
Añade manualmente los valores a la serie.
Primero los 4 valores fijos y luego haz un recorrido por la tabla y añádelos de forma manual.


// Limpiar la serie // inicializar
dbchtPerfil.Series[0].Clear;

// puntos manuales
...

// Preparar el DataSet
FormData.cdsPoints.First;
while not (FormData.cdsPoints.Eof) do begin
// Dato
Str := FormData.cdsPointsele.AsString;
d := StrToFloat(Str);
// Añadir el punto
dbchtPerfil.Series[0].Add(d, '');
// siguiente
FormData.cdsPoints.Next;
end;


Donde pone "// puntos manuales" puedes añadir los puntos fijos en la forma en que se añaden los del DataSet.

bogdanioanliviu
20-01-2011, 13:46:31
Algo he entendido
Lo que no he entendido es como añadir manualmente los labels en la parte equierda del tchart.
a -|-
b--|---|
c--|---|-|
x y z

algo asi donde yo asigno a b c xyz a mano y como strings.

Neftali [Germán.Estévez]
20-01-2011, 16:48:30
Ahora no te he entendido. :confused::confused:
Antes hablabas de valores y ahora de Labels. ¿De qué se trata?

bogdanioanliviu
20-01-2011, 16:53:03
Ahora no te he entendido.
Antes hablabas de valores y ahora de Labels. ¿De qué se trata?

de los labels .
Lo que no soy capaz :( es de poner en el x unos labels string con valores que yo pongo y en el y otros labels con otros valores que yo pongo, a mano o por codigo .
despues de eso puedo construir el grafico .
El final de todo eso es construir un grafico dinamico , que coja parametros de unos combobox edit etc.
Pero no soy capaz de poner los labels de x y y de tipo string a mano .
Ya se que tengo que utilizar series. Pero los labels me matan , me rompo la cabeza con esto de 4 dias.
Gracias por la alluda.

Neftali [Germán.Estévez]
20-01-2011, 17:57:31
Para añadir los Labels a mano para una serie debes configurarlos como tipo texto y luego añadirlos a los labels de la serie:


// Con esto defines los label del EXE inferior como de tipo texto
dbchtPerfil.Axes.Bottom.LabelStyle := talText;
// Con esto añades 3 Labels al eje
dbchtPerfil.Series[0].Labels.Labels[0] := 'Hola';
dbchtPerfil.Series[0].Labels.Labels[j DIV 2] := 'pepito';
dbchtPerfil.Series[0].Labels.Labels[j - 1] := 'Juanito';


j es el valor de elementos de la serie, por lo tanto añades un Label al principio (j = 0) otro a mitad del eje (j DIV 2) y otro al final en el valor (j-1) qu es el último de la serie.

bogdanioanliviu
21-01-2011, 08:09:16
Para añadir los Labels a mano para una serie debes configurarlos como tipo texto y luego añadirlos a los labels de la serie:


// Con esto defines los label del EXE inferior como de tipo texto
dbchtPerfil.Axes.Bottom.LabelStyle := talText;
// Con esto añades 3 Labels al eje
dbchtPerfil.Series[0].Labels.Labels[0] := 'Hola';
dbchtPerfil.Series[0].Labels.Labels[j DIV 2] := 'pepito';
dbchtPerfil.Series[0].Labels.Labels[j - 1] := 'Juanito';


j es el valor de elementos de la serie, por lo tanto añades un Label al principio (j = 0) otro a mitad del eje (j DIV 2) y otro al final en el valor (j-1) qu es el último de la serie.
Bueno hasta aqui bien , no me esta poniendo los labels en el eje de abajo , pero yo los necesito en el de la esquerda.
Series[0].labels.labels[0].... esto yo no lo tengo
lo tengo asi :

dbchart1.Series[0].Clear;
dbchart1.Axes.Bottom.LabelStyle:= talText;
dbchart1.Series[0].xLabel[0]:='ceva';
dbchart1.Series[0].YValue[0]:=2;