PDA

Ver la Versión Completa : DBChart, Cambio de Tipo de Grafica


albertmac
09-03-2007, 17:21:02
Alguien me podria ayudar, necesito cambiar por codigo el tipo de la grafica, por ejemplo: cambiarla de grafica de barras a grafica circular, de circular a de area, etc...

Gracias de antemano por su apoyo...

ContraVeneno
09-03-2007, 18:20:22
Var MySeries:TChartSeries;
MySeries:=Series1;
ChangeSeriesType( MySeries, TBarSeries );

albertmac
09-03-2007, 19:03:32
Gracias por todo, ContraVeneno (http://www.clubdelphi.com/foros/member.php?u=6064), creelo que me fue de mucha utilidad tu ayuda.

Aprovechando la ocasion, como le puedo hacer por codigo (que propiedad del DBChart) que aparezca la vista preliminar de la grafica para impresion, tal y como aparece al dar click derecho sobre la grafica en la opcion: Print Preview..., no logro encontrarla, o bien, no se si realmente se pueda mostrar por codigo.

vbmenu_register("postmenu_187735", true);

ContraVeneno
09-03-2007, 19:11:29
//Vista Previa
Uses TeePrevi;
....
ChartPreview(Self,Chart1 );
....

//Cuadro de Diálogo
Uses EditChar;
...
EditChart(Self,Chart1 );

albertmac
09-03-2007, 19:27:29
Gracias de nueva cuenta...

Una pregunta mas, cual es la funcion de la opcion de cuadro de Diálogo, primero que nada no se para que es y segunda intente utilizarla y no me funciono, me dice que el archivo EditChar no es encontrado.

Si hay algo en que te pueda ayudar, estoy a tus ordenes...

ContraVeneno
09-03-2007, 19:30:47
Si, a mi tampoco me funcionó, me parece raro porque así es como viene en el archivo de ayuda. En fin, se supone que debe mostrar el cuadro de diálogo donde configuras la gráfica.

albertmac
10-03-2007, 01:46:27
Estas por ahí Contraveneno???

Ahora pido de nuevo ayuda, espero no ser una molestia.

Lo que pasa es que cuando le agregas varias SERIES a una grafica, ya ves que a cada serie debes de pintarla de un solo color (Modificable en el checkbox: COLOR EACH de la pestala: FORMAT de cada serie) para ver mejor lo que representan, de casualidad no sabes como se realiza esa parte por medio de código.

Hasta luego...

ContraVeneno
10-03-2007, 01:51:49
Series1.SeriesColor:=clRed;
....

Mas bien es esto:
Series1.ColorEachPoint := True ;

albertmac
10-03-2007, 02:16:31
Que tal,

Ahora mi pregunta es ¿Puedo darle formato a una grafica DBChart como la que se muestra en el archivo adjunto?, por lo que leí si es el mismo componente pero no se si se le tiene que cambiar alguna propiedad en especifico para que tome esa forma. Si se fijan tiene varias SERIES, pero muestra cada una de ellas con una profundidad distinta.

Saben algo al respecto...

ContraVeneno
10-03-2007, 02:25:56
A caray, no pues ahí si ya esta más complejo. Nunca he llegado a tanto con una gráfica de barras. Tengo mis dudas de que sea el mismo componente, pero pues sería cuestión de que le movieras y jugaras un poco con la gráfica para ver si es posible.

Lo que veo más complicado es como hacer para que las series se colocen en la misma posición a diferente profundidad.

albertmac
10-03-2007, 02:35:08
Creo que si se puede Contraveveno, te mando una URL donde vi que realmente si es este componente, pero no le entendi nada ya que esta en un idioma desconocido para mi, ahi mismo esta un link para bajar un archivo ZIP (Creo que es con el fuente del proyecto) pero tengo que estar registrado para poderlo descargar, trate de hacerlo pero no pude debido igualmente al idioma.

Si tu puede seria bueno que lo checaras, esta muy buena la vista, no crees?

URL:
http://www.softwareonline.hu/art1132/tdbchart+komponens.html

ContraVeneno
10-03-2007, 02:35:34
En el cuadro de diálogo de la configuración de la gráfica, en la pestaña de series, la pestaña Format, en la propiedad "multiple bar", prueba poner el valor "none". Por default tiene "Side".

O por código:

Series1.MultiBar:=mbNone;

albertmac
10-03-2007, 02:48:25
Que barbaro contraveneno, ya lo probe y efectivamente esa es la propiedad a cambiar para adquirir ese formato, se ve muy bien y tambien con la opcion STACKED (acumulado de series), pero ahora la pregunta es como le hare para cambiar esa propiedad de la series pero por codigo, realemente llevo mucho rato buscando y nada, por lo visto tu llevas mucho tiempo usando este componente, sabes como hacerlo???

ContraVeneno
10-03-2007, 02:52:47
Sabía que preguntarías eso y por eso edite mi mensaje anterior :D

En fin, no es que lo haya usado mucho tiempo, es simplemente que hay que saber donde buscar. El explorardor de objetos tiene todas esas propiedades disponibles.

O tambien puedes presionar F1 y encontrarás varios ejemplos.

;)

Fabricio
13-03-2007, 21:41:44
Hola, Quizas me puedan ayudar

Estoy usando un DBChart para graficos de una tabla, sin problemas para 'todos los registros de la tabla'

Necesito que este DBChar me grafique solo los 'Datos Filtrados' o de un determinado rango despues de aplicar un filtro.

Alguien sabe como hacerlo ??, gracias

Fabricio
13-03-2007, 23:05:25
Probe con un DBGRid asociado a la misma tabla, el DBGrid esta mostrando los datos filtrados, el DBChart no !!!,

Que podra ser ??, alguna definicion errada de la serie ??

egostar
13-03-2007, 23:07:49
Probe con un DBGRid asociado a la misma tabla, el DBGrid esta mostrando los datos filtrados, el DBChart no !!!,

Que podra ser ??, alguna definicion errada de la serie ??

Porque no sigues en el mismo hilo, ya abriste otro con este tema (http://www.clubdelphi.com/foros/showthread.php?p=188559#post188559).

waly2k1
27-10-2007, 09:10:27
Como hago por codigo la asignacion de Colores del componente TDBChart
si lo hago en diseño no se actualizan los datos del datasource, pero los colores automaticos no son muy presentables, tengo solo 4 items en la torta
y me gustaria asignarle un color a cada uno.

Saludos y desde ya muhas gracias!!!

ContraVeneno
27-10-2007, 16:31:39
TuSerie.SeriesColor := '$00A47360';
..

TuSerie.SeriesColor := clRed;

waly2k1
27-10-2007, 19:47:58
la cosa es así, yo elijo unos colores 'bonitos' para cada porcion de la tarta, son 4.

Algo así: Tengo 4 candidatos políticos y la cantidad de votos de cada uno, tengo asignado un par de colores para cada candidato, con lo cual quería que cada fracción del DBChart considere esos colores. En diseño puedo cargar los cuatros items con sus respectivos colores, pero no se me refresca la grafica al actualizar el datasource. Por eso quisiera ver el codigo de fijar un color para cada uno.

Probé con Series2.SeriesColor := $00A47360;, pero no hace nada, aparte esto no me cambiaría el color a todos los candidatos ??

O mejor, cómo hago referencia a cada elemento de la grafica y ahi cambiar su color y que se refresque ?

La última(espero): En caso de tener la grafica con los colores ya prefijada (manual sin datasource), como actualizo el chart ???, me actualiza la leyenda, pero no la grafica.

Muchas gracias por tu ayuda.

waly2k1
27-10-2007, 20:27:18
Lo encontré al fin:

No puedo creer como algo tan sencillo como esto era mi solucion
Series2.ValueColor[0] := $00FF8000;

Me queda darle mas estilo a la grafica y listo, al menos no veo el verde y rojo de la paleta de colores

Muchas gracias Contraveneno por tu ayuda

ContraVeneno
27-10-2007, 20:33:28
ya entendí la idea...

y pues no se me ocurre otra cosa más que utilizar la propiedad "colorsource" de la serie, donde se supone que tendrías un campo específico para almacenar el color que quieres que tenga ese campo.

Pero como nunca lo he usado, pues no sabría decirte... el lunes hacemos pruebas :P

----------------------------------------------------
edito:

a pues que bien que ya salió... no había visto esa propiedad.

marcosche-rios
03-10-2008, 19:12:49
que base de datos estas utilizando?. yo hice algo parecido con mysql, creando tablas temporales para guardar la información obtenida del filtrado.

ContraVeneno
03-10-2008, 19:16:58
Casi un año tarde la pregunta :D:D

RJF
15-10-2008, 16:20:40
es que estos hilos nunca se ponen viejos :p de hecho me vino a la perfeccion me saque muchas dudas gracias a este hilo, aprovecho para hacerle una consulta al amigo ContraVeneno resulta que he logrado seleccionar el tipo de grafico en tiempo de ejecucion pero pasa que si selecciono el grafico Torta (pie) y luego selecciono el grafico de barras pierde todas sus propiedades graficas, conoceran alguna funcion tipo para volver al valor por default del estylo ? (he tratado de volver cada uno de los valores para cada grafico al momento de seleccionarlo pero es dificil dado que hay muchos que solo se setean en programacion).

Saludos y muchas gracias amigos !
Ramiro

ContraVeneno
20-10-2008, 15:23:37
tarde pero a gusto (andaba de vacaciones)

No, no conozco ningún método para restablecer las propiedades