Entrevista com Gabriel Zanlorenssi

Rodrigo Medeiros
datavizbr
Published in
6 min readJul 24, 2019
Fotografia do Gabriel Zanlorenssi.

Agora em julho de 2019 começamos uma série de novos quadros no datavizbr. Traduções, entrevistas e tutoriais sobre a área de visualização de dados no Brasil serão parte dessa nova articulação com designers, jornalistas e programadores.

Para iniciar essa leva de novos textos, começamos com uma entrevista com Gabriel Zanlorenssi que é cientista de dados do Nexo Jornal e mestrando em Ciência Política na USP. Graduado em Ciências Sociais, na mesma universidade, e programador em R.

  1. Você poderia me contar um pouco da sua trajetória com visualização de dados?

Eu sempre gostei muito de mapas e gráficos. Desde criança, colecionava atlas e almanaques, mas foi apenas durante a faculdade que aprendi a fazer minhas próprias visualizações. Sou graduado em Ciências Sociais na USP (Universidade de São Paulo) e tive oportunidade de fazer uma iniciação científica, na qual aprendi a usar o Stata. Lá, já conseguia fazer alguns gráfico e mesmo mapas.

Terminei a graduação em 2016 e ingressei no mestrado em Ciência Política em 2017, também na USP. Logo no primeiro semestre, fiz uma matéria inteiramente voltada à análise de dados em R e assim fiz minha “conversão” do Stata para o R. Isso foi essencial, o Stata dá conta de muita coisa, mas tem várias limitações em relação ao R.

Nessa época, costumava fazer algumas visualizações e postar nas minhas redes sociais, sem nenhum propósito específico. Em uma dessas visualizações que postei, um amigo em comum com uma editora do Nexo Jornal a marcou na minha publicação. Ela gostou das coisas que eu postava e, como na época havia uma vaga aberta para cientista de dados no jornal, surgiu um convite para uma entrevista. Depois de alguns vaivéns, fui contratado.

De início, foi algo apreensivo para mim, pois teria que abrir mão da minha bolsa CNPq de mestrado e publicar três gráficos por semana (postava apenas um no meu perfil pessoal). Eu tinha muitas ideias e disposição de aprender coisas novas, o que ajudava, mas estava longe de dominar o R. Por isso, muito do que aprendi foi na prática, procurando na internet, principalmente em sites como o Stack Overflow e o R Bloggers. Também peguei muita coisa com meu colega Rodolfo Almeida, principalmente em referências e conceitos de infografia.

Em visualização de dados quantitativos, penso que estatística e programação são as principais ferramentas. Me ajudou muito ter tido essa formação na faculdade e durante o mestrado. Mas é importante ter em mente que não são coisas simples para se aprender. Leva tempo e sempre repito que não se pode desanimar no primeiro mês.

2. Qual foi a experiência que você teve com D3 e com ggplot2? Quais as grandes diferença entre eles?

O ggplot2 é a principal biblioteca gráfica do R e me arrisco a dizer que talvez seja a principal dentre todas as linguagens. Ele se propõe literalmente a ser uma gramática de como se fazer gráficos e, como o próprio dicionário da língua portuguesa já diz, uma gramática consiste num conjunto de regras e prescrições.

Na minha opinião pessoal, o ggplot2 é mais centrado nos dados do que na forma, o que permite você pensar mais sobre a natureza do seu dado, e é facilmente ajustável caso uma visualização não tenha ficado legal. Aprendi o ggplot2 junto com o R e o utilizo para quase 100% das visualizações que produzo atualmente.

Além do mais, o ggplot2 faz parte de um projeto maior chamado Tidyverse, liderado por Hadley Wickham e vários outros profissionais. O conjunto de pacotes que compõem o Tidyverse e os demais, que foram criados sob esses princípios, revolucionaram o jeito que o R funciona. Essa combinação com as demais bibliotecas agiliza muito o fluxo de trabalho e é o que me possibilita terminar os gráficos de uma publicação inteira em menos de um dia.

Já o D3, referência a data-driven documents, é uma biblioteca de JavaScript (que é uma linguagem que não tem quase nada a ver com Java) voltada para o desenvolvimento de visualizações para web. O que eu vejo hoje é que o D3 é utilizado nas principais visualizações na internet mundo afora, nos principais veículos de comunicação.

O D3 é extremamente customizável e muitos atributos do gráfico devem ser definidos manualmente. Isso por um lado deixa o processo bem mais trabalhoso e os códigos mais longos mas por outro as possibilidades são infinitas. Eu, particularmente, não tenho domínio de D3. Consigo me virar com JavaScript e estou aprendendo D3 atualmente em cursos online. Já tinha feito cursos de HTML e CSS antes e vejo que é fundamental ter um bom conhecimento dos dois para usar o D3.

3) Em quais situações você acha melhor utilizar o ggplot2 e em quais o D3?

Quando a visualização é uma imagem estática, o ggplot2 é uma solução eficiente e rápida. Quando predominam recursos de interatividade, como tooltips, botões, gráficos reativos, entre outros, acho que o D3 é uma melhor opção.

Em geral, não precisamos usar gráficos interativos para tudo. Na maioria dos casos, um gráfico estático consegue comunicar os dados muito bem. Além do mais, em algumas situações a interatividade atrapalha mais do que ajuda. Nesta série de mapas sobre os fluxos migratórios no Brasil, se houvesse um seletor para ver o mapa de cada um dos 27 estados brasileiros, dificilmente um leitor veria todos os mapas. Do jeito que está, acho que a taxa de retenção é maior.

Um exemplo oposto é este outro que permite comparar a densidade populacional no território brasileiro. A visualização foi desenvolvida usando D3 e talvez fosse impossível uma operacionalização com outra ferramenta ou com mapas estáticos.

Vale ressaltar que esta não comparação entre R e JavaScript. Existem muitas outras opções nestas duas linguagens e fora delas, mas creio que o ggplot2 e o D3 são hoje a mais fina flor da visualização de dados.

4) Qual é a maior dificuldade em trabalhar com o D3 na realidade de uma redação de jornal?

Pensando em um veículo de imprensa, com um site estruturado e com publicador, colocar um gráfico com JavaScript no meio de uma matéria ou interativo não é uma tarefa tão simples. O código precisa conversar com o restante do site e isso inevitavelmente vai demandar algum trabalho em conjunto de quem produz o gráfico com as equipes de tecnologia.

Por exemplo, muitos sites hoje são construídos com recursos para garantir a responsividade, ou seja, a adaptação do conteúdo a diferentes tamanhos de tela. Deve-se produzir um código D3 que converse com o recursos adotados pelo site, principalmente com os arquivos CSS e JavaScript.

Veículos como G1, Estadão e Folha, utilizam URLs diferentes para os conteúdos interativos que são publicados. Os endereços são respectivamente “especiais.g1”, “arte.estadao” e “temas.folha”. Imagino que isso ocorra por conta dessas dificuldades de compatibilização que mencionei.

E, claro, isso tudo sem mencionar a escassez de profissionais que tenham um bom domínio do D3.

5) Quais outros frameworks para criação de gráficos você pode sugerir para quem está iniciando em visualização de dados?

Para quem está começando, uma boa opção podem ser ferramentas online que produzem gráficos sofisticados sem nenhuma necessidade de conhecimento de programação. Recomendo particularmente o Flourish e o Raw Graphs. Pode-se baixar o gráfico produzido como imagem (png) ou arquivo de vetores (svg). Recebo alguns feedbacks de pessoas que indiquei essas ferramentas dizendo que gostaram mais do Flourish, mas acho que isso vai de cada um.

Também há, para o próprio ggplot2 mesmo, uma extensão chamada esquisse, que permite a criação de gráficos no R arrastando caixas e clicando botões. Demanda apenas um conhecimento básico de R, como saber instalar um pacote e abrir um banco de dados.

A equipe do datavizbr agradece mais uma vez a participação do Gabriel nessa entrevista e esperamos muitas outras colaborações já nas próximas semanas.

--

--

Rodrigo Medeiros
datavizbr

Interaction Designer and Professor, PhD. Curator at @datavizbr. #ux #dataviz