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:
- Como Explorar Dados e Compartilhar Descobertas com Pygwalker e Streamlit (opens in a new tab)
- Página do GitHub do PyGWalker (opens in a new tab) para mais exemplos do PyGWalker.
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.