Requisito previo: generación de nube de palabras en Python | Set – 1
Word Cloud es una técnica de visualización de datos utilizada para representar datos de texto en los que el tamaño de cada palabra indica su frecuencia o importancia. Los puntos de datos textuales significativos se pueden resaltar mediante una nube de palabras. Las nubes de palabras se utilizan ampliamente para analizar datos de sitios web de redes sociales.
Para generar una nube de palabras en Python, los módulos necesarios son: matplotlib, pandas y wordcloud. Para instalar estos paquetes, ejecute los siguientes comandos:
pip install matplotlib pip install pandas pip install wordcloud
Para obtener el enlace al archivo csv utilizado, haga clic aquí .
Código #1: Número de palabras
Es posible establecer un número máximo de palabras para mostrar en la nube de etiquetas. Para este propósito, utilice los argumentos de palabra clave max_words de la función WordCloud().
Python3
# importing the necessary modules from wordcloud import WordCloud import matplotlib.pyplot as plt import csv # file object is created file_ob = open(r"C:/Users/user/Documents/sample.csv") # reader object is created reader_ob = csv.reader(file_ob) # contents of reader object is stored . # data is stored in list of list format. reader_contents = list(reader_ob) # empty string is declare text = "" # iterating through list of rows for row in reader_contents : # iterating through words in the row for word in row : # concatenate the words text = text + " " + word # show only 10 words in the wordcloud . wordcloud = WordCloud(width=480, height=480, max_words=10).generate(text) # plot the WordCloud image plt.figure() plt.imshow(wordcloud, interpolation="bilinear") plt.axis("off") plt.margins(x=0, y=0) plt.show()
Producción:
Código #2: Eliminar algunas palabras
Se pueden eliminar algunas palabras que no queremos mostrar. Para este propósito, pase esas palabras a los argumentos de la lista de palabras vacías de la función WordCloud().
Python3
# importing the necessary modules from wordcloud import WordCloud import matplotlib.pyplot as plt import csv # file object is created file_ob = open(r"C:/Users/user/Documents/sample.csv") # reader object is created reader_ob = csv.reader(file_ob) # contents of reader object is stored . # data is stored in list of list format. reader_contents = list(reader_ob) # empty string is declare text = "" # iterating through list of rows for row in reader_contents : # iterating through words in the row for word in row : # concatenate the words text = text + " " + word # remove Python , Matplotlib , Geeks Words from WordCloud . wordcloud = WordCloud(width=480, height=480, stopwords=["Python", "Matplotlib","Geeks"]).generate(text) # plot the WordCloud image plt.figure() plt.imshow(wordcloud, interpolation="bilinear") plt.axis("off") plt.margins(x=0, y=0) plt.show()
Producción:
Código #3: Cambiar fondo
Podemos cambiar el color del fondo de la nube de palabras. Para este propósito, use argumentos de palabra clave background_color de la función WordCloud().
Python3
# importing the necessary modules from wordcloud import WordCloud import matplotlib.pyplot as plt import csv # file object is created file_ob = open(r"C:/Users/user/Documents/sample.csv") # reader object is created reader_ob = csv.reader(file_ob) # contents of reader object is stored . # data is stored in list of list format. reader_contents = list(reader_ob) # empty string is declare text = "" # iterating through list of rows for row in reader_contents : # iterating through words in the row for word in row : # concatenate the words text = text + " " + word wordcloud = WordCloud(width=480, height=480, background_color="pink").generate(text) # plot the WordCloud image plt.figure() plt.imshow(wordcloud, interpolation="bilinear") plt.axis("off") plt.margins(x=0, y=0) plt.show()
Producción:
Código #4: Cambiar el color de las palabras
Podemos cambiar el color de las palabras usando los argumentos de palabras clave del mapa de colores de la función WordCloud().
Python3
# importing the necessary modules from wordcloud import WordCloud import matplotlib.pyplot as plt import csv # file object is created file_ob = open(r"C:/Users/user/Documents/sample.csv") # reader object is created reader_ob = csv.reader(file_ob) # contents of reader object is stored . # data is stored in list of list format. reader_contents = list(reader_ob) # empty string is declare text = "" # iterating through list of rows for row in reader_contents : # iterating through words in the row for word in row : # concatenate the words text = text + " " + word wordcloud = WordCloud(width=480, height=480, colormap="Oranges_r").generate(text) # plot the WordCloud image plt.figure() plt.imshow(wordcloud, interpolation="bilinear") plt.axis("off") plt.margins(x=0, y=0) plt.show()
Producción:
Código #5: Tamaño de fuente máximo y mínimo
Podemos controlar el tamaño de fuente mínimo y máximo de la nube de palabras. Para este propósito, use los argumentos de palabra clave max_font_size, min_font_size de la función WordCloud().
Python3
# importing the necessary modules from wordcloud import WordCloud import matplotlib.pyplot as plt import csv # file object is created file_ob = open(r"C:/Users/user/Documents/sample.csv") # reader object is created reader_ob = csv.reader(file_ob) # contents of reader object is stored . # data is stored in list of list format. reader_contents = list(reader_ob) # empty string is declare text = "" # iterating through list of rows for row in reader_contents : # iterating through words in the row for word in row : # concatenate the words text = text + " " + word wordcloud = WordCloud(width=480, height=480, max_font_size=20, min_font_size=10).generate(text) plt.figure() plt.imshow(wordcloud, interpolation="bilinear") plt.axis("off") plt.margins(x=0, y=0) plt.show()
Producción: