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

No hay comentarios.:

Publicar un comentario

Entradas recientes

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 lo...

Entradas Populares