grap_creator [UDF] crea tus graficas de manera sencilla
Publicado: 06 Feb 2012, 16:55
hola a todos!!
pues os presento mi udf.. que a salido de la necesidad que tenia de una udf de este tipo, ya que la mayoría de mis programas se basan en representar información de estas maneras :P
quizas deberia haber buscado antes.. ya que he encotnrado que ya existe alguna como por ejemplo: http://www.autoitscript.com/forum/topic ... ed-141009/
aunque la mia me es mas util en la mayoria de los aspectos. ademas aun le queda añadir alguna cosa
yo básicamente el uso que le doy es el de representación de magnitudes físicas respecto a tiempo o a otras magnitudes.
una vez que creas la gráfica y le as dado los mínimos y máximos de la gráfica, cuando le das valores, no tienes que darle las x/y respecto a la interfaz, si no los valores reales...
por ejemplo... si tienes una gráfica temperatura(y)/tiempo(x)
y le as dado un mínimo de tª de -15º y un máximo de 40º, tu solo tienes que poner en el punto la tº, da igual cual sea el tamaño de la gráfica, o las separaciones.
creo que lo mejor para entenderlo es ver los ejemplos por que ya veis que no me explico muy bien..
funciones y descripción de cada una:
create_grap($Form,$x,$y,$width,$height,$xsep,$ysep,$minx,$maxx,$miny,$maxy,$color1 = 0xAA000000,$color2 = "",$marc = 0,$marcgros = 2)
es la funcion principal, nos devolverá una array (es el handle para usar la grafica)
$form hace referencia al form en el que se quiere crear
$x posicion x
$y posicion y
$width anchura de la grafica
$height altura de la grafica
$xsep numero de subdivisiones en el eje x de la malla
$ysep numero de subdivisones en el eje y de la malla
$minx valor minimo de x que puede llegar a representarse en la grafica
$maxx valor maximo de x que puede llegar a representarse en la grafica
$miny valor minimo de y que puede llegar a representarse en la grafica
$maxy valor maximo de y que puede llegar a representarse en la grafica
$color1 color que tendran las subdivisiones x de la malla (en caso de que no se le de un valor a $color2, las subdivisiones de y seran de este mismo color)
$color2 color que tendran las subdivisiones y de la malla
$marc color que tendra el marco de la grafica(en caso de no darle un valor, no habra marco)
$marcgros grosor del marco de la grafica
grap_element_create($graph,$color,$gros)
usaremos esta funcion para crear un elemento para poder usar en la grafica, nos devuelve una array
$graph es la array o handl de la grafica
$color color de el elemento
$gros grosor que este elemento va a tener
add_point(ByRef $element,$x,$y)
usaremos esta funcion para ir dando valores a la grafica.
necesitaremos haber creado previamente un elemento para poder usarla. a partir de los puntos, se ira creando una linea(los elementos no admiten discontinuidad)
$element array que nos devuelve la funcion grap_element_create
$x punto x de la grafica
$y punto y de la grafica
grap_abcise_separation($graph,$color,$gros,$param)
separa la grafica de lado a lado de y y de lado a lado de x
$color color de las lineas de separacion
$gros grosor de las lineas de separacion
si el parametro $param esta en 1 la separacion pasara por los puntos medios de los minimos i maximos
si el parametro $param esta en 2 la separacion pasara por el eje de coordenadas(osea por x=0 y y=0)
$graph hndl de la grafica
$color color que tendrán las lineas de separación de los ejes
ToDo:
-añadir la posibilidad de crear tooltips al hacer clic en un punto de la gráfica en el que te indique el valor de los dos componentes
-mejorar la manera de eliminar las graficas :$
-posibilidad de guardar las graficas como imagen
-indicar unidades de cada componente
-posibilidad de crear elementos moviles
pues os presento mi udf.. que a salido de la necesidad que tenia de una udf de este tipo, ya que la mayoría de mis programas se basan en representar información de estas maneras :P
quizas deberia haber buscado antes.. ya que he encotnrado que ya existe alguna como por ejemplo: http://www.autoitscript.com/forum/topic ... ed-141009/
aunque la mia me es mas util en la mayoria de los aspectos. ademas aun le queda añadir alguna cosa
yo básicamente el uso que le doy es el de representación de magnitudes físicas respecto a tiempo o a otras magnitudes.
una vez que creas la gráfica y le as dado los mínimos y máximos de la gráfica, cuando le das valores, no tienes que darle las x/y respecto a la interfaz, si no los valores reales...
por ejemplo... si tienes una gráfica temperatura(y)/tiempo(x)
y le as dado un mínimo de tª de -15º y un máximo de 40º, tu solo tienes que poner en el punto la tº, da igual cual sea el tamaño de la gráfica, o las separaciones.
creo que lo mejor para entenderlo es ver los ejemplos por que ya veis que no me explico muy bien..
funciones y descripción de cada una:
create_grap($Form,$x,$y,$width,$height,$xsep,$ysep,$minx,$maxx,$miny,$maxy,$color1 = 0xAA000000,$color2 = "",$marc = 0,$marcgros = 2)
es la funcion principal, nos devolverá una array (es el handle para usar la grafica)
$form hace referencia al form en el que se quiere crear
$x posicion x
$y posicion y
$width anchura de la grafica
$height altura de la grafica
$xsep numero de subdivisiones en el eje x de la malla
$ysep numero de subdivisones en el eje y de la malla
$minx valor minimo de x que puede llegar a representarse en la grafica
$maxx valor maximo de x que puede llegar a representarse en la grafica
$miny valor minimo de y que puede llegar a representarse en la grafica
$maxy valor maximo de y que puede llegar a representarse en la grafica
$color1 color que tendran las subdivisiones x de la malla (en caso de que no se le de un valor a $color2, las subdivisiones de y seran de este mismo color)
$color2 color que tendran las subdivisiones y de la malla
$marc color que tendra el marco de la grafica(en caso de no darle un valor, no habra marco)
$marcgros grosor del marco de la grafica
grap_element_create($graph,$color,$gros)
usaremos esta funcion para crear un elemento para poder usar en la grafica, nos devuelve una array
$graph es la array o handl de la grafica
$color color de el elemento
$gros grosor que este elemento va a tener
add_point(ByRef $element,$x,$y)
usaremos esta funcion para ir dando valores a la grafica.
necesitaremos haber creado previamente un elemento para poder usarla. a partir de los puntos, se ira creando una linea(los elementos no admiten discontinuidad)
$element array que nos devuelve la funcion grap_element_create
$x punto x de la grafica
$y punto y de la grafica
grap_abcise_separation($graph,$color,$gros,$param)
separa la grafica de lado a lado de y y de lado a lado de x
$color color de las lineas de separacion
$gros grosor de las lineas de separacion
si el parametro $param esta en 1 la separacion pasara por los puntos medios de los minimos i maximos
si el parametro $param esta en 2 la separacion pasara por el eje de coordenadas(osea por x=0 y y=0)
$graph hndl de la grafica
$color color que tendrán las lineas de separación de los ejes
ToDo:
-añadir la posibilidad de crear tooltips al hacer clic en un punto de la gráfica en el que te indique el valor de los dos componentes
-mejorar la manera de eliminar las graficas :$
-posibilidad de guardar las graficas como imagen
-indicar unidades de cada componente
-posibilidad de crear elementos moviles