Если вы полезли в аналитику, то, вероятно, обнаружили, что там много, ну ОЧЕНЬ МНОГО графиков. Иногда хватает одного, и тогда всё отлично. А если нужно два? А если пять? И рядом. Тут поможет matplotlib.
В этом материале обсудим функцию subplot библиотеки matplotlib в Python, которая позволяет строить сетку из визуализаций.
matplotlib.pyplot.subplot(nrows, ncols, idx [, label, projection, ...])
ПРИМЕЧАНИЕ: в matplotlib.pyplot.subplot() можно передать и трёхзначное целое число, оно будет представлять собой 3 параметра. Например, matplotlib.pyplot.subplot(437) — это то же самое, что matplotlib.pyplot.subplot(4, 3, 7). Создаётся сетка на 4 строки и 3 столбца, и график добавляется в 1-й столбец 3-й строки (по 7-му индексу).
# импортируем необходимые библиотеки
import matplotlib.pyplot as plt
import numpy as np
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
# строим графики
# график 1
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g')
# график 2
plt.subplot(2, 2, 2)
plt.plot(x, y2, '-.r')
# график 3
plt.subplot(2, 2, 3)
plt.plot(x, y3, ':y')
# график 4
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--c')
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# изменяем размер сетки
plt.figure(figsize=[9, 7])
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
# строим графики
# график 1
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
# график 2
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k')
# график 3
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3)
# график 4
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3)
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# изменяем размер отрисовки
plt.figure(figsize=[11, 9])
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
# добавляем общий заголовок
plt.suptitle('Different degree curves')
# строим графики
# график 1
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
# график 2
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k')
# график 3
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3)
# график 4
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3)
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# изменяем размер отрисовки
plt.figure(figsize=[11, 9])
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
# добавляем общий заголовок
plt.suptitle('Different degree curves')
# строим графики
# график 1
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve') # заголовок графика
# график 2
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve') # заголовок графика
# график 3
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve') # заголовок графика
# график 4
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3)
plt.title('Plot 4: 4th Degree curve') # заголовок графика
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# изменяем размер сетки
plt.figure(figsize=[11, 9])
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
# добавляем общий заголовок, задаём размер шрифта
plt.suptitle('Different degree curves', fontsize=19)
# строим графики
# график 1
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15) # заголовок + шрифт
# график 2
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15) # заголовок + шрифт
# график 3
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15) # заголовок + шрифт
# график 4
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3)
plt.title('Plot 4: 4th Degree curve', fontsize=15) # заголовок + шрифт
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# изменяем размер сетки
plt.figure(figsize=[11, 9])
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
# добавляем общий заголовок, задаём размер шрифта и выделяем его
plt.suptitle('Different degree curves', fontsize=19, fontweight='bold')
# строим графики
# график 1
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15)
# график 2
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15)
# график 3
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15)
# график 4
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3)
plt.title('Plot 4: 4th Degree curve', fontsize=15)
plt.show()
Выставление позиции заголовка
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# изменяем размер сетки
plt.figure(figsize=[11, 9])
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
# добавляем общий заголовок, задаём размер шрифта, выделяем его и позиционируем
plt.suptitle('Different degree curves', x=0.5, y=0, fontsize=17, fontweight='700')
# строим графики
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', loc='left', fontsize=15)
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', loc='right', fontsize=15)
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', loc='left', fontsize=15)
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3)
plt.title('Plot 4: 4th Degree curve', loc='right', fontsize=15)
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# изменяем размер сетки
plt.figure(figsize=[11, 9])
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
# добавляем общий заголовок
plt.suptitle('Different degree curves', y=1.1, fontsize=19, fontweight='bold')
# строим графики
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15, y=1.1)
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, y=1.1)
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=17)
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3)
plt.title('Plot 4: 4th Degree curve', fontsize=15, pad=17)
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# изменяем размер сетки
plt.figure(figsize=[11, 9])
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
# добавляем общий заголовок
plt.suptitle('Different degree curves', y=1.1, fontsize=19, fontweight='bold')
# строим графики
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2, label='1st degree curve')
plt.title('Plot 1: 1st Degree curve', fontsize=15, y=1.1)
plt.legend(loc='upper left')
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k', label='2nd degree curve')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, y=1.1)
plt.legend(loc='upper left')
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3, label='3rd degree curve')
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=17)
plt.legend(loc='upper left')
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3, label='4th degree curve')
plt.title('Plot 4: 4th Degree curve', fontsize=15, pad=17)
plt.legend(loc='upper left')
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# определяем сетку и оси с помощью matplotlib.pyplot.subplots()
fig, ax = plt.subplots(2, 2, figsize=[11, 9])
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
fig.suptitle('Different degree curves', fontsize=19, fontweight='bold')
# строим графики
c1 = ax[0,0].plot(x, y1, 'g', linewidth=2)
ax[0,0].set_title('Plot 1', fontsize=15)
c2 = ax[0,1].scatter(x, y2, color='k')
ax[0,1].set_title('Plot 2', fontsize=15)
c3 = ax[1,0].plot(x, y3, '-.y', linewidth=3)
ax[1,0].set_title('Plot 3', fontsize=15)
c4 = ax[1,1].plot(x, y4, '--b', linewidth=3)
ax[1,1].set_title('Plot 4', fontsize=15)
label_list = ['1st degree curve', '2nd degree curve', '3rd degree curve', '4th degree curve']
fig.legend([c1, c2, c3, c4],
labels=label_list,
loc='upper left',
borderaxespad=0.1)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 10)
y1 = x + 3
y2 = x + 9
y3 = x + 13
y4 = x + 17
fig, ax = plt.subplots(2, 2, figsize=[11, 9])
fig.suptitle('Different degree curves', fontsize=19, fontweight='bold')
ax[0,0].plot(x, y1, 'g', linewidth=2)
ax[0,0].set_title('Plot 1: 1st degree curve', fontsize=15)
ax[0,1].scatter(x, y2, color='k')
ax[0,1].set_title('Plot 2: 2nd degree curve', fontsize=15)
ax[1,0].plot(x, y3, '-.y', linewidth=3)
ax[1,0].set_title('Plot 3: 3rd degree curve', fontsize=15)
# Plot 4
ax[1,1].plot(x, y4, '--b', linewidth=3)
ax[1,1].set_title('Plot 4: 4th degree curve', fontsize=15)
plt.show()
# ---------------------------------------------------------------------
fig, ax = plt.subplots(2, 2, sharex=True, sharey=True, figsize=[11, 9])
fig.suptitle('Different degree curves', fontsize=19, fontweight='bold')
ax[0,0].plot(x, y1, 'g', linewidth=2)
ax[0,0].set_title('Plot 1: 1st degree curve', fontsize=15)
ax[0,1].scatter(x, y2, color='k')
ax[0,1].set_title('Plot 2: 2nd degree curve', fontsize=15)
ax[1,0].plot(x, y3, '-.y', linewidth=3)
ax[1,0].set_title('Plot 3: 3rd degree curve', fontsize=15)
ax[1,1].plot(x, y4, '--b', linewidth=3)
ax[1,1].set_title('Plot 4: 4th degree curve', fontsize=15)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 10)
y1 = x + 3
y2 = x + 9
y3 = x + 13
y4 = x + 17
fig, ax = plt.subplots(2, 2, figsize=[11, 9])
fig.suptitle('Different degree curves', fontsize=19, fontweight='bold')
ax[0,0].plot(x, y1, 'g', linewidth=2)
ax[0,0].set_title('Plot 1: 1st degree curve', fontsize=15)
ax[0,1].scatter(x, y2, color='k')
ax[0,1].set_title('Plot 2: 2nd degree curve', fontsize=15)
ax[1,0].plot(x, y3, '-.y', linewidth=3)
ax[1,0].set_title('Plot 3: 3rd degree curve', fontsize=15)
ax[1,1].plot(x, y4, '--b', linewidth=3)
ax[1,1].set_title('Plot 4: 4th degree curve', fontsize=15)
fig.add_subplot(1, 1, 1, frame_on=False)
plt.tick_params(labelcolor="none", bottom=False, left=False)
plt.xlabel('Common X-Axis', fontsize=15, fontweight='bold')
plt.ylabel('Common Y-Axis', fontsize=15, fontweight='bold')
plt.show()
# готовим данные для построения графиков
x = np.linspace(0, 10, 10)
y1 = x + 3
y2 = x + 9
y3 = x + 13
y4 = x + 17
# определяем сетку и оси с помощью matplotlib.pyplot.subplots(),
# указываем совместное использование оси x и оси y для графиков
fig, ax = plt.subplots(2, 2, sharex=True, sharey=True, figsize=[11, 9])
fig.suptitle('Different degree curves', fontsize=19, fontweight='bold')
# строим графики
# график 1
ax[0,0].plot(x, y1, 'g', linewidth=2)
ax[0,0].set_title('Plot 1: 1st degree curve', fontsize=15)
# график 2
ax[0,1].scatter(x, y2, color='k')
ax[0,1].set_title('Plot 2: 2nd degree curve', fontsize=15)
# график 3
ax[1,0].plot(x, y3, '-.y', linewidth=3)
ax[1,0].set_title('Plot 3: 3rd degree curve', fontsize=15)
# график 4
ax[1,1].plot(x, y4, '--b', linewidth=3)
ax[1,1].set_title('Plot 4: 4th degree curve', fontsize=15)
# добавляем график на сетку,
# он будет включать в себя все подграфики, но отображаться будут только оси
fig.add_subplot(1, 1, 1, frame_on=False)
# убираем тики и их метки с большого графика
plt.tick_params(labelcolor="none", bottom=False, left=False)
# добавляем оси на большой график
plt.xlabel('X-Axis', fontsize=15, fontweight='bold')
plt.ylabel('Y-Axis', fontsize=15, fontweight='bold')
plt.show()
# меняем размер отрисовки
plt.figure(figsize=[11, 9])
# готовим данные
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
plt.suptitle('Different degree curves',
y=1.13,
fontsize=19,
fontweight='bold')
plt.subplots_adjust(left=0.13,
right=0.93,
top=1.0,
bottom= 0.27,
wspace= 0.3,
hspace=0.3)
# строим графики
# график 1
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15, y=1.1)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
# график 2
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, y=1.1)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
# график 3
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=17)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
# график 4
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3)
plt.title('Plot 4: 4th Degree curve', fontsize=15, pad=17)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# готовим данные
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
plt.suptitle('Different degree curves',
y=1.13,
fontsize=19,
fontweight='bold')
# строим графики
# график 1
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15, y=1.1)
# график 2
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, y=1.1)
# график 3
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=17)
# график 4
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3)
plt.title('Plot 4: 4th Degree curve', fontsize=15, pad=17)
plt.show()
# ---------------------------------------------------------------------
# строим графики с автоподбором отступа
plt.suptitle('Different degree curves',
y=1.13,
fontsize=19,
fontweight='bold')
# график 1
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15, y=1.1)
# график 2
plt.subplot(2, 2, 2)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, y=1.1)
# график 3
plt.subplot(2, 2, 3)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=17)
# график 4
plt.subplot(2, 2, 4)
plt.plot(x, y4, '--b', linewidth=3)
plt.title('Plot 4: 4th Degree curve', fontsize=15, pad=17)
plt.tight_layout()
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# подготавливаем данные
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
# меняем размер сетки
plt.figure(figsize=[11, 9])
plt.suptitle('Different degree curves',
y=1.05,
fontsize=19,
fontweight='bold')
# строим графики
# график 1
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
# график 2
plt.subplot(2, 2, 3)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
# график 3
plt.subplot(1, 2, 2)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.tight_layout()
plt.show()
# импортируем библиотеки
import matplotlib.pyplot as plt
import numpy as np
# готовим данные
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
# меняем размер сетки
plt.figure(figsize=[11, 9])
plt.suptitle('Different degree curves',
y=1.05,
fontsize=19,
fontweight='bold')
# строим графики
# график 1
plt.subplot(3, 1, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
# график 2
plt.subplot(3, 2, 3)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
# график 3
plt.subplot(3, 2, 4)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
# график 4
plt.subplot(3, 1, 3)
plt.plot(x, y4, ':r', linewidth=2)
plt.title('Plot 4: 4th Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.tight_layout()
plt.show()
from matplotlib import pyplot as plt
from matplotlib import gridspec
fig = plt.figure()
grid_obj = gridspec.GridSpec(nrows, ncols[, figure, left,
bottom, right, top, wspace, hspace, ...])
ax1 = fig.add_subplot(grid_obj[0, 0])
ax2 = fig.add_subplot(grid_obj[0, 1])
...
...
...
axN = fig.add_subplot(grid_obj[nrows-1, ncols-1])
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 10)
y1 = x + 3
y2 = x ** 2
y3 = x ** 3
y4 = x ** 4
fig = plt.figure(constrained_layout=True)
spec = gridspec.GridSpec(ncols=2, nrows=2, figure=fig)
ax1 = fig.add_subplot(spec[0, 0])
ax1.plot(x, y1, 'g', linewidth=2)
ax1.set_title('Plot 1: 1st degree curve', fontsize=15)
ax2 = fig.add_subplot(spec[0, 1])
ax2.scatter(x, y2, color='k')
ax2.set_title('Plot 2: 2nd degree curve', fontsize=15)
ax3 = fig.add_subplot(spec[1, 0])
ax3.plot(x, y3, '-.y', linewidth=3)
ax3.set_title('Plot 3: 3rd degree curve', fontsize=15)
ax4 = fig.add_subplot(spec[1, 1])
ax4.plot(x, y4, '--b', linewidth=3)
ax4.set_title('Plot 4: 4th degree curve', fontsize=15)
plt.show()
x = np.linspace(0, 10, 10)
y = []
y.append(x + 3)
y.append(x ** 2)
y.append(x ** 3)
y.append(x ** 4)
l_style = ['-', ':', '-.', '--']
l_color = ['g', 'k', 'y', 'b']
k = 0
fig2 = plt.figure(figsize=[7, 5], constrained_layout=True)
widths = [1.5, 3]
heights = [2, 3]
spec2 = fig2.add_gridspec(ncols=2, nrows=2, width_ratios=widths,
height_ratios=heights)
for row in range(2):
for col in range(2):
ax = fig2.add_subplot(spec2[row, col])
ax.plot(x, y[k], color=l_color[k], linestyle=l_style[k],
linewidth=3)
ax.set_title('Plot'+str(k+1)+' : '+str(k+1)+' degree curve',
fontsize=15)
k += 1
plt.show()
# без направляющих
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
plt.figure(figsize=[11, 5])
plt.suptitle('Different degree curves',
y=1.13,
fontsize=19,
fontweight='bold')
plt.subplot(1, 3, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15, pad=17)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.grid()
plt.subplot(1, 3, 2)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, pad=17)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.grid()
plt.subplot(1, 3, 3)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=17)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.grid()
plt.tight_layout()
plt.show()
# ---------------------------------------------------------------------
# с направляющими
plt.figure(figsize=[11, 11])
plt.suptitle('Different degree curves',
y=1.13,
fontsize=19,
fontweight='bold')
plt.subplot(3, 1, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15, pad=17)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.grid()
plt.subplot(3, 1, 2)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, pad=17)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.grid()
plt.subplot(3, 1, 3)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=17)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.grid()
plt.tight_layout()
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
plt.figure(figsize=[11, 9])
plt.suptitle('Different degree curves',
y=1.05,
fontsize=19,
fontweight='bold')
# добавим xlim() и ylim() к каждому графику
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.xlim(0, 12)
plt.ylim(0, 12)
plt.grid()
plt.subplot(2, 2, 3)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.xlim(0, 15)
plt.ylim(0, 150)
plt.grid(alpha=0.8)
plt.subplot(1, 2, 2)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.xlim(0, 15)
plt.ylim(0, 1500)
plt.grid(alpha=0.6)
plt.tight_layout()
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 10)
y1 = x
y2 = x ** 2
y3 = x ** 3
plt.figure(figsize=[11, 9])
plt.suptitle('Different degree curves',
y=1.05,
fontsize=19,
fontweight='bold')
# разукрашиваем направляющие
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'g', linewidth=2)
plt.title('Plot 1: 1st Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis', fontsize=13)
plt.ylabel('Y-Axis', fontsize=13)
plt.xlim(0, 12)
plt.ylim(0, 12)
plt.grid(color='red', linestyle='-.', linewidth=1)
# график 2
plt.subplot(2, 2, 3)
plt.scatter(x, y2, color='k')
plt.title('Plot 2: 2nd Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis', fontsize=13)
plt.ylabel('Y-Axis', fontsize=13)
plt.xlim(0, 15)
plt.ylim(0, 150)
plt.grid(alpha=0.8, color='blue', linestyle=':', linewidth=1.2)
# график 3
plt.subplot(1, 2, 2)
plt.plot(x, y3, '-.y', linewidth=3)
plt.title('Plot 3: 3rd Degree curve', fontsize=15, pad=12)
plt.xlabel('X-Axis', fontsize=13)
plt.ylabel('Y-Axis', fontsize=13)
plt.xlim(0, 15)
plt.ylim(0, 1500)
plt.grid(alpha=0.6, color='green', linestyle='--', linewidth=1.4)
plt.tight_layout()
plt.show()
import matplotlib.pyplot as plt
import matplotlib.image as img
import random
import os
cwd = os.getcwd()
source_path = cwd + '\\image_data\\'
fig, ax = plt.subplots(2,2)
plt.suptitle('Random Images', y=1.05, fontsize=19, fontweight='bold')
for i in range(2):
for j in range(2):
image_file = random.choice(os.listdir(source_path))
image_path = os.path.join(source_path, image_file)
image = img.imread(image_path)
ax[i,j].set_title(image_file, fontsize=15, pad=12)
ax[i,j].imshow(image)
ax[i,j].grid()
plt.tight_layout()
plt.show()
# ------------------------------------------------------------------
plt.figure()
plt.suptitle('Random Images', y=1.05, fontsize=19, fontweight='bold')
for i in range(4):
image_file = random.choice(os.listdir(source_path))
image_path = os.path.join(source_path, image_file)
image = img.imread(image_path)
plt.subplot(2, 2, i+1)
plt.title(image_file, fontsize=15, pad=12)
plt.imshow(image)
plt.tight_layout()
plt.show()
import matplotlib.pyplot as plt
import matplotlib.image as img
import random
import os
cwd = os.getcwd()
source_path = cwd + '\\image_data\\'
plt.figure(figsize=[7, 7])
plt.suptitle('Random Images', y=1.05, fontsize=19, fontweight='bold')
for i in range(4):
image_file = random.choice(os.listdir(source_path))
image_path = os.path.join(source_path, image_file)
image = img.imread(image_path)
plt.subplot(2, 2, i+1)
plt.title(image_file, fontsize=15, pad=12)
plt.imshow(image)
plt.grid()
plt.tight_layout()
plt.show()
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(2, 2, figsize=[7, 7])
for x in ax.flat:
image = x.imshow(np.random.random((15,15)), vmin=0, vmax=1)
fig.subplots_adjust(right=0.8)
color_bar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7])
fig.colorbar(image, cax=color_bar_ax)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm # для цветовой шкалы
from mpl_toolkits.mplot3d.axes3d import get_test_data
fig = plt.figure(figsize=[9, 4])
plt.suptitle('3D plots', y=1.05, fontsize=19, fontweight='bold')
# график 1
# задаём оси
ax = fig.add_subplot(1, 2, 1, projection='3d')
# строим 3D-график
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surface_pl = ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
cmap=cm.coolwarm, linewidth=0)
ax.set_zlim(-1.01, 1.01)
fig.colorbar(surface_plt, shrink=0.5, aspect=10)
ax.set_title('A 3D Surface')
ax.set_xlabel('X-Axis')
ax.set_ylabel('Y-Axis')
ax.set_zlabel('Z-Axis')
# график 2
# задаём оси
ax = fig.add_subplot(1, 2, 2, projection='3d')
# строим 3D-каркас графика
X, Y, Z = get_test_data(0.05)
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
ax.set_title('A 3D Wireframe')
ax.set_xlabel('X-Axis')
ax.set_ylabel('Y-Axis')
ax.set_zlabel('Z-Axis')
plt.tight_layout()
plt.show()
Источник: PythonGuides