Mostrando postagens com marcador Tableau. Mostrar todas as postagens
Mostrando postagens com marcador Tableau. Mostrar todas as postagens

26 de maio de 2020

Gráficos online que atualizam automaticamente

Como fazer gráficos que atualizam dinamicamente quando seus dados mudam? Ou seja, criar um gráfico que se modifique sozinho quando os dados atualizarem. Quem trabalha com dados no jornalismo precisa em algum momento criar um monitor para acompanhar determinado assunto, mantendo as informações atualizadas com certa frequência, puxando direto da fonte oficial ou de uma planilha intermediária. Aí surge a necessidade de criar uma visualização que se alimente desses dados e se atualize sozinha sem que você tenha que toda vez abrir para atualizar os gráficos.

Com os dados sobre o Coronavírus, muita gente precisou criar mais gráficos para acompanhar a evolução da epidemia, e manter os gráficos atualizados se tornou uma dificuldade à parte. Testei muitas fontes e programas para criar um monte de gráficos automatizados neste período até chegar em soluções sustentáveis, e posso indicar 3 ferramentas online gratuitas para criar gráficos que se alimentam de dados dinâmicos: Google Sheets, Datawrapper e Tableau Public. Em todas elas você pode usar o Google Docs como fonte dos dados ou um CSV externo.

1. Google Docs (sheets)

https://docs.google.com/spreadsheets/u/0/

Mapas e gráficos do Google Docs com atualização automática, usando os dados inseridos na mesma planilha


Prós:

  • Atualização rápida (em torno de 5 min, se não for imediata)
  • Gráficos no mesmo lugar onde estão os dados (pode ser uma vantagem para manuntenção)
  • Leves (carregamento rápido quando embedado)

Contras:

  • Gráficos são mais simples
  • Gráficos não são responsivos (se você quiser atender diferentes tamanhos de tela, tem que duplicar e ajustar o tamanho do gráfico)
  • Mapas muito básicos (não dá pra usar só o Brasil, por exemplo, só a América do Sul inteira) e um pouco lentos para carregar
  • A fonte tem que ser o próprio google Sheets (você pode até usar uma fonte externa, mas importando para o Google Docs, com funções como IMPORTXML, IMPORTCSV ou mesmo IMPORTHTML, para elementos table)

Frequência de Atualização:

Imediata (ou geralmente em até 5 minutos)

Como fazer um gráfico dinâmico no Google Sheets

  1. Insira seus dados em uma tabela do Sheets
  2. Selecione os dados
  3. Vá no menu "Inserir gráfico"
  4. O gráfico já aparece na tela, com sugestão de formato de acordo com seus dados. Faça todos os ajustes no editor de gráfico, na barra lateral.
  5. Publique. No botão de opções (três pontinhos) no canto do gráfico, há uma opção Publicar. No popup, escolha Incorporar, e copie o código de embed

2. Datawrapper

https://www.datawrapper.de/

Método de conexão de dados do Datawrapper com o Google Sheets ou um CSV externo, para manter os dados atualizados no gráfico publicado


Prós:

  • Aceita tabelas do Google Docs (existe o modo importação, que deixa os dados estáticos, e o modo "Link external dataset", o mesmo caminho para CSVs externos, que é a opção que mantém seus dados atualizados)
  • Aceita CSVs externos, salvos em algum servidor web
  • Gráficos muito versáteis, de diversos tipos
  • Bonito, visual interessante
  • Responsivo (adapta muito bem em tamanhos diferentes, tem até ajustes específicos mobile/desktop)

Contras:

  • Não é totalmente personalizável.
  • A interatividade é simples (tooltips). Mas não dá para fazer filtros ou seleções
  • O crédito precisa aparecer na versão grátis

Frequência de Atualização:

A cada minuto no primeiro dia após a publicação. Depois de 24h, é atualizado de hora em hora (para resetar a contagem, basta abrir o gráfico para republicar).
Para forçar a atualização, precisa abrir o gráfico, e ir na aba "Check & Describe" para puxar os dados novos (não precisa republicar o gráfico)

Como fazer um gráfico dinâmico no Datawrapper

  1. Crie um novo gráfico (New Chart, New Map ou New table)
  2. Na tela de Upload Data, escolha "Link external dataset" (a opção "Import Google Spreadsheet" não vai manter seu gráfico atualizado, ela só importa os dados uma vez)
  3. Cole o link de um CSV externo. No caso de uma tabela do Google, ative o compartilhamento da planilha antes (Compartilhar > Copiar link > Mudar para qualquer pessoa com link. Depois disso, pode copiar até o link pela barra de endereços)
  4. Siga as etapas para criar o gráfico
  5. Finalize em "Publish & Embed" para copiar o código

Exemplo de gráfico automático com Datawrapper:

3. Tableau

https://public.tableau.com/

Método de conexão de dados do Tableau Public com o Google Sheets, para manter os dados atualizados no gráfico publicado


Prós:

  • Gráficos mais complexos e dashboards
  • Possível criar filtros e permitir maior interatividade com os gráficos
  • Possível criar cálculos, agrupamentos e transformações com os dados

Contras:

  • Pesado (carregamento mais lento)
  • Curva de aprendizado maior
  • Não é online (tem para windows e mac)

Frequência de Atualização:

1 vez por dia. Para forçar a atualização, precisa estar logado na conta do Tableau Public e clicar em "Solicitar atualização", no rodapé do gráfico, que fica no seu perfil.

Como fazer um gráfico dinâmico no Tableau Public

  1. Connect to Data > Google Sheets
  2. Dê as permissões no navegador
  3. Escolha a planilha da sua conta
  4. Crie a visualização
  5. Save to Tableau Public...
  6. Deixe marcada a opção "Manter meus dados sincronizados..." ("Keep my data in sync with Google Sheets and embed my Google credentials")

Exemplo de gráfico automático com Tableau

Mapa e evolução do coronavírus por cidades no Brasil

4. Flourish (menção honrosa)


Método de upload de dados para criar visualizações de dados com o Flourish (CSV, TSV, Json, GeoJson)


O Flourish é uma ferramenta sensacional. Possui interatividades e animações (o modelo da famosa bar chart race), vários tipos de gráficos interessantes, e é versátil nas aplicações, como a possibilidade de criar "histórias", com uma sequência de gráficos, ou até mesmo embedar um gráfico dentro do outro.

Mas o Flourish não tem, até o momento, um método simples de conexão com uma fonte de dados dinâmica. Há apenas a opção de inserir dados via Copiar e Colar, ou upload de arquivos Excel, CSV, TSV, Json e Geojson. Quando lançaram o modelo de Growth Comparison, para comparação do crescimento da Covid-19 entre países, vi que eles possuem API. Para quem vai construir o gráfico via API, é possível usar dados dinâmicos via Json, por exemplo, mas aí depende de saber programar, diferente das outras soluções.




26 de novembro de 2017

Visualização de dados



Visualização de dados básica: como formatar dados para cada tipo de gráfico e visualizar usando ferramentas grátis como Raw e Tableau. Também alguns princípios básicos do design da informação aplicados à visualização.


Workshop de visualização de dados no Coda.Br 2017, 2ª Conferência Brasileira de Jornalismo de Dados.


Slides



Abrir slides em outra janela

Arquivos de exemplo


Baixe o Excel
tabela-exemplo-dataviz.xlsx

Ou abra no Google Docs
tabela-exemplo-dataviz (Sheets) (Arquivo > Fazer uma cópia)

Ferramentas


Raw Graphs

Tableau Public



1 de julho de 2017

Preciso de um infográfico: Usando recursos visuais para comunicar

Abrir slides em outra janela



Curso no Congresso Abraji 2017 (Associação Brasileira de Jornalismo Investigativo)

Dicas de como visualizar dados no dia-a-dia de uma redação com truques simples no próprio Excel e com outras ferramentas grátis como o Google Maps, Tableau Public e o Raw Graphs.

Com o propósito de democratizar a produção de infográficos, gráficos, mapas e tabelas, o foco do curso é que qualquer um pode aprender a comunicar informações visualmente usando estratégias visuais básicas como Cor, Tamanho, Ordenação e Agrupamentos

Ferramentas extremamente simples são muito bem-vindas, como capturas de tela (o famoso print screen) ou geradores de gifs.

Download da tabela de exemplo

15 de junho de 2016

Tableau responsivo

Veja como fazer um arquivo do Tableau Public funcionar bem em telas pequenas e dispositivos touch screen, como em um smartphone (how to make a mobile responsive tableau dataviz).

Responsive Tableau Viz

Para quem tem pressa (TLDR)

Se você não tem tempo, leia os dois itens extremamente necessários:

Com isso, seu tableau já fica “flexível” para vários tamanhos. Agora tire um tempo para ver como fazer isso ficar bom:

Como fazer um tableau “mobile friendly”

Por padrão, um arquivo do Tableau não se adapta sozinho a uma tela de smartphone, mesmo que você deixe o tamanho “automático”. É preciso fazer alguns ajustes, e principalmente, pensar em simplificar a vida de quem vai visualizar e interagir com as informações numa tela limitada.

É provável que, com o Tableau, você não consiga um resultado 100% satisfatório e irrite algum usuário que vai tentar interagir com o que você produzir, principalmente à medida que a complexidade dos dados e funcionalidades aumenta.

Mas com as dicas a seguir é possível fazer algo bem aceitável. Detalhei bem o texto para explicar as razões de cada decisão, mas na correria, só os títulos e as imagens já devem ajudar:

Requisitos básicos

Não sei se precisa comentar, mas:

  • Publique sempre seu conteúdo em um dashboard (painel).

    Usando sheets (planilhas) soltas não tem como controlar e planejar com exatidão o que vai aparecer ou não no resultado publicado. Jogue as sheets num dashboard, ou em vários dashboards (vários dashboards podem ser publicados em abas, ou em uma “história”)

  • Use sempre o tipo de layout “tiled” (Lado a lado), e não “floating” (Flutuante)

    Porque sim. Não sei como objetos flutuantes irão se comportar com tamanhos diferentes de tela; parece que são mais imprevisíveis.

Agora, as dicas:

1. Um layout, várias larguras

Uma alternativa para atender a todos os tipos de usuário é criar duas versões, uma larga e uma estreita, e criar uma condicional (em css, js, …) para que o seu site exiba uma ou outra de acordo com o dispositivo que vai acessar. Parece uma solução ruim e trabalhosa.

Para facilitar o trabalho de quem vai projetar a visualização, prefiro pensar que o ideal é criar uma versão só que se adapte a vários tamanhos de tela.

Pra isso é preciso pensar primeiro na situação mais limitada – a tela pequena do celular na posição retrato–, e depois o restante fica mais simples de resolver.

E acredite, a limitação é boa para reduzir a quantidade de coisas desnecessárias que colocamos nas visualizações só porque “tem espaço”.

Exemplos

Veja alguns exemplos de dashboards preparados para funcionar em telas grandes e pequenas:

Abra no celular ou diminua a janela do navegador para ver como se comportam.

Todos esses exemplos foram pensados para funcionar em qualquer largura na faixa de 320px a 1000px de largura. Ou seja, a mesma informação consegue ser aberta em um pequeno Android Moto G, em um Iphone 6 plus, ou um computador desktop com tela widescreen.

2. Defina o tamanho do dashboard

  1. Escolha tamanho “Intervalo” (range) Defina o tamanho do dashboard
  2. Defina a largura menor: 320px (celular)
  3. Defina a largura máxima: 1000px (desktop)
  4. Use a mesma altura mínima e máxima. 800px e 800px, por exemplo. O tamanho vai depender da quantidade de coisa que você tiver ali dentro. Se as alturas não forem iguais, você corre o risco de criar mais uma rolagem interna desnecessária, quando estiver em uma tela menor.

Teste o tamanho

Definido o tamanho do dashboard, você pode testar como fica a visualização em diferentes tamanhos, ajustando a largura da janela do aplicativo do Tableau.

Bug

Depois de ajustar a janela ou clicar em algum lugar que não sei bem onde, o Tableau tem algum bug que faz com que o tamanho volte a ser “Automático”, ao invés do “Intervalo” já definido.

Defina de novo e bola pra frente.

Novo tamanho, novo código

Se mudar o tamanho do dashboard (ou o nome), copie um novo código de embed para não ter problemas.

3. Evite rolagens

Use o mínimo de rolagens possível.

O seu conteúdo já vai ser rolado na vertical, na maioria das vezes. Se tiver um pouco de altura, já fica maior do que o que cabe no celular e o leitor vai ter que rolar pra ver o conteúdo todo. Normal, é como funcionam os textos.

Além dessa rolagem vertical, que é quase inevitável, evite quaisquer outras rolagens desnecessárias, como rolagens horizontais, ou muitas listas de coisas dentro do dashboard.

O ideal é que todos os elementos caibam inteiros dentro do dashboard (mesmo que ele fique alto), e o leitor só precise usar a rolagem natural da página.

4. Pense horizontalmente

Para eliminar rolagens, você precisa aproveitar ao máximo espaço horizontal. Tente usar a largura completa para todos os elementos.

Exemplo de tableau responsivo

  • Evite a rolagem horizontal

    Se você fizer coisas mais largas que a tela do celular, o leitor além de ter que rolar na vertical, vai ter que rolar também na horizontal e vai ficar “sambando” dentro do gráfico, como se estivesse em um mapa.

  • Não coloque coisas lado a lado

    Esqueça a enorme quantidade de filtros que você podia colocar na lateral de um gráfico e ficava tão legal numa largura desktop. Simplifique, escolha um ou outro, e coloque o filtro antes ou depois do gráfico (acima ou abaixo)

  • Pense em elementos que ocupem a largura inteira

5. Ajuste os elementos

Faça os elementos se ajustarem sozinhos.

Por padrão, as sheets (planilhas) que você arrasta no dashboard (painel) tem o tamanho natural que o gráfico mesmo gerou ou o tamanho que você redimensionou lá na edição da planilha.

image

Quando você arrasta as sheets no dashboard, elas caem dentro de uma moldura (container). Conforme você redimensiona o container e o conteúdo dentro fica maior que o container, ele é cortado, ou gera rolagem.

  1. Clique nas opções do objeto (aquela seta minúscula, perto do X no canto superior direito)
  2. Ajustar > Exibição inteira

Há quatro opções de ajuste ali. Explico:

  • Normal: opção padrão. Tamanho original. Sujeito a corte ou rolagem não planejada.
  • Ajustar largura: ideal para listas. A altura fica original e a largura fica em “100%” do tamanho da janela. Ou seja, o tableau vai comprimir tudo o que você jogar ali na largura que o leitor tiver disponível para ver é bom para quando você quer manter uma rolagem vertical. Exemplo: Uma lista muito grande. Você garante que a largura toda fica visível (e o leitor vê todos os números sem precisar rolar para o lado), mas você já sabe que vai haver uma rolagem dentro do seu tableau.
  • Ajustar altura: evite. A altura fica comprimida ao espaço disponível. Vai gerar rolagem horizontal. Não costumo usar. Mas posso imaginar uma lista de fotos de políticos, como uma galeria, por exemplo. Ou um gráfico de barras muito horizontal.
  • Exibição inteira: o mais indicado. O conteúdo vai ser comprimido na altura e largura. nada vai ser cortado e não vai gerar rolagem. Preocupe-se apenas em deixar o container de um tamanho que o conteúdo seja legível. Ou o conteúdo simples o suficiente para o tamanho.

Conteúdo exibido por completo após o ajuste com “Exibição inteira”: Conteúdo exibido por completo após ajuste

6. Simplifique

Diminua o tamanho dos elementos

  • Use filtros condensados Filtro suspenso

  • Não exagere no tamanho de cada gráfico.

    Tente fazer coisas que caibam em uma rolagem de celular (para que o leitor não fique tendo que ir e voltar pra ler o mesmo gráfico)

Use menos elementos

  • Prefira menos elementos no layout

  • Personalize o tooltip (“dica de ferramenta”)

    Edite o texto padrão e deixe apenas as informações importants. Crie hierarquia entre elas. É um campo de layout livre.

  • Desabilite as opções de tooltip

    No canto da janela de edição do tooltip há um botão “Incluir botões de comando” (Include command buttons). A única função disso é habilitar mais botões para o usuário apertar sem querer e estragar tudo. Desmarque.

    command-buttons

  • Reduza o número de labels (rótulos)

    Prefira gráficos sem labels, ou com labels sucintas e simplificadas. Para alguns tipos de gráficos há a opção de mostrar rótulos apenas para alguns valores, como máx./mín. ou valores finais. Menos Labels

7. Deixe espaço para a rolagem

O tableau é um software muito bom. Tem funcionalidades poderosas. Mas a interação com um gráfico publicado é muito complicada e cheia de locais “onde não dá pra clicar”, coisas que você clica e some tudo, etc. No celular ou dispositivos touch screen, os problemas aumentam. A rolagem é especialmente triste.

O problema da rolagem

Veja meu sucesso tentando rolar a página em um dos exemplos que dei acima:

A experiência é trágica. O que era pra ser um simples scroll vira clique ou seleção de coisas. Se fosse um mapa, o resultado seria ainda pior. Mesmo a rolagem no desktop ainda é um problema quando encontra um conteúdo como um Google Maps no meio do caminho.

Solução

A única solução que encontrei é deixar uma lateral livre e torcer para que o usuário adivinhe que pode clicar ali para rolar sem estragar tudo.

Solução alternativa para o scroll no tableau

  1. No dashboard, arraste um novo objeto “Em branco” (blank) na lateral direita de tudo Inserir objeto em branco

  2. Redimensione a largura para ficar bem estreita, o suficiente para alguém conseguir usar o dedo para “arrastar” a tela no celular.

  3. Diminua a janela do aplicativo para ver como fica

8. Ajuste o código de embed

O código padrão do Tableau não funciona para vários tamanhos mesmo que você defina um tamanho flexível no seu dashboard. É preciso fazer dois ajustes:

  1. Esteja no dashboard a ser publicado antes de salvar
  2. Salve o Tableau Public.
  3. Na página que abrir no navegador, copie o código de compartilhar (Código inserido): Tableau - Embed code
  4. Encontre os dois lugares onde a largura é especificada no código e troque a medida por 100%.
  5. No exemplo abaixo:

    • width: 904px; vira width: 100%;
    • width='904' vira width='100%'
  6. O exemplo, antes do ajuste:

    script type='text/javascript' src='https://public.tableau.com/javascripts/api/viz_v1.js'></script><div class='tableauPlaceholder' style='width: 904px; height: 1295px;'><noscript><a href='#'><img alt=' ' src='https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;Ti&#47;TiroteiosnosEUA2013-2016&#47;Resumo&#47;1_rss.png' style='border: none' /></a></noscript><object class='tableauViz' width='904' height='1295' style='display:none;'><param name='host_url' value='https%3A%2F%2Fpublic.tableau.com%2F' /> <param name='site_root' value='' /><param name='name' value='TiroteiosnosEUA2013-2016&#47;Resumo' /><param name='tabs' value='yes' /><param name='toolbar' value='yes' /><param name='static_image' value='https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;Ti&#47;TiroteiosnosEUA2013-2016&#47;Resumo&#47;1.png' /> <param name='animate_transition' value='yes' /><param name='display_static_image' value='yes' /><param name='display_spinner' value='yes' /><param name='display_overlay' value='yes' /><param name='display_count' value='yes' /><param name='showTabs' value='y' /></object></div>

  7. Oculte as abas. Ultimamente, na Gazeta do Povo temos trabalhado com dashboards únicos. Quando é preciso mais de um, é uma opção legar criar uma nova “História”, que é um conjunto de dashboards. Para isso é bom garantir que as abas (dashboards, sheets e stories) fiquem escondidas na versão publicada. O Tableau até tem uma opção “show sheets as tabs”, mas ela já me decepcionou e não confio mais. Por isso é melhor garantir no código que elas não vão aparecer quando você inserir o código na sua página:

    • <param name='tabs' value='yes' vira <param name='tabs' value='no'
    • <param name='showTabs' value='y' vira <param name='showTabs' value='n'
  8. Não esqueça de copiar novo código se alterar o nome ou o tamanho do dashboard, e fazer esse ajuste novamente.

  9. Pronto.

Ajuste o código automaticamente

Essa parte é um epílogo um pouco mais avançado para quem usa Mac. É uma mão na roda se você tem que fazer esse processo de ajustar o código para publicar Tableaus frequentemente (nós fazemos isso em TODAS as publicações).

  • Use o mágico TextWrangler (editor de texto para Mac)
  • Cole o código de embed em um documento novo
  • Baixe esse applescript e aperte play
  • O código está pronto com os ajustes

18 de maio de 2014

Dados normalizados (reshape data)

O que é

Reshape (ou unpivot ou normalizar) de uma tabela é um processo necessário em alguns casos pra conseguir visualizar os dados usando algum software como Tableau, Raw, R, ou mesmo pra utilizá-los no Excel com mais funcionalidades (como Filtro, Subtotais, …).

Uma tabela normalizada (reshaped) é uma tabela em um formato que o software vai entender. Visualmente (como tabela) pode ficar mais confusa ou redundante. Mas o propósito básico dela é conseguir fazer cálculos ou utilizar os dados para visualização. Então, sabendo quando utilizar, pode ser muito útil ou essencial.

Como devem ficar os dados

Essa é a tabela antes do reshape.
Ela é lida célula por célula, como no batalha naval. ("Cidade 3" tem o "Problema B" = 3. Bomba!)
Nas células no meio do caminho, estão o número de ocorrências.
É uma boa tabela para compilar dados e visualizar como tabela no Excel mesmo.
É comum também cada coluna ser um período (2006, 2007, 2008...)

Tabela antes do reshape
Em alguns casos, a tabela precisa do reshape para ficar neste formato.
Ela deve ser lida linha por linha.
Agora, cada coluna tem apenas uma "característica" (Problema e Valor) da "coisa" (Cidade) que está na primeira coluna. 
Esse formato de tabela é utilizado pelos softwares de banco de dados (tabela normalizada). Uma das regras da tabela normalizada é que cada linha pode ser lida individualmente e se refere apenas a uma coisa. Cada linha é um registro, uma ocorrência. Na linha 6, o "Problema B" e o valor "3" dizem respeito à "Cidade 3". 
Problema e Valor são características da Cidade. O conjunto dos 3 na mesma linha é um registro.

Tabela depois do reshape





Como fazer



Plugins

(Tools for reshaping / unpivot / normalize data)
Neste caso foi usado um plugin para Excel para fazer a transformação:

Reshaping Data - Tableau Add-in. (Funciona só em Windows)
http://kb.tableausoftware.com/articles/knowledgebase/addin-reshaping-data-excel

O Tableau também tem um tutorial de como preparar os dados
http://kb.tableausoftware.com/articles/knowledgebase/preparing-excel-files-analysis

Alternativa para Excel no Mac:

Add-in "Table 2 DB":
https://drive.google.com/file/d/0Bya641p0XuQjQ3czOFUxeE1TUEk/view?usp=sharing
(Excel for Mac Reshape Add-in)

Veja onde instalar:
Table 2 DB installation folder (Excel for Mac Add-in)

Outra forma possível é o Data Wrangler (http://vis.stanford.edu/wrangler/).

Outro Exemplo

Um exemplo de reshape com dados reais:

22 de março de 2014

Visualizando dados com Tableau


Download dos arquivos:

Apresentação
VisualizandoDadosTableau.pdf

Exemplo 1
populacao_RS2010.xls

Exemplo 2
municipios_RS_LatLong.xls


Descrição

Workshop sobre o básico da visualização de dados com o software Tableau. Exemplo de jornalismo de dados: série Crime Sem Castigo, da Gazeta do Povo, em que foram mapeados 1000 homicídios em Curitiba.

Apresentado no II Seminário da Abraji (Associação Brasileira de Jornalismo Investigativo) em Porto Alegre. Março de 2014

Conteúdo:
-----------
3 Apresentação da reportagem: Crime sem Castigo
27 Apresentação do Tableau
31 Abrindo dados
40 Criando uma visualização
56 Publicação
63 Cruzando dados
75 Preparando arquivos