Gráfico de dispersión conectado en matplotlib

Datos de ejemplo

Considera los siguientes datos a modo de ejemplo:

import numpy as np

# Semilla
rng = np.random.RandomState(3)

# Simulación de datos
x = np.arange(1, 13)
y = np.cumsum(rng.normal(0, 1, size = 12)) + 10

Gráfico de dispersión conectado en matplotlib

Un gráfico de dispersión conectado es un gráfico de líneas donde los puntos individuales también se marcan, lo que es útil para mostrar tanto la tendencia como las observaciones exactas, sobre todo cuando hay relativamente pocas. Matplotlib no necesita una función específica para ello: basta con pasar marker a la función plot habitual.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(x, y, marker = "o")

# plt.show()

Gráfico de dispersión conectado en matplotlib

Forma y tamaño de los marcadores

Personaliza los marcadores igual que en un gráfico de dispersión normal, con markersize y cualquiera de las formas de marcador de matplotlib.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(x, y, marker = "D", markersize = 8)

# plt.show()

Forma y tamaño de marcador de un gráfico de dispersión conectado en matplotlib

Color de la línea y los marcadores

Usa color para la línea y markerfacecolor / markeredgecolor para personalizar los marcadores de forma independiente.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(x, y, marker = "o", color = "#4C72B0",
       markerfacecolor = "white", markeredgewidth = 2)

# plt.show()

Colores de la línea y los marcadores de un gráfico de dispersión conectado en matplotlib

Estilo de línea

Cambia el estilo de línea con linestyle, por ejemplo a una línea discontinua.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(x, y, marker = "o", linestyle = "--")

# plt.show()

Estilo de línea de un gráfico de dispersión conectado en matplotlib

Resaltar un punto

Superpón una segunda llamada a scatter sobre un punto concreto (por ejemplo el máximo) para resaltarlo con otro color y tamaño.

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()
ax.plot(x, y, marker = "o")

i = np.argmax(y)
ax.scatter(x[i], y[i], color = "#C44E52", s = 100, zorder = 3)

# plt.show()

Resaltar un punto de un gráfico de dispersión conectado en matplotlib

Data Sketches

A journey of imagination, exploration, and beautiful data visualizations

Comprar en Amazon
Better Data Visualizations

A Guide for Scholars, Researchers, and Wonks

Comprar en Amazon

También te puede interesar