4.2 Tipos de Gr´ aficos
4.2.2 Graph Toway
Scatterplot
Los diagramas de dispersi´on de puntos (scatterplot ) se accede a trav´es del co- mando graph twoway scatter, cuya sint´axis general es:
graph twoway scatter x y
donde y es la variable que se muestra en el eje vertical y x en el eje horizontal. Para ilustrar este tipo de gr´afico, haremos un ploteo entre el logaritmo del ingreso total y los a˜nos de educaci´on del individuo representado por la variable p108.
74 4.2. Tipos de Gr´aficos
. graph twoway scatter lningtot p108
Figura 4.6: Scatter Plot (1)
De la misma manera que en el hsitograma, podemos usar xlabel(), xtick(), xtitle() para controlar las etiquetas de los ejes, los marcadores de los ejes, o t´ıtu- los, respectivamente. El scatterplot tambi´en permite controlar las formas, colores, tama˜nos y otros atributos.
La figura 4.6 emplea marcadores por defecto, la cual son c´ırculos s´olidos. El mismo efecto podr´ıamos obtener si incluimos la opci´on msymbol(circle) o escribimos esta opci´on de manera abreviada como msymbol(O). La Tabla 4.1 muestra las diversas formas de marcadores para la dispersi´on de puntos.
msymbol() Abreviaci´on Descripci´on circle O circulo s´olido diamond D diamante s´olido triangle T triangulo s´olido square S cuadrado s´olido
plus + signo +
x X letra ”x”
smcircle o peque˜no c´ırculo s´olido smdiamond d peque˜no diamante s´olido smsquare s peque˜no cuadrado s´olido smtriangle t peque˜no diamante s´olido smplus smplus peque˜no signo +
smx x peque˜na peque˜no circle hollow Oh circulo con vacio diamond Dh diamante con vacio triangle hollow Th triangulo con vacio square hollow Sh cuadrado con vacio smcircle hollow oh peque˜no c´ırculo con vacio smdiamond hollow dh peque˜no diamante con vacio smsquare hollow sh peque˜no cuadrado con vacio smtriangle hollow th peque˜no diamante con vacio
point p punto peque˜no
none i invisible
Tabla 4.1: Opciones de mysimbol()
Un uso interesante de este tipo de gr´afico es hacer que el tama˜no de los sim- bolos sean proporcionales a una tercera variable. De este modo, los ploteos se diferenciar´an visualmente por medio de un ponderador weight. Si modificamos el scatterplot entre la variable lningtot y p108, haciendo que el tama˜no de los s´ımbolos se pondere por un factor de expansi´on poblacional fa d8ef9, como se muestra la figura 4.7. Dado que son muchas observaciones, puede causar mucha confusi´on y desorden, as´ı que nos concentraremos solamente en aquellos individuos que no tienen un nivel educativo (representado por la variable p109a y cuyo valor es 1).
Para esto usaremos el ponderador de frecuencia weight[ ] y la opci´on de c´ırculos vacios, msymbol(Oh) 3.
3El ponderador de frecuencia suele ser ´util en otros gr´aficos, pero a la vez es un t´opico complejo,
76 4.2. Tipos de Gr´aficos
. graph twoway scatter lningtot p108 [weight= fa d8ef9] if p109a==1, msymbol(Oh)
Figura 4.7: Scatter Plot (2)
El ejemplo de la figura 4.8 incluye una regresi´on lineal simple derivado del comando twoway lfit que ha sido a˜nadido al grafico 4.6 especificando el siguiente s´ımbolo ( || ).
. graph twoway scatter lningtot p108 if p109a==1, msymbol(S) mcolor(green) /// | | lfit lningtot p108)
Figura 4.8: Scatter Plot (3)
Los marcadores de un scatterplot pueden identificarse con etiquetas. Por ejem- plo, podemos desear observar el sexo de las personas en la figura 4.9.
. graph twoway scatter lningtot p108 if p109a==1, mlabel(p107) /// msymbol(S) mcolor(purple) | | lfit lningtot p108
Figura 4.9: Scatter Plot (4)
La figura 4.10 muestra un scatterplot entre lningtot y p108 para g´enero. La relaci´on entre estas dos grupos aparece una mayor pendientes en los hombres. La opci´on xlabel() e ylabel() en este ejemplo da las etiquetas para los ejes x e y de tres d´ıgitos como m´aximo sin decimales, haci´endo f´acil de leer para peque˜nos sub-ploteos.
. graph twoway scatter lningtot p108, by(p107) ///
78 4.2. Tipos de Gr´aficos
Figura 4.10: Scatter Plot (5)
Multiples Scatterplots
El comando graph matrix nos muestra un ´util an´alisis multivariado. Este comando otorga una gr´afica compacta de la relaci´on entre un n´umero de variables por pareja, permiti´endole al analista observar los signos de no linealidad, outliers o cluester que puedan afectar al modelamiento estad´ıstico. Este tipo de gr´afico es ´
util si se quiere observar la influencia de una lista de variables explicativas a una variable dependiente.
La figura 4.11 muestra una matriz de scatterplot que implica la relaci´on entre el logaritmo del ingreso total (lningtot), la edad (p108), los a˜nos de estudios (p109b) y el total de horas trabajadas (p209t).
La opci´on half especificado en la figura 3.11 hace que se muestre solo la parte triangular inferior de la matriz ya que la parte superior es sim´etrica y redundante.
Figura 4.11: Multiples Scatter Plot
Ploteo de Lineas (Line Plot)
Si usamos la base de datos data trim.dta, el cual contiene la serie de las variables del Producto Bruto Interno (pbi), las Importaciones (m) y los componentes de la demanda agredada (consumo privado (c), inversi´on (i), gasto p´ublico (g) y exportaciones (x)), todas medidad en millones de nuevos soles de 1994, desde el primer trimestre del 2003 hasta el tercer trimestre del 2011 y teniendo como fuente de informaci´on al BCRP.
Un simple ploteo para los componentes de la Oferta Agregada (Producto Bruto Interno y las Importaciones) pueden ser construidos se˜nalando una grafica lineal de ambas variables a trav´es del tiempo (time).
La figura 4.12 muestra una caida en el a˜no 2009 producto de la crisis interna- cional,sin embargo, se nota la pronta recuperaci´on para el siguiente a˜no.
80 4.2. Tipos de Gr´aficos
Figura 4.12: Line Plot (1)
En la figura 4.12, STATA elige por defecto una l´ınea s´olida azul para la primera variable pbi, y una l´ınea s´olida roja para la segunda variable m. Adem´as de una legenda en la parte inferior que muestra el significado de las variables. Si se mejora este gr´afico a trav´es de un arreglo en la legenda, suprimiendo el t´ıtulo redundante en el eje x y colocando un t´ıtulo al gr´afico, como se ve en la figura 4.13.
. twoway line m pbi time, legend(label(1 "Importaciones") /// label (2 "PBI") position(3) ring(0) rows(2)) xtitle("") /// title("Evoluci´on del PBI e Importaciones" "2003-I - 2011-III")
Se tiene sub-opciones para la opci´on legend() la cual se colocan dentro de los par´entesis y se se˜nalan en la Tabla 4.2 como sigue:
legend() Descripci´on
label (1 ”Importaciones ”) La etiqueta para la primera variable del eje y
label (2 ”PBI”) La etiqueta para la segunda variable del eje y
position(3) Establecer la legenda a las 3 de la hora del reloj (superior derecha)
ring(0) Establecer la legenda entre los espacio del ploteo
rows(2) Dice que la legenda tenga dos filas Tabla 4.2: Opciones - legend()
La figura 4.12 y 4.13 conecta de una manera simple cada punto de la data con un segmento de recta. Otras estilos de conexiones son posibles, usando la opci´on connect(). Por ejemplo, connect(stairstep) o equivalentemente connect(J) generar´ıa puntos para ser conectados en forma de escalera. La figura 4.14 ilustra el ploteo en forma de escalera para la variable del consumo privado (c).
. graph twoway line c time, connect(stairstep)
82 4.2. Tipos de Gr´aficos
Otras formas de conexi´on se muestran en la Tabla 4.3. Por defecto, el segmento de l´ınea recta corresponde a connect(direct) o connect(l) 4.
connect() Abreviaci´on Descripci´on none i no conecta puntos direct l conecta con l´ıneas rectas
ascending L es similar a direct solo si x(i + 1) > x(i) stairstep J recta constante, luego vertical
stepstairs vertical, luego se mantiene constante Tabla 4.3: Opciones - connect()
La figura 4.15 repite este ploteo escalonado del consumo privado, pero con algunas modificaciones de las etiquetas de los ejes y t´ıtulos. La opci´on xtitle(””) no presenta ning´un t´ıtulo en el eje x. la opci´on angle() permite definir en este caso la alineaci´on de los valores en el eje y.
. graph twoway line c time, connect(stairstep) xtitle("") /// ytitle("Millones de Nuevos Soles de 1994") ///
ylabel(, angle(horizontal)) clpattern(dash) /// title("Evoluci´on Consumo Privado" "2003-I - 2011-III")
Figura 4.15: Line Plot (4)
Otro modo de especificar el tipo de l´ınea que se desea usar es a trav´es de la opci´on clpattern(), que nos permite elegir un patr´on de l´ınea y se muestra en la Tabla 4.4:
clpattern() Descripci´on solid l´ınea s´olida dash guiones dot puntos
dot dash puntos y guiones
shortdash dot guiones peque˜nos con puntos longdash guiones grandes
longdash dot guiones grandes con puntos blank linea invisible
formula por ejemplo: clpattern(-.); clpattern(-..) Tabla 4.4: Opciones - clpattern()
Para la siguiente figura 4.16 se grafica la evoluci´on trimestral del producto bruto interno, el consumo privado y las importaciones. Note que las opciones connect(), clpattern() y legend() son utilizados en este ejemplo.
. graph twoway line pbi c m time, connect(line line stairstep) ///
title("Evoluci´on del PBI, Importaciones y Consumo Privado" "2003-I - 2011-III") /// xtitle("") ytitle("illones de Nuevos Soles de 1994") ///
clpattern(solid longdash dash) ylabel(, angle(horizontal)) ///
legend( label (1 "PBI") label (2 "Consumo") label(3 "Importaciones") /// position(10) ring(0) rows(3))
84 4.2. Tipos de Gr´aficos
Ploteo de L´ıneas Conectadas (Connected-Line)
En el ploteo de l´ıneas de la subsecci´on anterior, los puntos de los datos son invisibles y vemos solo la conexi´on de las l´ıneas. El comando graph twoway con- nected crea ploteo una conexi´on de puntos en la cual acomodamos la imagen mostrando un control de los marcadores de s´ımbolos, patr´on de l´ıneas, ejes y leg- enda. La figura 4.17 nos muestra un ejemplo de un ploteo de l´ıneas conectadas a trav´es del tiempo de las variables pbi y c.
. graph twoway connected pbi m time , msymbol(T oh) clpattern(dash solid) /// ytitle("Miles de Tonelada") xtitle("") ///
title("Evoluci´on del PBI y Consumo Privado" "2003-I - 2011-III") /// ylabel(, angle(horizontal)) ///
legend(label(1 "PBI") label(2 "Consumo") /// position(3) rows(2) ring(0))
Figura 4.17: Line Connected Plot
Otros Tipos de Scatter Plot
Adem´as de los ploteos con l´ıneas y scatterplot, el comando graph twoway presenta una amplia variedad de otros tipos 5
5Para ver toda la lista de posibles tipos de gr´aficos con el comando graph twoway tipear help
Una observaci´on que se puede hacer es que existen comandos como graph twoway bar y graph twoway dot que son muy distintos a los tipos de gr´aficos de barras (bar) y puntos (dot) respectivamente. Las versiones del twoway provee varios m´etodos para plotear una variables y contra otra variable x ; adem´as tienen la ventaja de sobreponer otros gr´aficos del twoway para formar gr´aficos m´as com- plejos. Por otro lado, las versiones que no son del twoway proveen modos de ploteos usando resumenes estad´ısticos (tal como media o mediana) de las variables y contra las categor´ıas de otras variables x.
Mucho de estos tipos de ploteos son ´utiles en la composici´on del gr´afico final, que se construye por sobreposici´on de dos o m´as ploteos simples. El gr´afico 4.18 muestra un ploteo de ´areas de las variables pbi y c.
. graph twoway area pbi m time
Figura 4.18: Otros Plot (1)
El color de las ´areas pueden ser controlados por la opci´on bcolor6. Por ejemplo,
el gris oscuro (gs0) es actualmente el color negro. Por ejemplo, la escala en grises se encuentra entre el valor 0 y 16. El color gris m´as ligero (gs16) es blanco. En la figura 4.19 muestra un ligero gris para este gr´afico.
. graph twoway area pbi m time
86 4.2. Tipos de Gr´aficos
Figura 4.19: Otros Plot (2)
La figura 4.20 usa esta media de consumo privado (29607.66 millones de soles de 1994) como la base de un ploteo de l´ıneas punteadas (spike), en la cual sobresalen l´ıneas hacia arriba y hacia abajo a partir de esta media referencial. La opci´on yline(29607.66) traza una l´ınea horizontal en 29607.66.
. sum c
. graph twoway spike c time, ///
base(29607.66) yline(29607.66) ylabel(, angle(horizontal))
Una diferente vista de la misma data se muestra en la figura 4.21, donde se emplea la regresi´on m´ınima para suavizar la serie de tiempo con graph twoway lowess. La opci´on de ancho de banda, bwidth(.4), especifica una curva basada en el suavizamiento de los datos que son derivamos de la regresi´on ponderador entre una banda que cubre el 40 % de la muestra. El ancho de la banda peque˜no sea tal como bwidth(.2), o 20 % de la data, deber´ıa darnos un mayor ajuste. Una curva suavizada que sea m´as semejante a la data original. Altos anchos de bandas como bwidth(.8), por defecto tendr´ıa un suavizamiento m´as radical.
. graph twoway lowess c time, ///
bwidth(.4) yline(29607.66) ylabel(, angle(horizontal))
Figura 4.21: Otros Plot (4)