π ΠΠ°ΠΊ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² matplotlib subplots?
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² matplotlib subplots, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ subplots ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ matplotlib.
import matplotlib.pyplot as plt
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΈΠ³ΡΡΡ ΠΈ ΠΏΠΎΠ΄Π³ΡΠ°ΡΠΈΠΊΠΎΠ²
fig, ax = plt.subplots(nrows=ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ_ΡΡΡΠΎΠΊ, ncols=ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ_ΡΡΠΎΠ»Π±ΡΠΎΠ²)
# Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π½Π° ΠΏΠΎΠ΄Π³ΡΠ°ΡΠΈΠΊΠ°Ρ
ax[0, 0].plot(x1, y1)
ax[0, 1].plot(x2, y2)
ax[1, 0].plot(x3, y3)
ax[1, 1].plot(x4, y4)
# ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ ΠΈ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²
ax[0, 0].set_title('ΠΡΠ°ΡΠΈΠΊ 1')
ax[0, 1].set_title('ΠΡΠ°ΡΠΈΠΊ 2')
ax[1, 0].set_title('ΠΡΠ°ΡΠΈΠΊ 3')
ax[1, 1].set_title('ΠΡΠ°ΡΠΈΠΊ 4')
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²
plt.show()
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² matplotlib subplots
Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ matplotlib Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ subplots(). ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅ΡΠΊΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ subplots():
import matplotlib.pyplot as plt
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΈΠ³ΡΡΡ ΠΈ ΠΎΡΠΈ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠ΅ΡΠΊΠΈ 2x2
fig, ax = plt.subplots(2, 2)
# Π ΠΈΡΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (0, 0)
ax[0, 0].plot([1, 2, 3, 4], [1, 4, 2, 3])
# Π ΠΈΡΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (0, 1)
ax[0, 1].plot([1, 2, 3, 4], [1, 2, 3, 4])
# Π ΠΈΡΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (1, 0)
ax[1, 0].plot([1, 2, 3, 4], [4, 3, 2, 1])
# Π ΠΈΡΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (1, 1)
ax[1, 1].plot([1, 2, 3, 4], [2, 1, 4, 3])
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΈΠ³ΡΡΡ ΡΠ΅ΡΠΊΠΎΠΉ 2x2 (2 ΡΡΡΠΎΠΊΠΈ, 2 ΡΡΠΎΠ»Π±ΡΠ°) ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π³ΡΠ°ΡΠΈΠΊΡ ΠΏΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΠ΅ΡΠΊΠ΅. ΠΡ Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ plot() Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π³ΡΠ°ΡΠΈΠΊΠ΅.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² subplots(). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΡΠ΅ΡΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° Π² Π΄ΡΠΉΠΌΠ°Ρ . ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import matplotlib.pyplot as plt
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΈΠ³ΡΡΡ ΠΈ ΠΎΡΠΈ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠ΅ΡΠΊΠΈ 2x2 Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ (10, 8)
fig, ax = plt.subplots(2, 2, figsize=(10, 8))
# Π ΠΈΡΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ
# ...
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, ΡΡΠΎ ΡΠΈΠ³ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ 10x8 Π΄ΡΠΉΠΌΠΎΠ², Π° ΡΠ΅ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· 2 ΡΡΡΠΎΠΊ ΠΈ 2 ΡΡΠΎΠ»Π±ΡΠΎΠ².
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠ², ΠΌΠ΅ΡΠΊΠΈ ΠΎΡΠ΅ΠΉ ΠΈ Π»Π΅Π³Π΅Π½Π΄Ρ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΡΠΎ:
import matplotlib.pyplot as plt
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΈΠ³ΡΡΡ ΠΈ ΠΎΡΠΈ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠ΅ΡΠΊΠΈ 2x2
fig, ax = plt.subplots(2, 2)
# Π ΠΈΡΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (0, 0) ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ
ax[0, 0].plot([1, 2, 3, 4], [1, 4, 2, 3])
ax[0, 0].set_title('ΠΡΠ°ΡΠΈΠΊ 1')
# Π ΠΈΡΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (0, 1) ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΊΠΈ ΠΎΡΠ΅ΠΉ
ax[0, 1].plot([1, 2, 3, 4], [1, 2, 3, 4])
ax[0, 1].set_xlabel('X')
ax[0, 1].set_ylabel('Y')
ax[0, 1].set_title('ΠΡΠ°ΡΠΈΠΊ 2')
# Π ΠΈΡΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (1, 0) ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π»Π΅Π³Π΅Π½Π΄Ρ
ax[1, 0].plot([1, 2, 3, 4], [4, 3, 2, 1])
ax[1, 0].legend(['ΠΠ°Π½Π½ΡΠ΅'])
# Π ΠΈΡΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (1, 1) ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ΅ΡΠΊΡ
ax[1, 1].plot([1, 2, 3, 4], [2, 1, 4, 3])
ax[1, 1].grid(True)
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°, ΠΌΠ΅ΡΠΊΠΈ ΠΎΡΠ΅ΠΉ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°, Π»Π΅Π³Π΅Π½Π΄Ρ Π΄Π»Ρ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° ΠΈ ΡΠ΅ΡΠΊΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² matplotlib Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ subplots(). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΠΈΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌΠΈ.