jueves, 12 de febrero de 2026

MatPlotLib. WordCloud

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()


Ejemplo 2:

>>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()

Ejemplo 3:

>>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()










sábado, 7 de febrero de 2026

Graficar líneas en Plotly

 

El line función de plotly

Puede crear gráficos de líneas en plotly y Python con line función de plotly express. La función reconoce los datos de dos maneras: pasando matrices individuales a x y y o pasar un marco de datos pandas como entrada y especificar el nombre de las columnas que se utilizarán.

import plotly.express as px

# Line chart
fig = px.line(x = [1, 2, 3, 4, 5, 6, 7],
              y = [10, 15, 25, 18, 43, 30, 65])


# Alternative: data from pandas data frame
# import pandas as pd
# df = pd.DataFrame({'x': [1, 2, 3, 4, 5, 6, 7],
#                    'y': [10, 15, 25, 18, 43, 30, 65]})

# Line plot from data frame
# fig = px.line(df, x = "x", y = "y")

fig.show()


Títulos de gráficos de líneas

Puedes agregar un título a tu gráfico lineal con el title argumento. También puedes personalizar las etiquetas de los ejes con labels.

import plotly.express as px
import pandas as pd

# pandas data frame
df = pd.DataFrame({'x': [1, 2, 3, 4, 5, 6, 7],
                  'y': [10, 15, 25, 18, 43, 30, 65]})

fig = px.line(df, x = 'x', y = 'y',
              title = "Line chart title",
              labels = {'x': 'X-axis', 'y':'Y-axis'})

fig.show()

Marcadores

De forma predeterminada, los gráficos lineales de Plotly no muestran los marcadores para cada par de puntos de datos, pero si lo desea, puede configurar el markers argumento a True para poder agregarlos.

import plotly.express as px
import pandas as pd

# pandas data frame
df = pd.DataFrame({'x': [1, 2, 3, 4, 5, 6, 7],
                  'y': [10, 15, 25, 18, 43, 30, 65]})

fig = px.line(df, x = 'x', y = 'y', markers = True)

fig.show()

Agregar texto

Puede etiquetar cada punto de datos con texto con el text argumento. Sólo necesitas ingresar la variable deseada. Tenga en cuenta que puede personalizar la posición del texto con el textposition argumento del update_traces función.

import plotly.express as px
import pandas as pd

# pandas data frame
df = pd.DataFrame({'x': [1, 2, 3, 4, 5, 6, 7],
                  'y': [10, 15, 25, 18, 43, 30, 65]})

fig = px.line(df, x = 'x', y = 'y', text = 'y')
fig.update_traces(textposition = "top center")

fig.show()

Estilo avanzado de líneas y marcadores

Es importante tener en cuenta que puedes personalizar el estilo de línea y marcadores con el update_traces método. Necesitará pasar diccionarios con las propiedades deseadas para cada rastro a ese método, como en el siguiente ejemplo.

import plotly.express as px
import pandas as pd

# pandas data frame
df = pd.DataFrame({'x': [1, 2, 3, 4, 5, 6, 7],
                  'y': [10, 15, 25, 18, 43, 30, 65]})

fig = px.line(df, x = 'x', y = 'y', markers = True)
fig.update_traces(line = dict(dash = "dot", width = 4, color = "red"),
                  marker = dict(color = "darkblue", size = 20, opacity = 0.8))

fig.show()

Diagrama de líneas por grupo

El line La función proporciona la colorsymbol y line_dash argumentos para crear gráficos de líneas basados en los grupos de una variable categórica.

Color por grupo

Si pasa una variable categórica a color Crearás un gráfico de líneas con tantas líneas como grupos diferentes y cada línea tendrá un color diferente.

import plotly.express as px
import pandas as pd

# pandas data frame
df = pd.DataFrame({'x': [2010, 2011, 2012, 2013, 2010, 2011, 2012, 2013],
                   'y': [10, 15, 25, 18, 43, 30, 6, 12],
                   'group': ['G1', 'G1', 'G1', 'G1', 'G2', 'G2', 'G2', 'G2']})

fig = px.line(df, x = 'x', y = 'y', color = 'group')

fig.show()

Puedes personalizar el color para cada grupo con color_discrete_map como en el siguiente ejemplo o pasando una matriz de colores a color_discrete_sequence.

import plotly.express as px
import pandas as pd

# pandas data frame
df = pd.DataFrame({'x': [2010, 2011, 2012, 2013, 2010, 2011, 2012, 2013],
                   'y': [10, 15, 25, 18, 43, 30, 6, 12],
                   'group': ['G1', 'G1', 'G1', 'G1', 'G2', 'G2', 'G2', 'G2']})

fig = px.line(df, x = 'x', y = 'y', color = 'group',
              color_discrete_map = {'G1':'green', 'G2':'orange'})

fig.show()

Marcadores por grupo

Si pasa su variable categórica a symbol Cada línea tendrá diferentes marcadores. Tenga en cuenta que puede combinar esto con color, por lo que cada línea tendrá diferentes colores y diferentes marcadores.

import plotly.express as px
import pandas as pd

# pandas data frame
df = pd.DataFrame({'x': [2010, 2011, 2012, 2013, 2010, 2011, 2012, 2013],
                   'y': [10, 15, 25, 18, 43, 30, 6, 12],
                   'group' : ['G1', 'G1', 'G1', 'G1', 'G2', 'G2', 'G2', 'G2']})

fig = px.line(df, x = 'x', y = 'y', color = 'group', symbol = 'group')

fig.show()

La forma de los símbolos se puede configurar a través de symbol_map argumento para especificar el símbolo para cada grupo o pasar una matriz de símbolos a symbol_sequence.

import plotly.express as px
import pandas as pd

# pandas data frame
df = pd.DataFrame({'x': [2010, 2011, 2012, 2013, 2010, 2011, 2012, 2013],
                   'y': [10, 15, 25, 18, 43, 30, 6, 12],
                   'group' : ['G1', 'G1', 'G1', 'G1', 'G2', 'G2', 'G2', 'G2']})

fig = px.line(df, x = 'x', y = 'y', color = 'group', symbol = 'group',
              symbol_map = {'G1': 'square', 'G2': 'cross'})

fig.show()

Estilo de línea por grupo

La última opción es utilizar un estilo de línea diferente para cada grupo. Para ello necesitarás pasar tu variable categórica a line_dash.

import plotly.express as px
import pandas as pd

# pandas data frame
df = pd.DataFrame({'x': [2010, 2011, 2012, 2013, 2010, 2011, 2012, 2013],
                   'y': [10, 15, 25, 18, 43, 30, 6, 12],
                   'group': ['G1', 'G1', 'G1', 'G1', 'G2', 'G2', 'G2', 'G2']})

fig = px.line(df, x = 'x', y = 'y', color = 'group', line_dash = 'group')

fig.show()

Puede especificar el tipo de línea deseado para cada grupo con line_dash_map o con line_dash_sequence.

import plotly.express as px
import pandas as pd

# pandas data frame
df = pd.DataFrame({'x': [2010, 2011, 2012, 2013, 2010, 2011, 2012, 2013],
                   'y': [10, 15, 25, 18, 43, 30, 6, 12],
                   'group': ['G1', 'G1', 'G1', 'G1', 'G2', 'G2', 'G2', 'G2']})

fig = px.line(df, x = 'x', y = 'y', color = 'group', line_dash = 'group',
              line_dash_map = {'G1': 'dashdot', 'G2': 'dash'})

fig.show()

Entradas recientes

MatPlotLib. WordCloud

E l WordCloud función desde wordcloud permite crear nubes de palabras en Python. La función proporciona varios métodos, pero generate es e...

Entradas Populares