Rango Finito

fotoscódigoobservatorioshermanocerdo temas plots

diagramas

28

Algo que me incomoda del diagrama de cuerdas que puede precalcular D3 es que hace énfasis en una dirección de los flujos: o se concentra en la proveniencia o se concentra en el destino. Este énfasis determina el ancho de los segmentos de anillo que corresponden cada nodo. La potencial dualidad hace que sea difícil de primerazo saber qué representa. Se presta para confusiones. Hay que aclarar demasiado en el texto de explicación (que en mi experiencia casi nadie lee).

Hoy Santiago Ortiz me mostró ejemplos de diagramas de cuerdas que diferencian en el mismo diagrama ambas direcciones. Aquí hay uno muy bonito (ver al final). Mi idea de solución a ese problema, antes de que Santiago me mostrara los ejemplos, era armar una transición suave de un diagrama a su dual (es decir, al diagrama generado por la matriz de flujo transpuesta). Los layouts de D3 son prácticos para hacer cosas muy puntuales pero se vuelven complicados de manejar cuando se quiere hacer algo que se salga un poco de su estado base. Por fortuna hay personas particularmente generosas que se toman el trabajo de escribir tutoriales muy detallados en Stack Overflow explicando cómo hacer cualquier cosa. Con la ayuda de ese tutorial y el ejemplo que ofrece armé más o menos rápido una versión del diagrama de desplazados con unos botones que permitan hacer la transición de un diagrama a su dual y de regreso. La dejo donde estaba la primera versión.

De todos modos quedé con la sensación de que probablemente hubiera sido mejor haber intentado calcular el diagrama sin usar el layout para poder tener más control sobre este tipo de cosas. Tarea: estudiar con cuidado lo que se puede hacer con SVG.

27

Desplazamientos
Clic en la imagen para ir al diagrama.

Cuando le mostré a Jorge Orlando la entrada anterior sobre desplazados él me recordó que hacía unas semanas me había enviado esta tesis de economía de la universidad nacional donde, entre otras, hacen un modelo de flujos de desplazamiento forzado para municipios colombianos entre 2000 y 2006. Esta tarde busqué y contacté al autor, Juan Tomás Sayago, y le pedí los datos que usó para su modelo: número de desplazados de municipio X a municipio Y para cada pareja (X,Y) de municipios colombianos. Sayago había calculado estos números usando el registro único de desplazados que llevaba (¿o lleva?) Acción Social (lo que hoy se llama Departamento para la Prosperidad Social) y gentilmente me los envió. Con los datos de Sayago armé un diagrama circular de flujo con énfasis en la proveniencia de los desplazados. Los datos de Sayago están a nivel municipal pero los agregué a nivel departamental porque todavía no se me ocurre cómo pintar algo inteligible que describa el flujo entre mil y pucho de entidades. En el diagrama es claro que buena parte del desplazamiento registrado ocurre dentro de los departamentos. Sigo con la duda de por qué pareciera que lo mismo pasa a nivel de municipios. ¿Simplemente se mueven de la zona rural al casco urbano? Como siempre con estas cuentas lo que uno termina preguntándose es cómo registran y definen en esas instituciones a la población que pretenden censar.

10

Un diagrama circular para representar el flujo de población de un departamento a otro de acuerdo a los datos de proveniencia versus residencia en el censo de 2005. D3 cuenta con un layout para ese tipo de diagramas así que es muy poco lo que hay que hacer para generarlo más allá de calcular la matriz y afinar un algo los tamaños de las cosas. Al principio estos diagramas me parecían confusos. Cada vez siento que dicen más. Es chévere que se puedan ver tantos números y relaciones al tiempo.

Hay un diagrama dual asociado a la matriz transpuesta (donde se hace énfasis en de dónde vienen más que en dónde viven). Es igual de fácil de generar pero quiero hacerlo de tal forma que sea una “transformación” del diagrama (con un botón) en lugar de uno adicional. Todavía estoy entendiendo cómo se logra eso.

Diagrams

Una librería para hacer diagramas en Haskell.