Como Criar uma Nuvem de Tags (Word Cloud)

Olá comunidade! 💜

Se você já visitou um blog ou site e viu um conjunto de palavras com tamanhos diferentes (algumas maiores, outras menores) você já encontrou uma nuvem de tags (ou word cloud).

As nuvens de tags são visualizações incríveis que mostram a frequência de palavras em um texto de forma visual e impactante.

Esse recurso é simples, visualmente bonito e muito útil para mostrar os temas mais importantes de um conteúdo, blog ou aplicação.

Hoja vamos aprender:

  • O que é uma nuvem de tags
  • Para que ela serve
  • Como criar uma usando Python

Siga nossa página no Linkedin e no Instagram e ajude a divulgar nosso conteúdo🥰

O que é uma Nuvem de Tags?

Uma nuvem de tags é uma representação visual de palavras-chave, onde:

  • Palavras mais importantes ou mais frequentes aparecem maiores
  • Palavras menos usadas aparecem menores
  • Tudo isso ajuda a entender rapidamente os principais assuntos

Ela é muito usada em:

  • Blogs
  • Portfólios
  • Dashboards
  • Projetos educacionais
  • Análises de texto

Veja tambémVocê sabe o que é Data Science?

Por que usar uma Nuvem de Tags?

✔ Facilita a leitura
✔ Destaca temas principais
✔ Deixa o layout mais interessante
✔ Ajuda na navegação por assuntos

Agora que vimos o que é e para que serve, vamos por a mão na massa!

Vamos construir uma nuvem de tags!

O Que Você Vai Precisar

Para este tutorial, vamos usar Python, que é perfeito para análise de texto. Você vai precisar de:

  • Python 3.x instalado
  • Bibliotecas: wordcloudmatplotlibpillow

Instalando as Bibliotecas

Abra seu terminal e execute:

pip install wordcloud matplotlib pillow

Veja tambémBoas Práticas de Programação

Código Básico – Sua Primeira Nuvem

Vamos começar com um exemplo bem simples:

from wordcloud import WordCloud
import matplotlib.pyplot as plt

# Seu texto
texto = """
Python programação desenvolvimento web
código algoritmos mulheres tecnologia
inteligência artificial dados análise
desenvolvimento frontend backend
"""

# Criando a nuvem
nuvem = WordCloud(width=800, height=400, 
                  background_color='white').generate(texto)

# Exibindo
plt.figure(figsize=(10, 5))
plt.imshow(nuvem, interpolation='bilinear')
plt.axis('off')
plt.show()

O resultado:

Personalizando Sua Nuvem

Agora vamos deixar mais interessante com cores e estilos:

from wordcloud import WordCloud
import matplotlib.pyplot as plt

texto = """
desenvolvedora programadora tech tecnologia
código Python JavaScript HTML CSS
frontend backend fullstack
inteligência artificial machine learning
dados análise desenvolvimento web
"""

# Configurações personalizadas
nuvem = WordCloud(
    width=1200,
    height=600,
    background_color='#2C3E50',  # Azul escuro
    colormap='Set2',  # Esquema de cores
    max_words=100,
    relative_scaling=0.5,
    min_font_size=10
).generate(texto)

plt.figure(figsize=(15, 8))
plt.imshow(nuvem, interpolation='bilinear')
plt.axis('off')
plt.title('Nuvem de Tags - Mulheres Programando', 
          fontsize=20, color='#E74C3C', pad=20)
plt.tight_layout()
plt.show()

O resultado 😍

Veja tambémWeb Scraping com Python e BeautifulSoup: extraindo dados da web

Lendo Texto de um Arquivo

Agora vamos analisar textos maiores, a partir de um arquivo (meu_texto.txt). No meu exemplo, copiei as informações de Curitiba da página do Wikipedia e colei o conteúdo no arquivo txt.

from wordcloud import WordCloud
import matplotlib.pyplot as plt

# Lendo de um arquivo
with open('meu_texto.txt', 'r', encoding='utf-8') as arquivo:
    texto = arquivo.read()

# Criando a nuvem
nuvem = WordCloud(
    width=1000,
    height=500,
    background_color='white'
).generate(texto)

# Salvando como imagem
nuvem.to_file('nuvem_tags.png')

O resultado:

Removendo Palavras Comuns (Stop Words)

Para focar nas palavras importantes, vamos remover artigos e preposições:

from wordcloud import WordCloud
import matplotlib.pyplot as plt

# Lendo de um arquivo
with open('meu_texto.txt', 'r', encoding='utf-8') as arquivo:
    texto = arquivo.read()

# Palavras para ignorar
stopwords = set(STOPWORDS)
stopwords.update(['e', 'a', 'o', 'de', 'da', 'do', 'das', 'dos', 'em', 
                  'para', 'com', 'por', 'um', 'uma', 'que', 'nos', 'nas',
                  'no', 'na', 'até', 'após', 'dia', 'muito', 'outro', 'era',
                  'os', 'pelo', 'pela', 'também', 'à', 'é', 'não', 'sendo',
                  'são', 'estão', 'há', 'seu', 'sua', 'possui', 'foi',
                  'tem', 'ao', 'ou', 'desde', 'tem', 'além', 'já', 'ano'])

# Criando a nuvem
nuvem = WordCloud(
    width=1000,
    height=500,
    background_color='white',
    stopwords=stopwords,
).generate(texto)

# Salvando como imagem
nuvem.to_file('nuvem_tags.png')

O resultado:

Bem melhor não?

Veja tambémRegex descomplicado: como usar expressões regulares para extrair dados

Analisando Frequência de Palavras

Antes de criar a nuvem, você pode analisar as frequências:

from wordcloud import WordCloud
from collections import Counter
import re

texto = """
Python Python JavaScript Python HTML CSS
JavaScript Python desenvolvimento web
"""

# Limpando e contando palavras
palavras = re.findall(r'\w+', texto.lower())
frequencias = Counter(palavras)

print("Palavras mais frequentes:")
for palavra, freq in frequencias.most_common(5):
    print(f"{palavra}: {freq}")

# Criando nuvem a partir do dicionário de frequências
nuvem = WordCloud(width=800, height=400).generate_from_frequencies(frequencias)

Resultado:

Palavras mais frequentes:
python: 4
javascript: 2
html: 1
css: 1
desenvolvimento: 1

Dicas Importantes

  • Escolha de Cores: Use colormap para definir o esquema de cores. Opções legais: ‘viridis’, ‘plasma’, ‘rainbow’, ‘Set2’, ‘Pastel1’.
  • Tamanho Importa: Ajuste width e height de acordo com onde vai usar a imagem (redes sociais, blog, apresentação).
  • Prepare o Texto: Remova pontuações, números e palavras irrelevantes antes de gerar a nuvem.
  • Encoding: Sempre use encoding='utf-8' ao ler arquivos em português.

Conclusão

Nuvens de tags são uma forma poderosa e visualmente atraente de representar dados textuais.

Com Python e WordCloud, você pode criar visualizações profissionais em poucos minutos.

Experimente diferentes configurações, cores e formatos para encontrar o estilo perfeito para seu projeto!

Continue programando e criando! 💜💻


Post criado para o blog Mulheres Programando – Compartilhe com outras desenvolvedoras!