Nota: ahora se adjuntan 50 puntos de datos sin procesar.
Quiero mostrar cuánto estudio he hecho, y cuántas páginas he completado durante la semana, divididas por día, y lo he hecho como se muestra a continuación:
La gente me ha dicho que no pueden entender los gráficos, pero no tengo idea de qué otra manera puedo mostrarlos. Ya que esencialmente necesitaría tres dimensiones sin hacer una representación acumulativa. Quiero evitar el uso de numerosos gráficos de líneas, ya que después de unas semanas los gráficos se volverán ilegibles. ¿No hay nada que pueda hacer?
¿Cómo puedo mostrar esto más claramente?
Date Total Total pages
21/11/2014 2.4166 0
22/11/2014 0 0
23/11/2014 1.5833 4
24/11/2014 3.0166 13
25/11/2014 2.4999 6
26/11/2014 1.4833 3
27/11/2014 3.0499 6
28/11/2014 0 0
29/11/2014 2.4499 5
30/11/2014 2.8833 2
1/12/2014 0 0
2/12/2014 4.1166 8
3/12/2014 1.3333 5
4/12/2014 1.2499 3
5/12/2014 1.6666 8
6/12/2014 0 0
7/12/2014 2.4833 9
29/12/2014 0 0
30/12/2014 1.2332 1
31/12/2014 0.3333 0
1/01/2015 3.5666 2
2/01/2015 0.8166 0
3/01/2015 2.75 28
4/01/2015 0.4166 0
5/01/2015 1.2833 0
6/01/2015 0.3333 3
7/01/2015 0 0
8/01/2015 0 0
9/01/2015 2.35 2
10/01/2015 0.5666 0
11/01/2015 0 0
12/01/2015 1.6666 0
13/01/2015 2.2666 5
14/01/2015 2.5165 6
15/01/2015 2.0166 0
16/01/2015 2.9666 1
17/01/2015 0.8333 0
18/01/2015 0.6666 1
19/01/2015 1.45 0
20/01/2015 0.3166 0
21/01/2015 0 0
22/01/2015 0.2333 0
23/01/2015 0.85 2
24/01/2015 0 0
25/01/2015 0 0
26/01/2015 0.6666 4
27/01/2015 0.8333 1
28/01/2015 1.5498 5
29/01/2015 6.4159 9
30/01/2015 2.9166 0
data-visualization
gung - Restablece a Monica
fuente
fuente
Respuestas:
Una forma de visualizar datos basados en fecha / calendario es a través de una pantalla matricial que codifica los datos con color. La matriz (o tabla) se organiza de modo que las filas representen semanas y la columna represente días. Puede agregar una columna final para el total semanal si eso es conveniente.
Esto puede implementarse de manera algo simple en Excel con formato condicional si los datos están organizados correctamente. En particular, puede crear una "cuadrícula" de valores con fórmulas que busquen en sus datos originales. A partir de ahí, puede usar el formato condicional para mostrar el resultado.
Así es como podría verse el resultado. Lo siento, cambié el formato de fecha. La fórmula de celda H1 es:
"=IFERROR(VLOOKUP($G$1+$G6*7+H$5, $B$5:$C$16,2,FALSE), 0)"
. Está haciendo algunos cálculos para obtener los días en el orden correcto. Esperemos que sea sencillo.Si realmente está buscando empujar el sobre, puede usar un marco como d3 y su complemento de calendario para mostrar estos datos. Sin embargo, eso podría ser más una empresa de lo que vale.
Este formato es muy similar a cómo GitHub muestra la actividad / contribuciones del usuario a lo largo del tiempo. Aquí hay un usuario (¡no yo!).
fuente
La característica destacada del original son las sumas semanales. Los valores individuales son significativos solo después de haber aprendido los colores, y me imagino que esa es una gran razón por la que la trama no funciona para los nuevos espectadores. Relacionado con eso, se pierde el aspecto del tiempo de los días. Un conjunto secuencial de colores puede ayudar (por ejemplo, 7 tonos de azul).
Normalmente no me importa etiquetar cada elemento: ¿son importantes los valores exactos? El gráfico no está haciendo su trabajo si no puede interpretarlo sin todos los valores etiquetados.
A mi intento . Dada la aparente importancia de las sumas semanales, he trazado las sumas acumulativas semanales. Muestra las sumas semanales y los días en orden de tiempo. Los valores del día exacto son menos claros, pero los valores atípicos seguirán destacando.
Para estos tipos de gráficos de líneas pequeñas (que podrían reducirse al tamaño de minigráfico ) es útil tener una línea o área de referencia. Por ejemplo, he agregado un rango objetivo. Si un objetivo no es apropiado, entonces la referencia podría ser algo así como el rango durante las últimas tres semanas o algún valor de referencia fijo.
He usado rojo para indicar qué semanas estuvieron por debajo del objetivo para un escaneo rápido.
Con muchas más semanas, puede organizarlas en una cuadrícula en lugar de una lista vertical.
fuente
Si te entiendo correctamente, la razón por la que no quieres usar los gráficos lineales es que tienes demasiadas semanas y los gráficos se volverán desordenados.
Si este es el problema, puede dividir la serie temporal en componentes:
Variación diaria
Variación semanal
Tendencia a largo plazo
Algo más.
William S. Cleveland muestra un buen ejemplo de esto en uno de sus libros (no estoy en mi oficina y no recuerdo cuál de sus libros tiene el ejemplo, pero es Visualizar datos o Los elementos de los datos gráficos ).
Tanto R como SAS tienen herramientas para hacer esto. ¿Tienes acceso a alguno de ellos?
fuente
Primero explicaré algunas objeciones a sus gráficos de barras apilados o divididos originales.
a. La codificación de color parece completamente arbitraria. Por lo tanto, el gráfico no puede estudiarse sin ir y venir repetidamente entre la leyenda y el gráfico.
si. Los ceros son implícitos, como segmentos de barra invisibles. Los ceros son parte de la variación.
Por esas y otras razones, los gráficos son difíciles de decodificar.
Dicho esto, el gráfico tiene mérito si el interés está principalmente en estudiar la variación en los totales de una semana a otra. Muchas semanas podrían trazarse como muchos bares. La desventaja correspondiente es que sería cada vez más difícil estudiar las variaciones en cuestión de semanas.
Copia de seguridad: hay tres variables aquí en cada problema.
Tiempo estudiado o páginas completas.
Día de la semana.
Número de la semana.
A medida que aumenta el número de semanas, cualquier gráfico será más detallado. El desafío es mantener ese detalle bajo control.
Consideraría un diagrama de ciclo (se han usado otros nombres en la literatura, pero la mayoría se refiere a su uso para observar la variación estacional). Hay una introducción lúcida aquí por Naomi Robbins. Sus ejemplos incluyen aquellos como el suyo donde el interés está en las variaciones dentro y entre semanas.
fuente
Los gráficos de líneas probablemente serían más fáciles de interpretar si tomara un promedio móvil de siete días, catorce días o tal vez 28 días. Eso los suavizaría y aún te permitiría detectar tendencias.
Esto tiene algunas similitudes con la solución de Peter Flom, aunque es bastante más simple y, por lo tanto, no muestra una imagen tan completa, pero puede ser suficiente para sus necesidades. Si está registrando sus datos en una hoja de cálculo, tiene la ventaja de que dicho promedio puede realizarse fácilmente dentro de la misma hoja de cálculo mediante la configuración de algunas fórmulas, y el gráfico se actualizará automáticamente a medida que ingrese datos nuevos.
Actualización para incluir gráficos
El gráfico de la hoja de cálculo para los promedios móviles de siete días no es espectacular, pero parece que funciona bien: la variación diaria se suaviza para que las tendencias sean más fáciles de detectar (en comparación con el gráfico diario equivalente que es tan ruidoso como incomprensible). Algunas características clave se eligen bien en esta trama: por ejemplo, se realizó una gran cantidad de trabajo a mediados de enero, en términos por hora, pero esto no fue acompañado por un aumento proporcional en el promedio de páginas completadas por día. El receso de Navidad es muy visible y siempre que los puntos de datos individuales estén claramente trazados, no es demasiado engañoso (si solo la línea fuera visible, ¡sería imposible determinar que el período plano se debió a la falta de datos!). Sin embargo, recomiendo encarecidamente incluir≈ 1.5
Con solo cincuenta elementos de datos, no valía la pena intentar promediar durante un período de tiempo más largo para detectar tendencias de ejecución más largas. Del mismo modo, sospecho que la excelente idea de Peter Flom de descomposición estacional tendría problemas con datos tan limitados. Si realizara la descomposición en su hoja de cálculo, sería aún más importante incluir el salto como datos cero.
Para reproducir mis fórmulas, pegue esto para que 'Fecha' esté en la celda
A1
:fuente
Según entiendo su pregunta, sería factible mostrar las horas y las páginas por separado. Lo haré primero. Después, mostraré Total y Páginas en una parcela. Supongo que los números reales no son lo más importante: es más importante obtener una visión general de las semanas y los días de la semana, que fueron productivos y cuáles no. En ese caso, sugiero que mantenga la estructura temporal natural ya que en realidad solo hay una dimensión temporal en sus datos. Todavía podemos encontrar una manera de delimitar las semanas.
Usé el siguiente código R y el paquete ggplot2 para producir este primer diagrama. Sus datos se han cargado en los datos del objeto en el siguiente código. El diagrama es un diagrama de barras agrupadas, con las barras grises que indican sumas semanales de páginas.
Esto claramente no es perfecto. Las barras grises dominan demasiado ya que en comparación con una barra de día tienen un área más grande para la misma cantidad de lectura. Podríamos hacerlos más delgados, pero me gusta la forma en que delimitan las semanas. Indican muy bien qué días son en la misma semana, algo que de otro modo no sería necesariamente inteligible. Especialmente porque tenemos cero recuentos.
En la siguiente gráfica, he usado el número medio de páginas (dentro de la semana) como la altura de la barra gris.
Esto probablemente representa mejor los datos. Sin embargo, tenga en cuenta que las semanas 0 y 7 son engañosas porque no incluyen 7 días. Podrías evitar esto fácilmente.
Si insiste en mostrar las páginas y el tiempo simultáneamente, podría hacer un diagrama de barras consecutivas. Puede ser un poco confuso ya que las dos escalas verticales no son lo mismo. Por otro lado, podría ser bueno comparar el tiempo dedicado y el trabajo realizado directamente de esta manera.
EDITAR: Al darse cuenta de que los colores realmente no son necesarios e inspirados por xan (ver comentarios a continuación), podría simplificar la trama a algo como esto. Marqué los jueves para dar una guía visual adicional. También podría argumentar a favor del uso del mismo color para todas las barras para no enfatizar demasiado algunos días (arbitrarios).
En una nota final, también podría intentar escalar los ejes de manera diferente dividiendo sus valores por el valor medio. Esto haría de 1 un valor "normal". Podríamos incluir una línea en 1 para enfatizar este punto, ahora hecho en la trama consecutiva. Esto separa los días "buenos" de los "malos" en términos de carga de trabajo media.
En este gráfico también podríamos asegurarnos de que una unidad corresponda a la misma distancia en ambos ejes, ya que ahora son comparables.
También tenga en cuenta que arruiné los días en la primera versión. He corregido el código y las tramas y ahora iré a practicar los siete días de la semana.
El código que produjo la última trama:
fuente
CambioX eje a días laborables, deja y lo mismo y:
fuente
El gráfico a continuación muestra las horas de estudio acumuladas y las páginas totales dentro de cada semana usando líneas en lugar de barras apiladas, lo que con suerte hará que sea más fácil ver la tendencia dentro de cada semana y comparar entre semanas. He completado las semanas que faltan con ceros, pero puede excluirlos si lo desea. El
R
código para el procesamiento de datos y la generación de gráficos se publica debajo del gráfico.Al llevar a cabo los pasos a continuación, primero cargué los datos publicados en la pregunta en un marco de datos llamado
dat
.fuente
Otra opción es el gráfico de burbujas, donde puede tener una altura vertical para una variable y un tamaño de punto para la otra. A continuación, la fecha (día) es horizontal, las horas estudiadas son verticales, las páginas cubiertas por día tienen el tamaño de una burbuja y la semana está coloreada.
fuente
Puedes trazar en 3d. No verifiqué que el día de la semana se haya calculado correctamente, encuentre el mejor ángulo de visión, etc., pero esto debería darle la idea. Adornos adicionales también son posibles. Por ejemplo, podría ser mejor conectar los puntos con una línea y mover las líneas de la cuadrícula para corresponder a cada lunes.
En realidad, lo que sería muy interesante intentar es hacer que cada cuadrícula izquierda-derecha y arriba-abajo (como se muestra en este ángulo) corresponda al mismo día de la semana (por ejemplo, lunes), luego colocando diagramas de caja en las paredes inferior y posterior derecha dentro Las líneas de la cuadrícula. Los diagramas de caja corresponderían al total de horas y páginas totales para cada semana, respectivamente. Estoy casi seguro de que sería posible hacer con rgl, pero requeriría algunos ajustes. Puede valer la pena. Las parcelas de violín o las parcelas de frijoles pueden ser aún mejores.
Los datos (para ingresar a R):
Haz la trama:
fuente
El siguiente mapa de calor con el número de semana (del año), el día de la semana y las facetas por horas y páginas pueden ser útiles:
Al eliminar 2 valores altos se obtienen mejores gradientes de color en el trazado:
El siguiente gráfico de barras también puede ser útil.
Muestra claramente un período de 2 semanas cuando no se realizó ningún trabajo.
El trazado con líneas también puede ser útil (las líneas no están abarrotadas; los puntos también se pueden eliminar, manteniendo solo dos líneas)
Transmiten claramente la información mientras simplifican la trama para una fácil comprensión.
fuente