El WordCloud función desde wordcloud permite crear nubes de palabras en Python. La función proporciona varios métodos, pero generate es el que necesitas para crear una nube de palabras de una cadena de texto. Tenga en cuenta que, de forma predeterminada, el tamaño de la imagen es 400x200, pero puede personalizar el tamaño con width y height, como en el ejemplo siguiente o usando scale (el valor predeterminado es 1), que se recomienda para nubes de palabras grandes.
Vale la pena mencionar que si quieres que las palabras se repitan, establece repeat = True. Esto es muy útil para crear una nube de palabras a partir de una sola palabra o textos pequeños.
Ejemplo 1:
>>import matplotlib.pyplot as plt
>>from wordcloud import WordCloud
>>text = input("Favor ingresar el texto para la nube de palabras: ")
>>wc = WordCloud(width = 300, height = 300, repeat = "true").generate(text)
>># Remove the axis and display the data as image
>>plt.axis("off")
>>plt.imshow(wc, interpolation = "bilinear")
>># plt.show()
>>import numpy as np
>>import matplotlib.pyplot as plt
>>from wordcloud import WordCloud
>>text = input("Favor ingresar el texto para Wordcloud circular: ")
>># Circle mask
>>x, y = np.ogrid[:300, :300]
>>mask = (x - 150) ** 2 + (y - 150) ** 2 > 130 ** 2
>>mask = 255 * mask.astype(int)
>>wc = WordCloud(background_color = "white", repeat = True, mask = mask)
>>wc.generate(text)
>>plt.axis("off")
>>plt.imshow(wc, interpolation = "bilinear")
>># plt.show()
>>import numpy as np
>>import matplotlib.pyplot as plt
>>from wordcloud import WordCloud
>>from PIL import Image
>>from io import BytesIO
>>mport requests
>>text = "PPI, Python Para Ingenieros"
>># From URL
>>response = requests.get("https://raw.githubusercontent.com/R-CoderDotCom/samples/main/wordcloud-mask.jpg")
>>mask = np.array(Image.open(BytesIO(response.content)))
>># From local
>># mask = np.array(Image.open("file_name.png"))
>>wc = WordCloud(background_color = "white", repeat = True, mask = mask)
>>wc.generate(text)
>>plt.axis("off")
>>plt.imshow(wc, interpolation = "bilinear")
>>plt.show()
No hay comentarios.:
Publicar un comentario