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.




18 de maio de 2020

Como copiar só as células visíveis no Excel

Uma dúvida comum para quem usa bastante o Filtro do Excel é: depois de filtrar, como copiar apenas as células que estou vendo? Ou: se eu copiar essa seleção, as células ocultas vão ser copiadas junto?

Além de a resposta não ser óbvia do ponto de vista lógico ou de usabilidade, o próprio Excel não é muito previsível ou consistente, principalmente no Windows. O ideal, para usuários frequentes do filtro, é testar bastante até se acostumar com a ferramenta e ter certeza do que você vai estar fazendo. Estar seguro sobre isso pode garantir a qualidade dos dados com que você está trabalhando.

Vamos lá. Veja como selecionar apenas as células visíveis no Microsoft Excel:

Excel para windows

Como copiar somente células visíveis no Excel para Windows - Menu Find & Select
  1. Na barra de ferramentas do Excel, vá até a "Página inicial" (Home), e encontre o "Localizar e selecionar" (Find & Select)
  2. Ir para > Especial... (Go To > Special)
  3. Apenas células visíveis (Visible cells only) e selecione OK
  4. Agora é só copiar e colar onde você deseja

Excel para Mac

A princípio, o Excel no Mac já copia só as células visíveis e as ocultas não vão ser coladas junto com o restante, quando você usa o filtro.
Mas, se quiser garantir, no Mac OS o caminho é parecido. Quando você usa outras funções, como os Subtotais, também é necessário fazer isso para copiar:
No Excel mais novo, deve ser possível seguir o mesmo caminho do Windows. Na versão Excel for Mac 2011, faça o seguinte:
  1. Vá até o Menu superior "Edit > Go To..." Como copiar somente células visíveis no Excel para Mac - Menu Edit > Go To
  2. Botão "Special..." Como copiar somente células visíveis no Excel para Mac - Botõa Special
  3. Selecione "Visible Cells Only" e dê OK Como copiar somente células visíveis no Excel para Mac - Botão Visible Cells Only

Google Sheets

No programa de planilhas do Google Docs, as células visíveis são copiadas por padrão, tanto na função Filtro como nos Subtotais. Por isso não há um caminho para isso.

Subtotal

Além do filtro, uma outra função que também oculta linhas e é comum para quem trabalha com dados é o uso dos Subtotais. Quando você "recolhe" as linhas para mostrar apenas só os subtotais e não os itens, a seleção também pode copiar as linhas e células ocultas.

Veja no vídeo abaixo como fazer a seleção. O exemplo é no Excel for Mac, usando a função subtotal.


Veja também

Como agrupar dados com subtotais
Outros tutoriais de excel



30 de outubro de 2019

Aula DDJ UFPR

Aula sobre visualização na disciplina de Jornalismo Investigativo e de Dados na UFPR, com a prof. Myrian Del Vecchio, 30 out 2019.

1. Exemplos

Alguns projetos interessantes envolvendo dados na redação da Gazeta do Povo (2010-2019): reportagens investigativas, infográficos para matérias, páginas com dados automatizados.



Abrir slides em outra janela
(Links quebrados: Retratos PR, 1000 homicídiosEleições 2014)

2. Gráfico de corrida eleitoral


3. Teoria rápida



Abrir slides em outra janela: Visualização de dados - teoria rápida

4. Raw





Abrir slides em outra janela: Gráficos básicos com Raw Graphs

Mais detalhes sobre como formatar uma tabela (slide 15 em diante)

5. Extras

Links e outras dicas para trabalhar com dados

16 de outubro de 2018

Tabelas em excel com o resultado das Eleições 2018

Dados das votações das eleições 2018 em tabelas excel (.xlsx) ou arquivo de texto (.csv) para baixar.


Dados das votações das eleições 2018 em tabelas excel (.xlsx) ou arquivo de texto (.csv) para download, pra facilitar a vida de quem tem dificuldade de trabalhar com os arquivos grandes em .csv ou .xml do TSE.  Veja aqui exemplos de gráficos e mapas sobre a eleição 2018

para baixar

votações gerais

Resultados para todos os cargos (presidente, governador, senador, deputado federal, deputado estadual/distrital)
2018_BR_Resultados_Tudo.xlsx
eleicoes-2018-resultados-turno-1.csv

Resultados dos eleitos (e quem vai pro 2º turno) no Brasil no 1º turno / todos os cargos
2018_BR_Eleitos_1T.xlsx

Resultados para deputado federal
2018_BR_Resultados_DepFed.xlsx

Resultados dos 513 deputados federais eleitos no Brasil
2018_BR_Eleitos_DepFed.xlsx

Resultados para senador
candidatos-senadores-2018.csv

Resultados dos 54 senadores eleitos (2 terços do Senado)
senadores-eleitos-2018.csv

votações por estado

Resultados para presidente (1º turno) / por estados
2018_BR_Resultado_PRES_Estados.xlsx

Resultados para presidente (1º turno) / por capitais
2018_BR_Resultado_PRES_Capitais.xlsx

votações por município

Resultados para presidente / por municípios
eleicoes-2018-votacao-presidente-candidatos.csv  (1º turno)
eleicoes-2018-votacao-presidente-candidatos-2turno.csv  (2º turno)
2018_BR_Resultados_PRES_Municipios_1T.xlsx  (1º turno)
2018_BR_Resultados_PRES_Municipios_2T.xlsx  (2º turno)
2018_BR_Resultados_PRES_Municipios.xlsx (1º e 2º turnos) 

Resultados para presidente / quem ganhou em cada município
2018_BR_Resultados_PRES_Municipios_Ganhador.xlsx (1º e 2º turnos) 



Resultados da votação estadual (gov, sen, dep) / por municípios

Total de votos por cargo (gov, sen, dep) / por municípios 

resultado das eleições no paraná

Resultados no Paraná (gov, sen, dep)
2018_PR_Resultados_Tudo.xlsx (geral)
2018_PR_Resultados_Tudo_Municipios.xlsx (por municípios)

Resultados para governador no Paraná / por municípios
2018_PR_Resultados_GOV_Municipios.xlsx

Resultados para senador no Paraná / por municípios
2018_PR_Resultados_SEN_Municipios.xlsx

Resultados dos eleitos no Paraná (gov, sen, dep)
2018_PR_Eleitos_1T.xlsx (geral)
2018_PR_Eleitos_Tudo_Municipios.xlsx (por municípios)

Resultados dos 30 deputados federais eleitos no Paraná
2018_PR_Eleitos_DepFed.xlsx (geral)
2018_PR_Eleitos_DepFed_Municipios.xlsx (por municípios)

Resultados dos 54 deputados estaduais eleitos no Paraná
2018_PR_Eleitos_DepEst.xlsx (geral)
2018_PR_Eleitos_DepEst_Municipios.xlsx (por municípios)


votações por zona e seção eleitoral 

O TSE liberou no dia 22/out os resultados por seção eleitoral, duas semanas após as votações:
Repositório de Dados Eleitorais > Resultados > 2018 > Votação por seção eleitoral

A apuração por zona eleitoral acontece em tempo real e agora está disponível lá no Repositório de Dados Eleitorais > Resultados > 2018 > Votação nominal por município e zona (formato ZIP) (389 Mb)

Mais detalhes da votação por seção no boletim de urna: Repositório de Dados Eleitorais > Resultados > 2018 > Boletim de Urna. O arquivo do boletim de urna de cada estado é bem pesado: depois de descompactar, o do PR tem 1.7Gb (são todos os votos por candidato em todas as urnas do estado). Não é um processamento muito simples. Aqui tem uns arquivos recortados pra facilitar (retirados do boletim de Urna, que foi liberado no dia 12/out, cinco dias após as eleições):

Resultados para presidente (1º turno) / no Paraná / por seção eleitoral

Resultados para presidente (1º turno) / em Curitiba (PR) / por seção eleitoral



Resultados para presidente (1º e 2º turnos) / em Curitiba (PR) / por zona eleitoral
2018_Ctba_Resultados_PRES_Zonas.xlsx

Locais de votação em Curitiba (Tabela com os 415 locais de 2018, coordenadas e um identificador que dá pra cruzar com o Boletim de Urna, que tem um código pra cada local)
Ctba2018_LocaisVotacao.xlsx

tentando entender

votos anulados

Em resumo, o TSE liberou 3 arquivos com informações da votação por seção eleitoral (Boletim de Urna, Votação por seção e Detalhes). Mas, até onde consegui interpretar, nenhum deles tem dados de votos anulados, o que torna impossível saber o número exato de votos válidos em cada seção. Votos em candidatos que tiveram problemas com a Justiça Eleitoral estão misturados com aqueles em candidaturas regulares.

  • votos válidos: votos nominais + votos legenda
    (ou a soma de votos em todos os candidatos)
  • votos inválidos: votos brancos + votos nulos + votos anulados
    (ou o total de votos menos os votos válidos)
  • votos anulados: candidaturas indeferidas ou com problemas na Justiça Eleitoral.
    (Em algumas tabelas constam na coluna "Votos Apurados" ao invés de na coluna "Votos Totalizados", como os votos regularizados)


3 arquivos com informações da votação por seção eleitoral (Boletim de Urna, Votação por seção e Detalhes)


explicando...

pra quem tá chegando agora:
  • uf > município > zona eleitoral > local de votação > seção eleitoral
  • 1 zona eleitoral, vários locais de votação
  • 1 local de votação, várias seções eleitorais
  • 1 seção eleitoral = 1 urna
o local de votação não consta nos dados de eleições (normalmente é atribuição dos TREs), a divisão oficial é só zona/seção, mas se os dados estiverem disponíveis, o cruzamento pode dar informações interessantes, como mapas por local de votação ou mapas de votação por bairros. se não for possível, o mapa por zonas já é legal.

Curitiba teve, em 2018:
  • 10 zonas eleitorais,
  • 415 locais de votação, 
  • 4018 seções eleitorais.

mapas eleitorais

Pra ajudar na criação de mapas nacionais, aqui tem uma tabela de municípios com coordenadas (colunas LatLong) e um arquivo espacial com o formato georreferenciado dos municípios (shapefile):



Em Curitiba, o Ippuc já georreferencia os locais de votação e as zonas eleitorais em formato shapefile, com informações do TRE-PR: 

mapa com os 415 locais de votação em curitiba, com as urnas das 4018 seções eleitorais divididas nas 10 zonas eleitorais da cidade. cores mais fortes são onde tem votam mais eleitores

veja mais