Visualización del VIH SIDA en Chile

De Casiopea




Título
Palabras ClaveGráfica Digital, Diseño Gráfico, 2010, Visualización, Proyecto
Período2010-2010
CarrerasDiseño Gráfico
Alumno(s)Sofía Savoy
ProfesorHerbert Spencer

Inicio de la Propuesta

El VIH/SIDA en Chile

La temática de esta propuesta está dirigida a mostrar el índice de personas contagiadas con el virus del VIH/Sida en nuestro país, entre los años 1984 y 2008.

Variables

  • Sexo
  • Edad
  • Virus
  • Formas de contagio
  • Nivel de escolaridad


Con estos datos, se quiere hacer una comparación entre quienes tiene VIH y Sida según el sexo, utilizando el concepto de un gráfico cartesiando para tener las 4 divisiones comparativas.La idea sería graficar estos datos en una especie de "espejo", reflejando los contenidos según las variantes.

Desarrollo del Proyecto

La idea de este proyecto, es visualizar como han incrementado los casos de notificaciones de VIH/SIDA en el transcurso de 28 años, comenzando en 1984 -cuando se notifican los primeros 6 casos de la epidemia en Chile- hasta el año 2008.

Las variables se redefinen, utilizando las siguientes:

  • Sexo
  • Años (1984 a 2008)
  • Etapa diagnóstica (VIH y SIDA)
  • Cantidad de Notificaciones


Antes de la visualización se hará una introducción al tema y luego una definición explicatoria de lo que es el VIH y el SIDA.

Propuestas Visuales

Versión I

Maqueta que define el espacio Maqueta visualizacion vihsida 01.jpg

Versión II

Maqueta visualizacion vihsida 02.jpg

Versión III

Maqueta con definición de objetos a crear. Maqueta visualizacion vihsida 03.png

Versión IV: Visualización final

Tablas Excel

Primera Versión

Versión Final

Tabla de Datos VIH/SIDA

La tabla de datos final, reúne más variables, definienfo los distintos datos y organizándolos en dos hojas:

  • Datos por Años
  • Datos por Quinquenios

Creación de Objetos

Para la creación de objetos, se utilizarán dos clases que crean el elemento variable, y otra que junta estos elementos y lo dispone en el espacio para su comparación.

Elemento

Clase

Esta clase se llamará class Elemento y las variables y valores a declarar serán:

  • int tamano (tamaño)
  • color rgb (color)
  • int posx, posy (posición de "x" e "y")
  • int tipo (tipo de persona)
  • int cant (cantidad personas)
  • int CANTMAX = 800 (cantidad máxima de personas)
  • int PIXELMAX = 100 (cantidad máxima de pixeles a dibujar)
  • final static int HOMBRE = 1 (tipo de persona hombre)
  • final static int MUJER = 0 (tipo de persona mujer)


Objeto

Para definir el objeto, debemos darle las variables con las cual trabajará, de la siguiente manera:


Elemento(int posx, int posy, int cantidad, int tipo){    //variables principales
  this.posx = posx;
  this.posy = posy;
  this.cantidad = cantidad;
  if(tipo == MUJER)                     //si el tipo de persona es mujer
     this.rgb = color(226, 0, 122);     //el color del elemento es rosáceo
   else                                 //todo lo demás, en este caso, hombre
     this.rgb = color(0, 158, 224);     //el color del elemento es celeste

  tamano = int(PIXELMAX * cantidad / CANTMAX + 3); //se calcula el tamaño, se suma 3 porque si el tamaño da 1, se dibuja un pixel
     if(cantidad>0 && tamano == 0)  //si la cantidad es mayor que 0 y el tamaño es cero, dibuja 3 pixeles
         tamano = 3;
     if(cantidad == 0)  //si la cantidad es cero, no se dibujan pixeles
         tamano = 0;
}


La construcción de la forma del objeto "Elemento", se define según la siguiente función:


void draw(){
  fill(rgb);                         //color según hombre o mujer
  rectMode(CENTER);                  //se dibuja el cuadrado desde el centro
  rect(posx, posy, tamano, tamano);  //se dibuja en una posición y su ancho y largo es el tamaño dado en pixeles
}

Par de elementos

Clase

Esta clase se llamará class ParejaDato y las variables y valores a declarar serán:

  • int posx, posy (posición de "x" e "y")
  • int cantHombre, cantMujer (cantidad de personas por sexo)
  • int SEPARACION = 5 (separación entre los elementos)


Objeto

Para definir el objeto, debemos darle las variables con las cual trabajará, de la siguiente manera:



ParejaDato(int posx, int posy, int cantHombre, int cantMujer){  //variables principales
  this.posx = posx;
  this.posy = posy;
  this.cantHombre = /*número de hombres*/;   //se da la cantidad de hombres
  this.cantMujer = /*número de mujeres*/;    //se da la cantidad de mujeres
}



Contenidos de la Lámina de Fundamento

La composición de la lámina constará de contenidos explicativos tanto de la construcción del proyecto como del tema mismo. Primero se dará espacio al discurso, tratando el desarrollo del proyecto, y luego se introducirá a la temática del VIH/SIDA en Chile.

Introducción

El desarrollo de este proyecto, presenta la visualización del VIH/SIDA en Chile, como una clara comparación de magnitudes en función de un espacio temporal. Esta realidad dentro del país, no es tan escasa como podría pensarse, y tiene varioss factores a considerar. La pregunta a responder es ¿Cómo ha evolucionado el VIH/SIDA en Chile?. Por evolución no sólo nos referimos a cómo varía la cantidad población infectada por el virus, sino que también apunta a otros factores importantes, como por ejemplo, cuales han sido las vías de contagio más significativas en el transcurso de los años, o como los rangos educativos que más se han visto afectados, distintas maneras de observar los casos de VIH/SIDA.

La Epidemia del VIH/SIDA

Antes de contar la situación del virus en nuestro país, es importante saber precisamente de qué estamos hablando para evitar confusiones, como las que se producen al hablar del VIH/SIDA de manera que fuesen una sola cosa, pero se debe aclarar que el VIH y el SIDA no son lo mismo:

  • El VIH (Virus de la Inmunodeficiencia Humana) es un virus que encuentra y

destruye un tipo particular de glóbulos blancos (células T o CD4) que utiliza el sistema inmunológico para combatir las enfermedades.

  • El SIDA (Sindrome de Inmunodeficiencia Adquirida) es la etapa más avanzada

de la infección que causa el VIH, en donde se presentan una serie de síntomas que se producen cuando el sistema inmunológico se deteriora y deja de funcionar de forma eficaz.

En nuestro país, la epidema del VIH/SIDA comenzó en el año 1984, con la detección de 6 hombres infectados, provenientes de las Regiones de Valparaíso, Bío-Bío y Metropolitana. Al año siguiente, se notifica el primer caso de infección en una mujer, proveniente de la Región Metropolitana. Actualmente, se calculan alrededor de unos 22.000 infectados con el VIH/SIDA, y aunque la mortalidad creció considerablemente durante un tiempo, hoy en día las cifras han ido disminuyendo poco a poco. Las formas de contagio más comunes, y que se visualizan aquí, son:

  • Sexual: Contacto de fluidos sexuales y mucosas.
  • Sanguínea: Transfusiones de sangre, tratamientos por hemofilia

(enfermedad genética, que normalmente afecta a los hombres, por la que una persona no tiene la capacidad de coagular sangre) y el uso de jeringas.

  • Vertical: De madre a hijo, durante el embarazo, parto o lactancia.

Construcción de los Objetos

El diseño de la visualización, se piensa a partir de una figura plana (cuadrado), que se transforma en volumen al tomar los datos de cada tabla. Los datos acerca de la cantidad de personas, se convierten en este cubo. Para construir los elementos, se crearon tres clases: Cubo, ParejaDato y Fila. La primera define la “unidad discreta”, el elemento base para crear el resto del cuerpo. La segunda clase, crea la unión de los elementos similares (Hombre y Mujer, VIH y SIDA). Finalmente, la tercera crea las columna con los pares ya creados.


'Esquema general Esquema estructura processing.png


La composición del dibujo total, se da a partir de las siguientes variables:

  • int tamano (tamaño del lado del cubo)
  • color rgb (color de los cubos)
  • int posx, posy (posición en "x" e "y")
  • int tipo (mujer u hombre)
  • int cant (cantidad personas)
  • final static int CANTMAX = 27 (la cantidad de notificaciones registradas, es

de 19.960, por lo que aproximamos la raíz cúbica de esta cantidad para ocuparla como constante)

  • final static int PIXELMAX = 150 (cantidad máxima de pixeles a dibujar)
  • final static int MUJER = 0 (definición para la instancia de la clase Cubo)
  • final static int HOMBRE = 1 (definición para la instancia de la clase Cubo)
  • final static int SEPARACIÓN = 15 (separación entre un par)
  • int cantHombre, cantMujer (cantidad de hombres y mujeres)
  • int columna (las columnas a crear)

Código de Estructura


import de.bezier.data.*;
import processing.pdf.*;

class Cubo{

  final static float CANTMAX = 27;
  final static int PIXELMAX = 150;
  final static int MUJER = 0;
  final static int HOMBRE = 1;

  int cantidad;
  color rgb;
  int posx,posy;
  int tamano;

  Cubo(int posx, int posy, int cantidad, int tipo){
    this.cantidad = cantidad;
    this.rgb = rgb;
    this.posx = posx;
    this.posy = posy;
    if(tipo==MUJER) // en el caso de que sea otra variable, como muertes, escolaridad, etc, se quita esto
      this.rgb = color(240, 93, 99);
    else                                  //tambien este "else" y uno de los "this.rgb", y el color se reemplaza por (66,66,66) o (0)
      this.rgb = color(92, 181, 201);
    tamano = round(pow(cantidad,float(1)/3)*PIXELMAX/CANTMAX);
    if(cantidad == 0)
      tamano = 0;  
  }

  void dibujar(){
    fill(rgb);
    rectMode(CENTER);

    rect(posx, posy, tamano, tamano);

    int t = ceil(tamano/2); 
    fill(rgb,170);
    stroke(255);
    strokeWeight(0.7);
    quad(posx-t, posy-t,
    posx, posy-t*2, 
    posx+t*2, posy-t*2,
    posx+t, posy-t);

    fill(rgb,130);
    stroke(255);
    strokeWeight(0.7);
    quad(posx+t, posy+t,
    posx+t*2, posy, 
    posx+t*2, posy-t*2,
    posx+t, posy-t);
  }

}

class ParejaDato{

  final static int SEPARACION = 15;

  int posx, posy;
  int cantHombre, cantMujer;

  ParejaDato(int posx, int posy, int cantHombre, int cantMujer){
    this.posx = posx;
    this.posy = posy;
    this.cantHombre = cantHombre;
    this.cantMujer = cantMujer;  
  }

  void dibujar(){
    Cubo temp;
    String sCant;
    temp = new Cubo(posx, posy, cantMujer, Cubo.MUJER);
    temp.posy += SEPARACION + round(temp.tamano/2);
    temp.dibujar();
    temp = new Cubo(posx, posy, cantHombre, Cubo.HOMBRE);
    temp.posy -= SEPARACION + round(temp.tamano/2);
    temp.dibujar();
  }

}

class Fila{

  ArrayList datos;
  String nombre;
  int posy;
  int columna;
  XlsReader reader;

  Fila(int posy, int columna, String nombre){
    this.posy = posy;
    this.nombre = nombre;
    this.columna = columna;
  }

  void cargar(){
    datos = new ArrayList();
    reader.firstRow();
    reader.nextRow();
    int posx = 100;
    int col;
    while(reader.hasMoreRows()){

      reader.nextRow();

      for(col=0; col<columna-1;col++){
        reader.nextCell();
        reader.nextCell();
      }

      reader.nextCell();

      String sCantHombre = reader.getString();
      if(sCantHombre.equals("")) break;
      int cantHombre = 0;
      if(!sCantHombre.equals("-")) 
        cantHombre = round(int(sCantHombre));

      reader.nextCell();

      String sCantMujer = reader.getString();
      int cantMujer = 0;
      if(!sCantMujer.equals("-")) 
        cantMujer = round(int(sCantMujer));
      ParejaDato pareja = new ParejaDato(posx, posy, cantHombre, cantMujer);
      pareja.dibujar();

      posx += 120; //cuando los datos del excel son por quinquenio, se cambia a Cubo.PIXELMAX+425; 

    }

  }

}

void setup (){

  size(3100, 600, PDF, "Notificaciones.pdf");   //el tamaño del archivo varia segun la cantidad de filas y y columnas

  noStroke();
  background(255);
  smooth();

  Fila fila;

  fila = new Fila(200, 1, "SIDA");
  fila.reader = new XlsReader(this, "notificaciones_h_m.xls" );
  fila.cargar();

  fila = new Fila(200+int(Cubo.PIXELMAX*2), 2, "VIH");
  fila.reader = new XlsReader(this, "notificaciones_h_m.xls" );
  fila.cargar();

/*  fila = new Fila(100+int(Cubo.PIXELMAX*8), 3, "MUERTES");
  fila.reader = new XlsReader(this, "notificaciones_h_m.xls" );
  fila.cargar(); se agregan o se quitan filas dependiendo de la cantidad de columnas que tenga el archivo excel*/

}

Fuentes

Los datos y la información utilizada, provienen de las siguientes fuentes: