es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo ajustar el texto de manera uniforme en WordCloud en Python?

He leído el tutorial de la biblioteca de Python WordCloud: https://amueller.github.io/word_cloud/
Pero no es posible dar estilo a las palabras para que se vean así.

Aquí está mi código

import matplotlib.pyplot as plt
import arabic_reshaper
from bidi.algorithm import get_display
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator

Función que maneja el código

txt = '''Me encantaría probar o escuchar el audio de muestra que tu aplicación puede producir. No quiero comprar, porque he comprado muchas aplicaciones que dicen hacer algo y no lo hacen.

¿Podrías agregar muestras de audio con el texto que has convertido? Me encantaría ver los resultados finales.

¡Gracias!

Em là cô gái bán diêm em đồi quá'''

word_cloud = WordCloud(font_path='arial', stopwords=STOPWORDS, background_color="white", 
max_font_size=50, max_words=100)
word_cloud = word_cloud.generate_from_text(get_display(arabic_reshaper.reshape(txt)))

plt.imshow(word_cloud, interpolation='bilinear')
plt.axis("off")
plt.show()

Si no, por favor sugiéreme otra forma, gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, la biblioteca WordCloud de Python no proporciona una forma incorporada de crear nubes de palabras con forma de corazón. Sin embargo, existen otras bibliotecas y herramientas que pueden ayudarte a lograr este efecto. Una de estas bibliotecas es wordart, que te permite especificar formas personalizadas para tus nubes de palabras, incluyendo formas de corazón.

    Aquí tienes un ejemplo de cómo crear una nube de palabras con forma de corazón utilizando la biblioteca wordart:

    import matplotlib.pyplot as plt
    from wordcloud import WordCloud
    from wordcloud.wordart import Wordart
    
    # Define el texto para generar la nube de palabras
    txt = 'Me encanta Python y las nubes de palabras'
    
    # Define la forma personalizada de la nube de palabras
    shape = Wordart('M20,20 C20,2.587 33.617,2.587 33.617,20 C33.617,33.763 20,48.644 20,48.644 C20,48.644 6.383,33.763 6.383,20 C6.383,2.587 20,2.587 20,20 Z')
    
    # Genera la nube de palabras con la forma personalizada
    wordcloud = WordCloud(width=800, height=800, background_color='white', max_words=100, mask=shape).generate(txt)
    
    # Muestra la nube de palabras generada
    plt.figure(figsize=(8,8))
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis('off')
    plt.show()
    

    Este código generará una nube de palabras con forma de corazón con el texto “Me encanta Python y las nubes de palabras”. Puedes modificar el texto y la forma a tu gusto para crear tus propias nubes de palabras con forma de corazón personalizadas.

    Ten en cuenta que la biblioteca wordart requiere un poco más de configuración que la biblioteca WordCloud para instalar y usar, así que asegúrate de leer la documentación cuidadosamente.

Comments are closed.