Nota: 50 pontos de dados brutos estão anexados agora.
Quero mostrar quanto estudo eu fiz e quantas páginas eu completei ao longo da semana, divididas por dia, e o fiz como mostrado abaixo:
Já tive pessoas me dizendo que não conseguem entender os gráficos, mas não tenho idéia de como mais posso exibi-los. Como eu precisaria essencialmente de três dimensões sem fazer uma representação cumulativa. Quero evitar o uso de numerosos gráficos de linha, pois após algumas semanas os gráficos ficarão ilegíveis. Não há nada que eu possa fazer?
Como posso exibi-las mais 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
- Reinstate Monica
fonte
fonte
Respostas:
Uma maneira de visualizar dados baseados em data / calendário é através de uma exibição em matriz que codifica os dados em cores. A matriz (ou tabela) é organizada para que as linhas representem semanas e a coluna represente os dias. Você pode adicionar uma coluna final para o total semanal, se isso for desejável.
Isso pode ser implementado de maneira simples no Excel com formatação condicional, se os dados forem organizados corretamente. Em particular, você pode criar uma "grade" de valores com fórmulas que pesquisam nos dados originais. A partir daí, você pode usar a formatação condicional para exibir o resultado.
Aqui está a aparência do resultado. Desculpe, mudei o formato da data. A fórmula na célula H1 é:
"=IFERROR(VLOOKUP($G$1+$G6*7+H$5, $B$5:$C$16,2,FALSE), 0)"
. Está fazendo algumas contas para obter os dias na ordem certa. Espero que seja simples.Se você realmente deseja empurrar o envelope, pode usar uma estrutura como d3 e seu plug-in de calendário para exibir esses dados. Isso pode ser mais um empreendimento do que vale a pena.
Esse formato é muito semelhante ao modo como o GitHub exibe as atividades / contribuições do usuário ao longo do tempo. Aqui está um usuário (não eu!).
fonte
A característica proeminente do original são as somas semanais. Os valores individuais são significativos somente depois que você aprendeu as cores, e imagino que esse seja um grande motivo para o enredo não funcionar para novos espectadores. Relacionado a isso, o aspecto do tempo dos dias é perdido. Um conjunto seqüencial de cores pode ajudar (por exemplo, 7 tons de azul).
Normalmente, não me importo de rotular todos os itens - os valores exatos são importantes? O gráfico não está fazendo seu trabalho se você não puder interpretá-lo sem todo valor rotulado.
Para a minha tentativa . Dada a aparente importância das somas semanais, plotei as somas cumulativas semanais. Ele mostra as somas semanais e os dias na ordem do tempo. Os valores exatos do dia são menos claros, mas os valores externos ainda se destacam.
Para esses tipos de plotagens de linhas pequenas (que podem ser reduzidas ao tamanho da linha sparkline ), é útil ter uma linha ou área de referência. Para ilustração, adicionei um intervalo de destino. Se um destino não for apropriado, a referência poderá ser algo como o intervalo nas últimas três semanas ou algum valor de referência fixo.
Usei vermelho para indicar quais semanas estavam abaixo da meta para uma digitalização rápida.
Com muito mais semanas, você pode organizá-las em uma grade, e não em uma lista vertical.
fonte
Se eu entendi direito, o motivo pelo qual você não deseja usar os gráficos de linha é que você tem muitas semanas e os gráficos ficam confusos.
Se este for o problema, você poderá dividir a série temporal em componentes:
Variação diária
Variação semanal
Tendência de longo prazo
Algo mais.
William S. Cleveland mostra um bom exemplo disso em um de seus livros (não estou no meu escritório e não consigo me lembrar qual dos seus livros tem o exemplo, mas é Visualizando dados ou Os elementos dos dados gráficos ).
R e SAS têm ferramentas para fazer isso. Você tem acesso a um deles?
fonte
Primeiro, explicarei algumas objeções aos gráficos de barras originais empilhados ou divididos.
uma. O código de cores parece completamente arbitrário. Portanto, o gráfico não pode ser estudado sem se repetir repetidamente entre legenda e gráfico.
b. Zeros estão implícitos, como segmentos de barra invisíveis. Os zeros fazem parte da variação.
Por essas e outras razões, é difícil decodificar os gráficos.
Dito isto, o gráfico tem mérito se o interesse for principalmente estudar a variação dos totais de uma semana para a outra. Muitas semanas podem ser plotadas como muitas barras. A desvantagem correspondente é que seria cada vez mais difícil estudar variações dentro de semanas.
Backup: Existem três variáveis aqui em cada problema.
Tempo estudado ou páginas concluídas.
Dia da semana.
Número da semana.
À medida que o número de semanas aumenta, qualquer gráfico fica mais detalhado. O desafio é manter esse detalhe sob controle.
Eu consideraria um gráfico de ciclo (outros nomes foram usados na literatura, mas a maioria se refere ao seu uso para analisar variações sazonais). Há uma introdução lúcida aqui de Naomi Robbins. Seus exemplos incluem aqueles como o seu, onde o interesse é por variações dentro e entre semanas.
fonte
Os gráficos de linha provavelmente seriam mais fáceis de interpretar se você fizesse uma média móvel de sete, catorze ou talvez 28 dias. Isso os suavizaria e ainda permitiria identificar tendências.
Isso tem algumas semelhanças com a solução de Peter Flom, embora seja bastante mais simples e, portanto, não mostra uma imagem tão completa - mas pode ser suficiente para suas necessidades. Se você estiver gravando seus dados em uma planilha, tem a vantagem de que essa média possa ser realizada facilmente dentro da própria planilha, configurando algumas fórmulas, e o gráfico será atualizado automaticamente à medida que você preencher novos dados.
Atualizar para incluir gráficos
O gráfico da planilha para as médias de rolagem de sete dias é espetacular, mas parece fazer bem seu trabalho - a variação diária é suavizada para facilitar a detecção de tendências (em comparação com o gráfico diário equivalente, que é tão barulhento que é incompreensível). Algumas características principais são bem escolhidas por esse gráfico: por exemplo, uma grande quantidade de trabalho foi realizada em meados de janeiro, em termos de hora em hora, mas isso não foi acompanhado por um aumento proporcional na média de páginas concluídas por dia. A pausa de Natal é muito visível e, desde que os pontos de dados individuais sejam claramente plotados, não será muito enganador (se apenas a linha estivesse visível, seria impossível determinar que o período fixo era devido à falta de dados!). No entanto, eu recomendo fortemente incluir≈ 1,5
Com apenas cinquenta itens de dados, não parecia valer a pena tentar calcular a média durante um período mais longo para detectar tendências de execução mais longas. Da mesma forma, suspeito que a excelente idéia de decomposição sazonal de Peter Flom tenha dificuldades com esses dados limitados. Se você realizasse a decomposição em sua planilha, seria ainda mais importante incluir a quebra como zero dados.
Para reproduzir minhas fórmulas, cole-as para que 'Data' esteja na célula
A1
:fonte
Pelo que entendi sua pergunta, seria possível exibir horas e páginas separadamente. Eu farei isso primeiro. Depois, exibirei Total e Páginas em um gráfico. Suponho que os números reais não são a coisa mais importante - é mais importante obter uma visão geral das semanas e dias da semana, que foram produtivos e quais não foram. Nesse caso, sugiro que você mantenha a estrutura temporal natural, pois na verdade há apenas uma dimensão temporal em seus dados. Ainda podemos encontrar uma maneira de delimitar as semanas.
Usei o seguinte código R e o ggplot2-package para produzir esse primeiro gráfico. Seus dados foram carregados nos dados do objeto no código abaixo. O gráfico é um gráfico de barras agrupadas, com as barras cinza indicando somas semanais de páginas.
Isso claramente não é perfeito. As barras cinza dominam tanto quanto comparadas a uma barra diurna têm uma área maior para a mesma quantidade de leitura. Poderíamos torná-los mais finos, mas eu gosto do jeito que eles delimitam as semanas. Eles indicam muito bem quais dias são na mesma semana - algo que não seria necessariamente inteligível de outra forma. Especialmente porque temos zero contagens.
No próximo gráfico, usei o número médio de páginas (dentro de uma semana) como a altura da barra cinza.
Isso provavelmente representa melhor os dados. No entanto, observe que as semanas 0 e 7 são enganosas porque não incluíram 7 dias. Você poderia facilmente contornar isso.
Se você insistir em exibir páginas e horas simultaneamente, poderá fazer um gráfico de barras consecutivas. Pode ser um pouco confuso, pois as duas escalas verticais não são as mesmas. Por outro lado, pode ser bom comparar o tempo gasto e o trabalho feito diretamente dessa maneira.
EDIT: Percebendo que as cores realmente não são tão necessárias e inspiradas no xan (veja os comentários abaixo), você pode simplificar o enredo para algo assim. Marquei quinta-feira para fornecer um guia visual adicional. Você também pode argumentar a favor do uso da mesma cor em todas as barras para não enfatizar demais alguns dias (arbitrários).
Em uma nota final, você também pode tentar escalar os eixos de maneira diferente, dividindo seus valores pelo valor médio. Isso tornaria 1 um valor "normal". Poderíamos incluir uma linha em 1 para enfatizar esse ponto - agora feito no gráfico consecutivo. Isso separa os dias "bons" dos "ruins" em termos de carga média de trabalho.
Nesse gráfico, podemos também garantir que uma unidade corresponda à mesma distância em ambos os eixos, como são comparáveis agora.
Observe também que eu errei os dias na primeira versão. Corrigi o código e as parcelas e vou praticar os sete dias da semana agora.
O código que produziu o último gráfico:
fonte
fonte
O gráfico abaixo mostra as Horas acumuladas de estudo e o total de páginas dentro de cada semana, usando linhas em vez de barras empilhadas, o que, com sorte, facilitará a visualização da tendência em cada semana e a comparação entre as semanas. Preenchai as semanas que faltam com zeros, mas você pode excluí-los, se desejar. O
R
código para o processamento de dados e geração de plotagem é publicado abaixo do gráfico.Ao executar as etapas abaixo, primeiro carreguei os dados postados na pergunta em um quadro de dados chamado
dat
.fonte
Outra opção é o gráfico de bolhas, onde você pode ter altura vertical para uma variável e tamanho de ponto para a outra. Abaixo, a data (dia) é horizontal, as horas estudadas são verticais, as páginas cobertas por dia são do tamanho de bolhas e a semana é colorida.
fonte
Você pode traçar em 3d. Não verifiquei se o dia da semana foi calculado corretamente, encontre o melhor ângulo de visualização etc., mas isso deve lhe dar uma ideia. Outros enfeites também são possíveis. Por exemplo, talvez seja melhor conectar os pontos a uma linha e mover as linhas de grade para corresponder a cada segunda-feira.
Na verdade, o que seria muito interessante tentar é fazer com que cada linha de grade esquerda-direita e de cima para baixo (como mostrado neste ângulo) corresponda ao mesmo dia da semana (por exemplo, segunda-feira) e, em seguida, coloque gráficos de caixas nas paredes inferior e traseira direita dentro as linhas de grade. Os gráficos de caixa corresponderiam ao total de horas e páginas totais de cada semana, respectivamente. Estou quase certo de que isso seria possível com o rgl, mas exigiria alguns ajustes. Pode valer a pena. As parcelas de violino ou de feijão podem ser ainda melhores.
Os dados (para entrada em R):
Faça o enredo:
fonte
Seguir o mapa de calor com o número da semana (do ano), dia da semana e facetas por horas e páginas pode ser útil:
A remoção de 2 valores altos fornece melhores gradientes de cores na plotagem:
O gráfico de barras a seguir também pode ser útil.
Mostra claramente um período de 2 semanas em que nenhum trabalho foi realizado.
Plotar com linhas também pode ser útil (as linhas não são desordenadas; os pontos também podem ser removidos, mantendo apenas duas linhas)
Eles transmitem claramente as informações enquanto simplificam o gráfico para facilitar o entendimento.
fonte