31 de março de 2015

Publicar um iframe do Google Drive personalizado

Se você tem uma tabela no Google Drive (antigo Google Docs), você pode publicá-la em um blog ou site do jeito que ela está. E quando fizer alterações na tabela, elas aparecereão na versão publicada.

É possível fazer isso gerando um código html para embedar (incorporar) a tabela no seu site. Esse código vai ter a tag html <iframe>, que nada mais é que uma moldura, uma janela pra mostrar um conteúdo que está em outro lugar (nesse caso, o conteúdo aparece no site onde você colocar, mas ele está de fato no Google Drive).

Código iframe padrão

Um problema que aparece é que o código padrão não é muito esperto (não vem nem com as dimensões que o iframe deve ter). Veja como fica:




Você vai precisar então personalizar esse código para que a aparência fique um pouco melhor. Veja como fazer isso.


Personalizar o código de iframe do Google Drive

0. Criar ou converter uma tabela no Google Drive

Se não tem uma conta google, tenha. Se você tem uma conta google, você tem google drive. E no google drive é fácil de usar tabelas. Você pode criar uma direto lá (Novo > Planilhas Google) ou fazer Upload de um arquivo .xls que ele vai converter para o formato dele. As tabelas são editáveis online, compartilháveis, podem ser editadas por várias pessoas ao mesmo tempo, e mantém histórico de revisões e alterações.



Pra tirar uma com os torcedores locais, peguei essa tabela que eu achei rápido aqui, sobre quantas rodadas o Coritiba passou na Zona de Rebaixamento. É a que está publicada do jeito padrão aí em cima.

1. Gerar o código de incorporação (embed).

É um código html com a tag <iframe>.
No menu Arquivo > Publicar na Web…



2. Publicar a tabela desejada

Na aba "Incorporar", selecionar a aba (planilha) a ser publicada, ou "Documento inteiro", se for o caso publicar todas as abas (quando você só tem uma aba só, é indiferente). Clique em Publicar.




3. Copiar o código.

O código deve começar com <iframe…  e termina com </iframe>)
A princípio, esse código já pode ser publicado, mas as edições a seguir deixam a tabela menos "engessado" e mais limpa visualmente.

Código de exemplo:
<iframe src="https://docs.google.com/spreadsheets/d/1artWkEWCfVSfqyl_m7fn5QIfEiPHsGbDbPlg8E_cEfg/pubhtml?widget=true&amp;headers=false"></iframe>

4. Editar o código


4.1 Adicionar largura e altura
Adicionar width="670" height="500"

<iframe src="https://docs.google.com/spreadsheets/d/1artWkEWCfVSfqyl_m7fn5QIfEiPHsGbDbPlg8E_cEfg/pubhtml?widget=true&amp;headers=false" width="670" height="500"></iframe>

4.2 Tirar borda do iframe
Adicionar frameborder="0"

<iframe src="https://docs.google.com/spreadsheets/d/1artWkEWCfVSfqyl_m7fn5QIfEiPHsGbDbPlg8E_cEfg/pubhtml?widget=true&amp;headers=false" width="670" height="500" frameborder="0"></iframe>

4.3 Tirar barra de abas
Mudar widget=true para widget=false

<iframe src="https://docs.google.com/spreadsheets/d/1artWkEWCfVSfqyl_m7fn5QIfEiPHsGbDbPlg8E_cEfg/pubhtml?widget=false&amp;headers=false" width="670" height="500" frameborder="0"></iframe>

Fazendo as três alterações, o código final fica assim:
<iframe src="https://docs.google.com/spreadsheets/d/1artWkEWCfVSfqyl_m7fn5QIfEiPHsGbDbPlg8E_cEfg/pubhtml?widget=false&amp;headers=false" width="670" height="500" frameborder="0"></iframe>

Está publicado aí pra baixo. Dá uma olhada na diferença.
4.4 Tirar gridlines
Em alguns casos, a tabela pode ficar melhor sem o grid padrão de células. Assim, você pode fazer aparecer apenas os contornos que você escolheu (pintou, escolheu espessura, etc.)

Adicionar &gridlines=false

<iframe src="https://docs.google.com/spreadsheets/d/1artWkEWCfVSfqyl_m7fn5QIfEiPHsGbDbPlg8E_cEfg/pubhtml?widget=false&amp;headers=false&gridlines=false" width="670" height="500" frameborder="0"></iframe>

4.5 Tirar barra de título e rodapé:
Por padrão, o iframe fica com uma barra de título (com o nome da planilha e o nome da aba atual). E se você fizer a traquinagem anterior pra tirar a barra de abas, surge uma nova barra no rodapé "Published by Google Sheets - Atualizado a cada 5 minutos automaticamente". Nada contra dar crédito ao Google Sheets, mas poderia ser mais discreto.

Para remover a barra, adicione: &chrome=false

<iframe src="https://docs.google.com/spreadsheets/d/1Y0mi4KrrmTesW0fUI00ZjTC-IoO63w4nNHAfHf0A3n0/pubhtml?gid=746120118&amp;single=true&amp;widget=true&amp;headers=false&gridlines=false&chrome=false"></iframe>

Se esse último truque parar de funcionar, a solução é deixar a barra de títulos mais amigável. Por padrão ela mostra o título do documento, dois pontos e o título da aba (planilha). Deixando nomes que façam sentido já resolvem o problema. Se quiser mais uma gambiarra, dá pra deixar a planilha sem nome, com apenas um espaço, pra ficar uma coisa a menos.

Código iframe personalizado

Voilá. Veja como ficou depois de customizar o iframe que veio do Drive:



Ajustes finais

Espaços brancos

Elimine os espaços em branco eliminando linhas e colunas vazias.

Barras de rolagem

Elimine as barras de rolagem ajustando as dimensões do iframe.
Se as dimensões (width e height) da moldura (iframe) forem menores do que o conteúdo que ela está mostrando (a tabela), vão haver barras de rolagem. Se forem maiores, vão ficar espaços em branco sobrando. Teste valores diferentes até a moldura ficar bem ajustada na página.

29 de outubro de 2014

Edição de texto: Transformar listas em tabelas

Como transformar textos lineares, digitados em formato de "ficha", em tabelas, com a ajuda de um editor de texto e fazendo buscas e substituições. Aqui foi usado o editor de texto gratuito para mac TextWrangler e o Open Refine. O TextWrangler tem suporte a buscas e substituições mais avançadas (expressões regulares, ou GREP). Uma opção para windows é o Notepad++, mas até o Word quebra alguns galhos.

Porque a tabela?

Uma tabela é muito mais útil para trabalhar com muitas ocorrências de estrutura semelhante, comparáveis e estruturadas. Com a tabela as informações podem ser filtradas, reordenadas, calculadas, visualizadas, etc., coisas que não poderiam ser feitas com o texto puro.


Link direto do vídeo: http://youtu.be/SOBvEj7KQl4

Transformar listas em tabelas

Aqui vai uma descrição rápida do processo que eu fiz enquanto limpava esse texto e gravava o vídeo:
1. Conferir/identificar padrões
2. Usar um editor de texto mais poderoso (com suporte a expressões regulares "GREP")
3. Identificar número de ocorrências, e se os mesmos itens estão em todas as ocorrências
4. Organizar anotações:
- número de campos
- ordem
- como vai ficar a tabela
- número de tabs pra organizar as colunas
5. Começar a limpar o texto.
- eliminar os campos e jogar o número de tabs correspondentes à posição de cada campo
6. Fill Down com o Google/Open Refine
- adicionar cabeçalho
- identificar caractere separador dos campos: tab (formato TSV)
- garantir que ele esteja lendo a primeira linha como cabeçalho (se você já pos o cabeçalho.)
- criar projeto
- fazer o Fill Down em todas as colunas até chegar na última, sem fazer na última. Opções da coluna > Edit Cells > Fill Down.
- o Fill Down preenche as células vazias com duplicando o conteúdo até encontrar a próxima célula preenchida, e assim por diante.
- o objetivo é fazer com que a última linha da sequência esteja com todos os campos preenchidos. 
- assim que a última linha da sequência estiver inteira preenchida (feito o Fill Down em todas as colunas necessárias), pode-se apagar as outras linhas temporárias.
- é possível fazer isso identificando as linhas que tem o último campo vazio.
- Opções da coluna > Facet > Customized Facet > Facet by Blank. O facet identifica e indexa todo o conteúdo que tem naquela coluna. A partir do index que ele faz, você pode filtrar a tabela, clicando no item que você quer mostrar. O facet que escolhemos (Facet by Blank) identifica as linhas vazias e preenchidas. Então ao clicar em true, só as linhas vazias (naquela coluna) vão aparecer. E clicando em false, só as linhas preenchidas vão aparecer.
- Apagar linhas vazias: Selecionar "true" > Opções da coluna "All" > Edit Rows > Remove all matching rows.
- agora todas as linhas estão preenchidas. Exportar > Escolher um formato 
7. Puxar pro Excel.
8. Feito.

Um outro exemplo:

Link direto do vídeo: http://youtu.be/yxrkg9xFxyo

--
Using GREP or RegEx (regular expressions) to transform textual lists into tables / spreadsheets. TextWrangler (mac) and Open Refine and Microsoft Excel helped to do the trick.

12 de agosto de 2014

Gráficos simples com Datawrapper

Usando a ferramenta alemã Datawrapper para fazer gráficos simples (e interativos) para a web. Abaixo como ficam os gráficos publicados, o passo a passo de como fazer e na sequência um vídeo do passo a passo.

Pesquisa Ibope para presidente (7/ago)

Intenção de voto em 7/ago, em %

Evolução da intenção de voto, em %

Fonte: Ibope. Metodologia: Pesquisa realizada entre 3 e 6 de agosto de 2014 em 17 municípios. Margem de erro: dois pontos percentuais. Nível de confiança: 95%. Pesquisa registrada no TSE sob o protocolo nº BR-00308/2014.




Como fazer

0. Coletar e organizar os dados.

Recomendo manter uma planilha organizada com os dados (resultados da pesquisa) e os metadados (fonte, metodologia, ...). Assim fica mais fácil e confiável para copiar e conferir as informações que vão ser visualizadas.

Para a pesquisa simples (com uma data): Gráfico de barras
Formato da tabela para gerar o gráfico de barras

Para a pesquisa de evolução (várias datas): Gráfico de linhas
Formato da tabela para gerar o gráfico de linhas

No Datawrapper o processo é bem parecido para os dois tipos de gráfico. Para o gráfico de linha só há uma diferença na aba Personalizar, mas está explicada abaixo marcada com "Atenção!".

1. Colar os dados no Datawrapper

2. Conferir se ele entendeu os dados certos

• cada tipo de informação está em uma coluna?
• o cabeçalho foi identificado? (se a tabela tem cabeçalho esta opção tem que estar marcada: "A primeira linha são os rótulos")
• os números que aparecem nessa tabela são os mesmos que foram coletados antes?


3. Criar o gráfico

• Escolha o tipo de gráfico: barras (1 data) ou de linha (várias datas)

• Edite as cores. Escolha uma neutra (cinza) ou escolha uma para cada categoria (partido):


• Atenção: ajuste extra para gráfico de linhas!
Marque "Rótulos diretos" e "Estender até o zero"






• Ajuste o tamanho para não ficar espaço sobrando

• Deixe sem título, descrição e fonte, para adicionar direto pela página, antes e depois do gráfico.

4. Publicar e incorporar (embed)

Copie o código e cole no meio da matéria.

5. Adicione os títulos e metadados ao código

Para essa etapa vai servir aquela planilha com os dados organizados.
Não esqueça de adicionar:
• Título
• Descrição e unidade dos números
• Créditos (Fonte)
• Metodologia e observações


Editando os gráficos já publicados

Você pode editar todos os gráficos já produzidos.
Clique no seu nome de usuário ou em 'Meus gráficos > Todos os gráficos' para abrir sua galeria, que vai ter tudo o que você já fez, organizados por ordem de modificação.

Clique no gráfico para editá-lo.
(Gráficos sem nome ficam com um código esquisito. Preferi fazer o gráfico sem título por achar que o estilo de título padrão do Datawrapper ficaria muito grande no contexto de uma página de matéria. Mas se achar que não tem problema, use o título deles mesmo. Fica até melhor para organizar os gráficos já publicados dentro da galeria)


Após editá-lo, clique em Gráfico Re-publicado para atualizar as alterações





Se o código já foi adicionado em alguma página publicada, confira se as alterações foram atualizadas. Se não, é mais garantido copiar novamente o código e substituir o antigo pelo novo.






Passo a passo em vídeo

Gráfico de barras no Datawrapper (veja direto no Youtube)

11 de agosto de 2014

Testando ferramentas: fazer gráficos simples

Com Google Docs (Spreadsheets)

https://docs.google.com/spreadsheets

Pontos negativos

• Não adiciona rótulos numéricos (números próximos aos gráficos, labels to data points, data point values)
• Sem espaço para fonte / crédito / observações
• Gráfico de linha: Não tem muita opção para editar a linha do tempo (eixo horizontal)
  • datas ficam não ficam sempre em português
  • as datas mostradas não são as dos dados, são datas com intervalo regular
• Gráficos de barras
  • não mostram o rótulo numérico das barras. No gráfico de linha tudo bem, mas no gráfico de barras fica muito esquisito. Parece que a solução é uma gambiarra pra adicionar os números como anotação (precisa duplicar os números em uma segunda coluna e formatar como texto). Mas a gambiarra só funciona pro gráfico de linha (onde não precisava). No gráfico de barra nem funciona (parece que via API tem uma gambiarra que funciona)
  • barras horizontais: espaço muito curto no eixo vertical (nomes ficam cortad...)
  • barras verticais: assim os nomes cabem no eixo horizontal.

Pontos positivos

• armazenado nas tabelas do Google Docs
• é o mais limpo e neutro: sem créditos, sem links, sem frescura.
• datas irregulares ficam corretamente espaçadas
• se atualizado na tabela, os gráficos embedados são atualizados









Com Data Wrapper

https://datawrapper.de/

Pontos positivos

• Tem espaço para fonte / crédito
• Gráficos corretos, fáceis de fazer, interativos e embedáveis.
• Vários tipos de gráfico.
• Gráficos ficam armazenados em uma conta grátis.
• Gráficos de barras: tem rótulo numérico (diferente do GDocs)

Pontos negativos

• Espaço é pequeno para observações maiores, como metodologias
• Tem versão em português, mas publicado ficam algumas coisas em inglês (Created with, Source, Get the data)









Com Chart Builder

http://quartz.github.io/Chartbuilder/

• Imagem estática apenas.
• Exporta apenas a tabela em html.





Candidato17/abr
Dilma Roussef (PT)37%
Aécio Neves (PSDB)14%
Eduardo Campos (PSB)6%
Pastor Everaldo (PSC)2%



Com Infogram

https://infogr.am/

Pontos negativos

• Pago
• Estilo: pouco neutro (sim, foi feito para ser bonitinho e amigável). E parece haver poucas opções para alterar (será só na versão grátis?)

Pontos positivos

• Fácil de mexer
• Boa interface
• Várias opções de configurações dos gráficos
• Funciona com copiar e colar e com carregar a partir de arquivo