Как создать несколько графиков Matplotlib на одном рисунке


Вы можете использовать следующий синтаксис для создания нескольких графиков Matplotlib на одном рисунке:

import matplotlib.pyplot as plt

#define grid of plots
fig, axs = plt.subplots(nrows= 2 , ncols= 1 )

#add data to plots
axs[0].plot(variable1, variable2)
axs[1].plot(variable3, variable4)

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1: сложите графики вертикально

В следующем коде показано, как создать три графика Matplotlib, расположенные вертикально:

#create some data
var1 = [1, 2, 3, 4, 5, 6]
var2 = [7, 13, 16, 18, 25, 19]
var3 = [29, 25, 20, 25, 20, 18]

#define grid of plots
fig, axs = plt.subplots(nrows= 3 , ncols= 1 )

#add title
fig. suptitle('Plots Stacked Vertically')

#add data to plots
axs[0].plot(var1, var2)
axs[1].plot(var1, var3)
axs[2].plot(var2, var3)

Пример 2: сложить графики по горизонтали

В следующем коде показано, как создать три графика Matplotlib, расположенные горизонтально:

#create some data
var1 = [1, 2, 3, 4, 5, 6]
var2 = [7, 13, 16, 18, 25, 19]
var3 = [29, 25, 20, 25, 20, 18]

#define grid of plots
fig, axs = plt.subplots(nrows= 1 , ncols= 3 )

#add title
fig. suptitle('Plots Stacked Horizontally')

#add data to plots
axs[0].plot(var1, var2)
axs[1].plot(var1, var3)
axs[2].plot(var2, var3) 

Пример 3: создание сетки графиков

Следующий код показывает, как создать сетку графиков Matplotlib:

#create some data
var1 = [1, 2, 3, 4, 5, 6]
var2 = [7, 13, 16, 18, 25, 19]
var3 = [29, 25, 20, 25, 20, 18]
var4 = [4, 4, 6, 4, 7, 11]

#define grid of plots
fig, axs = plt.subplots(nrows= 2 , ncols= 2 )

#add title
fig. suptitle('Grid of Plots')

#add data to plots
axs[0, 0].plot(var1, var2)
axs[0, 1].plot(var1, var3)
axs[1, 0].plot(var1, var4)
axs[1, 1].plot(var3, var1)

Пример 4: Совместное использование осей между участками

Вы можете использовать аргументы sharex и sharey , чтобы убедиться, что несколько графиков используют одну и ту же ось X:

#create some data
var1 = [1, 2, 3, 4, 5, 6]
var2 = [7, 13, 16, 18, 25, 19]
var3 = [29, 25, 20, 25, 20, 18]
var4 = [4, 4, 6, 4, 7, 11]

#define grid of plots
fig, axs = plt.subplots(nrows= 2 , ncols= 2 , sharex= True , sharey= True )

#add title
fig. suptitle('Grid of Plots with Same Axes')

#add data to plots
axs[0, 0].plot(var1, var2)
axs[0, 1].plot(var1, var3)
axs[1, 0].plot(var1, var4)
axs[1, 1].plot(var3, var1) 

Дополнительные ресурсы

Как настроить интервал между подграфиками Matplotlib
Как изменить цвет фона в Matplotlib
Как увеличить размер графика в Matplotlib