WordCloud
La función WordCloud
de la librería wordcloud
permite crear nubes de palabras en Python. Esta función proporciona varios métodos, pero generate
es el que necesitas para crear un a word cloud a partir de un texto. Ten en cuenta que el tamaño de la imagen será 400x200 por defecto, pero puedes personalizar el tamaño con los argumentos width
(ancho) y height
(alto), como en en el ejemplo siguiente, o reescalando la imagen con el argumento scale
que por defecto es 1 y se recomienda para nubes de palabras muy grandes.
Cabe mencionar que si quieres que en la nube aparezcan palabras repetidas puedes establecer repeat = True
. Esto es muy útil para crear word clouds con una sola palabra o con textos muy pequeños.
Color de fondo
El argumento background_color
permite modificar el color de fondo negro que aparece por defecto al crear un word cloud.
Paleta de colores
Utilizando colormap
puedes personalizar la paleta de colores utilizada para colorear cada palabra. Estos colores se seleccionan de manera aleatoria de la paleta de colores (por defecto "viridis"
).
Tamaño de la fuente
La función WordCloud
proporciona los argumentos min_font_size
(por defecto: 4) y max_font_size
(por defecto: None
) que son los tamaños de letra más pequeños y más grandes a ser usados en el word cloud.
Número máximo de palabras
Por defecto, el word cloud intentará mostrar hasta 200 palabras, pero puedes reducir o incrementar el número de palabras con max_words
. En el ejemplo siguiente limitamos a cinco el número máximo de palabras.
Palabras irrelevantes
Si tu texto contiene palabras que te gustaría descartar de la nube de palabras puedes pasarlas en una lista al argumento stopwords
. Por defecto, la función tiene en cuenta una lista predefinida de palabras que se descartan (probablemente solo palabras en inglés).
Incluir números
Los word clouds de Python no incluyen números por defecto, pero puedes agregarlos con include_numbers = True
si tu texto contiene números y quieres que se muestren.
Puedes modificar la forma de un word cloud en base a una forma (círculo, triángulo) y en base a una imagen con mask
. Ten en cuenta que si mask
no es None
, entonces width
y height
se ignorarán. En el ejemplo siguiente vamos a crear un círculo y utilizarlo para crear una nube de puntos con forma circular.
Forma de una imagen
También puedes cargar una imagen y usarla para generar una forma. En este escenario, todas las zonas que no sean blancas (#FFFFFF) se utilizarán para crear la forma de la nube de palabras. Para los dos ejemplos siguientes utilizaremos esta imagen.
Color a partir de una imagen
Es posible utilizar los colores de la imagen para generar los colores del word cloud. Tendrás que generar los colores de la imagen con ImageColorGenerator
y utilizar la función recolor
, como en el ejemplo siguiente.
Grosor y color del borde o contorno
Por último, si usas una forma puedes agregar un borde a dicha forma con contour_width
. Además, el color del contorno se puede personalizar con contour_color
.
También te puede interesar