Notas de estudio de Python para el día 65 (Matplotlib dibuja varios gráficos)

Notas de estudio de Python para el sexagésimo quinto día

Matplotlib dibuja múltiples figuras

Podemos usar los métodos subplot() y subplots() en pyplot para dibujar múltiples subtramas.

El método subplot() necesita especificar la posición al dibujar. El método subplots() puede generar varios a la vez. Al llamar, solo necesita llamar al hacha del objeto generado.

subtrama()

subplot(nrows, ncols, index, **kwargs)
subplot(pos, **kwargs)
subplot(**kwargs)
subplot(ax)

La función anterior divide toda el área de dibujo en nrows filas y ncols columnas, y luego numera cada subárea 1...N de izquierda a derecha y de arriba a abajo. La subárea superior izquierda se numera con 1 y el área inferior derecha está numerado N, el número se puede configurar a través del índice de parámetros.

Establecer numRows = 1 y numCols = 2 significa dibujar el gráfico en un área de imagen de 1 x 2. Las coordenadas correspondientes son:

(1, 1), (1, 2)
plotNum = 1, las coordenadas representadas son (1, 1), es decir, el subgrafo de la primera fila y la primera columna.

plotNum = 2, las coordenadas representadas son (1, 2), es decir, la subtrama en la primera fila y segunda columna.

# 实例 1
import matplotlib.pyplot as plt
import numpy as np

#plot 1:
xpoints = np.array([0, 6])
ypoints = np.array([0, 100])

plt.subplot(1, 2, 1)
plt.plot(xpoints,ypoints)
plt.title("plot 1")

#plot 2:
x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])

plt.subplot(1, 2, 2)
plt.plot(x,y)
plt.title("plot 2")

plt.suptitle("RUNOOB subplot Test")
plt.show()

Establecer numRows = 2 y numCols = 2 significa dibujar el gráfico en un área de imagen de 2 x 2. Las coordenadas correspondientes son:

(1, 1), (1, 2)
(2, 1), (2, 2)
plotNum = 1, las coordenadas representadas son (1, 1), es decir, el subgrafo de la primera fila y la primera columna.

plotNum = 2, las coordenadas representadas son (1, 2), es decir, la subtrama en la primera fila y segunda columna.

plotNum = 3, las coordenadas representadas son (2, 1), que es el subgrafo de la segunda fila y la primera columna.

plotNum = 4, las coordenadas representadas son (2, 2), es decir, la subtrama en la segunda fila y segunda columna.

# 实例 2
import matplotlib.pyplot as plt
import numpy as np

#plot 1:
x = np.array([0, 6])
y = np.array([0, 100])

plt.subplot(2, 2, 1)
plt.plot(x,y)
plt.title("plot 1")

#plot 2:
x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])

plt.subplot(2, 2, 2)
plt.plot(x,y)
plt.title("plot 2")

#plot 3:
x = np.array([1, 2, 3, 4])
y = np.array([3, 5, 7, 9])

plt.subplot(2, 2, 3)
plt.plot(x,y)
plt.title("plot 3")

#plot 4:
x = np.array([1, 2, 3, 4])
y = np.array([4, 5, 6, 7])

plt.subplot(2, 2, 4)
plt.plot(x,y)
plt.title("plot 4")

plt.suptitle("RUNOOB subplot Test")
plt.show()

subtramas()

El formato de sintaxis del método subplots() es el siguiente:

matplotlib.pyplot.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)

Descripción de parámetros:

  • nrows: el valor predeterminado es 1, establece el número de filas del gráfico.
  • ncols: el valor predeterminado es 1, establece el número de columnas del gráfico.
  • sharex, sharey: establece si los ejes x e y comparten atributos; el valor predeterminado es falso y se puede configurar en 'ninguno', 'todos', 'fila' o 'col'. Falso o ninguno El eje x o el eje y de cada subtrama es independiente, Verdadero o 'todos': todas las subtramas comparten el eje x o el eje y, 'fila' establece que cada fila de la subtrama comparta un eje x o y -axis, 'col': configura cada columna del subgráfico para que comparta un eje x o un eje y.
  • squeeze: valor booleano, por defecto es True, lo que indica que se extraen dimensiones adicionales del objeto Axes (eje) devuelto. Para N 1 o 1 N subgrafos, se devuelve una matriz unidimensional. Para N*M, N>1 y M >1 devuelve una matriz bidimensional. Si se establece en False, no se realiza ninguna extrusión y se devuelve una matriz 2D de instancias de Axes, incluso si termina siendo 1x1.
  • subplot_kw: opcional, tipo diccionario. Pase las claves del diccionario a add_subplot() para crear cada subtrama.
  • gridspec_kw: opcional, tipo diccionario. Pase las claves del diccionario al constructor GridSpec para crear el subgrafo y colocarlo en la cuadrícula.
  • **fig_kw: pasa argumentos de palabras clave detallados a la función figure().
# 实例 3
import matplotlib.pyplot as plt
import numpy as np

# 创建一些测试数据 -- 图1
x = np.linspace(0, 2*np.pi, 400)
y = np.sin(x**2)

# 创建一个画像和子图 -- 图2
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Simple plot')

# 创建两个子图 -- 图3
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(x, y)
ax1.set_title('Sharing Y axis')
ax2.scatter(x, y)

# 创建四个子图 -- 图4
fig, axs = plt.subplots(2, 2, subplot_kw=dict(projection="polar"))
axs[0, 0].plot(x, y)
axs[1, 1].scatter(x, y)

# 共享 x 轴
plt.subplots(2, 2, sharex='col')

# 共享 y 轴
plt.subplots(2, 2, sharey='row')

# 共享 x 轴和 y 轴
plt.subplots(2, 2, sharex='all', sharey='all')

# 这个也是共享 x 轴和 y 轴
plt.subplots(2, 2, sharex=True, sharey=True)

# 创建标识为 10 的图,已经存在的则删除
fig, ax = plt.subplots(num=10, clear=True)

plt.show()

posdata

Lo que estás aprendiendo hoy es cómo dibujar múltiples gráficos usando Python Matplotlib. Un resumen del contenido de aprendizaje de hoy:

  1. Matplotlib dibuja múltiples figuras
  2. subtrama()
  3. subtramas()

Supongo que te gusta

Origin blog.csdn.net/qq_54129105/article/details/132394378
Recomendado
Clasificación