Skip to content

Como usar Streamlit com Seaborn: um guia rápido

Updated on

No campo da visualização de dados em Python, dois nomes se destacam: Streamlit e Seaborn. Essas bibliotecas poderosas revolucionaram a forma como visualizamos os dados, tornando-os mais acessíveis e informativos. Neste guia abrangente, exploraremos a integração entre o Streamlit e o Seaborn, mostrando como eles podem trabalhar juntos para criar visualizações deslumbrantes.

Se você é um cientista de dados experiente ou um iniciante mergulhando no mundo da visualização de dados, este guia oferece informações valiosas. Começaremos pelo básico, definindo o que é o Streamlit e o Seaborn, e gradualmente avançaremos para territórios mais complexos, como sua integração e exemplos práticos.

Apresentando o Streamlit

Alguma vez você já se sentiu afogado em código ao tentar construir um aplicativo de visualização de dados? Eis que surge o Streamlit. Essa biblioteca Python de código aberto é um sopro de ar fresco para os desenvolvedores, tornando incrivelmente fácil criar aplicativos web interativos para aprendizado de máquina e ciência de dados.

O charme do Streamlit está em sua simplicidade. Imagine construir um aplicativo web completamente funcional com apenas algumas linhas de código. Parece bom demais para ser verdade, não é mesmo? Mas com o Streamlit, isso é uma realidade.

Aqui está uma breve introdução do que o Streamlit traz para a mesa:

  • Simplicidade: A interface amigável do Streamlit permite que você se concentre mais nos dados e menos na codificação.
  • Customização: Quer que o seu aplicativo se destaque? O Streamlit permite ajustar o aplicativo de acordo com suas necessidades específicas.
  • Integração: O Streamlit funciona muito bem com outras bibliotecas Python, como Seaborn, Matplotlib e Altair. Isso o torna uma ferramenta completa no arsenal de um cientista de dados.

E o que é o Seaborn?

Se o Streamlit é o palco, o Seaborn é o artista. Essa biblioteca de visualização de dados em Python, baseada no Matplotlib, é como um artista, transformando dados brutos em gráficos estatísticos atraentes e informativos.

O Seaborn brilha quando se trata de visualizar conjuntos de dados complexos com várias variáveis. É como ter uma lupa que revela padrões e relações nos seus dados que, de outra forma, passariam despercebidos.

Aqui estão algumas das principais características do Seaborn:

  • Tipos Intrincados de Gráficos: Já ouviu falar de pair plots e correlation plots? Essas são especialidades do Seaborn, fornecendo insights valiosos sobre seus dados.
  • Integração com o Pandas: O Seaborn e o Pandas são como manteiga de amendoim e geleia. Essa integração torna o Seaborn uma excelente ferramenta para análise exploratória de dados.

Streamlit e Seaborn: uma dupla dinâmica na visualização de dados

Quando usados separadamente, o Streamlit e o Seaborn são como super-heróis no mundo da visualização de dados. Mas quando se unem, se tornam uma força imparável. A integração do Streamlit e do Seaborn permite criar visualizações de dados interativas que podem ser compartilhadas e acessadas por meio de um aplicativo web.

Essa combinação poderosa abre um mundo de possibilidades. Por exemplo, você pode usar o Seaborn para criar um pairplot complexo e, em seguida, usar o Streamlit para exibir esse gráfico em um aplicativo web. Dessa forma, você pode compartilhar suas descobertas com outras pessoas, mesmo que elas não tenham o Python ou o Seaborn instalado em suas máquinas.

Mas, como qualquer dupla dinâmica, o Streamlit e o Seaborn têm seus desafios. Você pode encontrar problemas, como o famoso 'ImportError' ou o erro 'savefig'. Mas não se preocupe, estamos aqui para ajudar. Abordaremos esses problemas e suas soluções nas seções seguintes.

No entanto, a integração do Streamlit e do Seaborn nem sempre é direta. Você pode encontrar problemas, como o famoso 'ImportError' ou o erro 'savefig'. Mas não se preocupe, iremos abordar esses problemas e suas soluções nas seções seguintes.

Exemplos de como usar o Streamlit com o Seaborn

Agora que cobrimos o básico, vamos mergulhar em alguns exemplos práticos. Nesta seção, vamos guiá-lo pelo processo de criação de um pairplot do Streamlit-Seaborn e de um gráfico de correlação. Também abordaremos o erro 'savefig' que ocorre frequentemente ao integrar o Streamlit e o Seaborn.

Integração do Streamlit e do Seaborn

Integrar o Streamlit e o Seaborn envolve alguns passos. Primeiro, você precisará importar as bibliotecas necessárias. Em seguida, criará seu gráfico do Seaborn e usará o Streamlit para exibi-lo. Aqui está um exemplo simples:

import streamlit as st
import seaborn as sns
import pandas as pd
 
# Carregue seus dados
df = pd.read_csv('seus_dados.csv')
 
# Crie um pairplot do Seaborn
plot = sns.pairplot(df)
 
# Exiba o gráfico no Streamlit
st.pyplot(plot.fig)

Neste exemplo, primeiro importamos as bibliotecas necessárias (Streamlit, Seaborn e Pandas). Em seguida, carregamos nossos dados usando o Pandas. Em seguida, criamos um pairplot usando o Seaborn. Por fim, exibimos o gráfico no Streamlit usando a função st.pyplot().

Exibindo gráficos do Seaborn no Streamlit

Exibir gráficos do Seaborn no Streamlit é simples. Basta criar o seu gráfico do Seaborn como de costume e, em seguida, usar a função st.pyplot() para exibi-lo. Aqui está um exemplo:

import streamlit as st
import seaborn as sns
import pandas as pd
 
# Carregue seus dados
df = pd.read_csv('seus_dados.csv')
 
# Crie um gráfico de correlação do Seaborn
plot = sns.heatmap(df.corr(), annot=True)
 
# Exiba o gráfico no Streamlit
st.pyplot(plot.get_figure())

Neste exemplo, criamos um gráfico de correlação usando a função heatmap() do Seaborn. Em seguida, exibimos o gráfico no Streamlit usando a função st.pyplot(). Observe que usamos o método get_figure() para obter o objeto de figura do Matplotlib a partir do gráfico do Seaborn.

Crie um aplicativo de visualização de dados do Streamlit com o PyGWalker

PyGWalker (opens in a new tab) é também outra ferramenta incrível com No Code. Você pode usar facilmente esta Biblioteca Python de Código Aberto para criar aplicativos de visualização de dados Streamlit facilmente.

PyGWalker + Streamlit Online Demo (opens in a new tab)


Um agradecimento especial a Sven e sua grande contribuição (opens in a new tab) para a comunidade PyGWalker!

Além disso, você também pode conferir os recursos a seguir:

Visualize Dados no Streamlit com PyGWalker (opens in a new tab)

Exemplo Avançado: Construir um Aplicativo Streamlit para Aprendizado de Máquina

Vamos nos concentrar em criar um aplicativo de aprendizado de máquina com Streamlit. Vamos usar um exemplo simples: uma aplicativo de análise de sentimento. Este aplicativo irá pegar a entrada do usuário, prever o sentimento da entrada usando um modelo pré-treinado e exibir o resultado.

Passo 1: Importar Bibliotecas Necessárias

Primeiro, precisaremos importar as bibliotecas necessárias. Precisaremos do Streamlit para o próprio aplicativo e uma biblioteca de aprendizado de máquina para a análise de sentimento. Neste exemplo, usaremos o TextBlob.

import streamlit as st
from textblob import TextBlob

Passo 2: Criar uma Função para Análise de Sentimento

Em seguida, vamos criar uma função que recebe uma string de texto como entrada e retorna o sentimento do texto. O método sentiment.polarity do TextBlob retorna um valor float entre -1 e 1, onde -1 é sentimento negativo, 1 é sentimento positivo e 0 é sentimento neutro.

def analisar_sentimento(texto):
    return TextBlob(texto).sentiment.polarity

Passo 3: Criar o Aplicativo Streamlit

Agora, vamos criar o aplicativo Streamlit. Vamos começar adicionando um título e um campo de entrada de texto onde os usuários podem digitar o texto. Em seguida, adicionaremos um botão que, quando clicado, irá analisar o sentimento do texto de entrada e exibir o resultado.

st.title('Aplicativo de Análise de Sentimento')
 
entrada_usuario = st.text_input("Digite o texto aqui")
 
if st.button('Analisar'):
    sentimento = analisar_sentimento(entrada_usuario)
    if sentimento < 0:
        st.write('O sentimento deste texto é negativo.')
    elif sentimento > 0:
        st.write('O sentimento deste texto é positivo.')
    else:
        st.write('O sentimento deste texto é neutro.')

Passo 4: Rodar o Aplicativo

Finalmente, você pode rodar o aplicativo digitando streamlit run app.py no seu terminal, onde app.py é o nome do seu arquivo Python.

E voilà! Você tem um aplicativo de análise de sentimento. O usuário pode inserir qualquer texto e o aplicativo irá analisar e exibir o sentimento do texto. Este é apenas um exemplo simples, mas você pode criar aplicativos de aprendizado de máquina muito mais complexos com o Streamlit. O céu é o limite!

Conclusão

A integração entre Streamlit e Seaborn é um divisor de águas no mundo da visualização de dados. Ela combina a simplicidade e interatividade do Streamlit com o poder e flexibilidade do Seaborn, abrindo um mundo de possibilidades para cientistas de dados e desenvolvedores.

Seja criando um pairplot complexo ou um gráfico de correlação simples, Streamlit e Seaborn têm tudo o que você precisa. E com os exemplos práticos e tutoriais neste guia, você está no caminho certo para dominar a integração de Streamlit e Seaborn.

Então vá em frente, experimente. Mergulhe no mundo de Streamlit e Seaborn e libere o poder da visualização de dados!

Perguntas Frequentes

1. Posso usar Seaborn com o Streamlit?

Com certeza! O Streamlit se integra perfeitamente com o Seaborn, permitindo que você crie visualizações de dados interativas que podem ser compartilhadas e acessadas por meio de um aplicativo web.

2. Como mostrar o gráfico do Seaborn no Streamlit?

Você pode exibir um gráfico do Seaborn no Streamlit usando a função st.pyplot(). Basta criar seu gráfico do Seaborn como de costume e, em seguida, passar o objeto de figura do Matplotlib para st.pyplot().

3. O Seaborn é melhor do que o Matplotlib?

Seaborn e Matplotlib têm propósitos diferentes e muitas vezes são usados juntos. O Seaborn oferece uma interface de alto nível para criar gráficos estatísticos atraentes, enquanto o Matplotlib oferece mais controle sobre os detalhes do gráfico. Dependendo das suas necessidades, um pode ser mais adequado do que o outro.

4. Para que serve o Streamlit?

Streamlit é uma biblioteca Python de código aberto que permite aos desenvolvedores criar aplicativos web interativos para aprendizado de máquina e ciência de dados. Ele foi projetado para simplificar o processo de construção e compartilhamento de ferramentas de aprendizado de máquina, tornando-o uma excelente escolha para visualização de dados.