πŸ“Š Как ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ Π² subplots matplotlib πŸ“ˆ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ Π² subplots Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ matplotlib, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ `subplots_adjust`, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ пространство ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ:

    import matplotlib.pyplot as plt

    fig, axs = plt.subplots(2, 2)

    # УстановитС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° `hspace` для увСличСния Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ
    fig.subplots_adjust(hspace=0.5)

    # Π’Π°Ρˆ ΠΊΠΎΠ΄ для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²
    
Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ `hspace`, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0.5 ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ (Π² долях высоты Ρ„ΠΈΠ³ΡƒΡ€Ρ‹). Помимо этого, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ `wspace` для увСличСния Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ расстояния ΠΈ `left`, `right`, `top` ΠΈ `bottom` для настройки отступов ΠΏΠΎ краям Ρ„ΠΈΠ³ΡƒΡ€Ρ‹. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния этих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ matplotlib subplots?

Matplotlib - это популярная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² языкС программирования Python. Она прСдоставляСт мноТСство инструмСнтов для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ subplots, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ нСсколько Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π΅.

Когда ΠΌΡ‹ создаСм subplots, ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ Π±ΠΎΠ»Π΅Π΅ понятной ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΉ. Бчастливо, matplotlib прСдоставляСт Π½Π°ΠΌ способы Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ этого.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Π²Π° способа увСличСния расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ Π² subplots:

1. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ subplots_adjust()

Matplotlib прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ subplots_adjust(), которая позволяСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ располоТСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² subplots Π½Π° Ρ„ΠΈΠ³ΡƒΡ€Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


import matplotlib.pyplot as plt

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ subplots с 2 Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ
fig, axs = plt.subplots(1, 2)

# Установка ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ
plt.subplots_adjust(wspace=0.5)

# ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²
plt.show()

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм subplots с 2 Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ subplots(). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ subplots_adjust() с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ wspace для установки ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ wspace=0.5 ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ 0.5.

2. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ subplot2grid()

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ Π² subplots - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ subplot2grid(). Π­Ρ‚Π° функция позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ количСство строк ΠΈ столбцов, Π° Π·Π°Ρ‚Π΅ΠΌ позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ с использованиСм этой Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


import matplotlib.pyplot as plt

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ основной Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹
ax1 = plt.subplot2grid((2, 2), (0, 0))
ax2 = plt.subplot2grid((2, 2), (0, 1))
ax3 = plt.subplot2grid((2, 2), (1, 0))
ax4 = plt.subplot2grid((2, 2), (1, 1))

# Установка ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ
plt.subplots_adjust(wspace=0.5, hspace=0.5)

# ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²
plt.show()

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ subplot2grid(). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создаСм ΠΏΠΎΠ΄Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, указывая ΠΈΡ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ subplots_adjust() с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ wspace ΠΈ hspace для установки ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ соотвСтствСнно.

Оба способа ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ Π² subplots Π² matplotlib. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ большС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π²Π°ΡˆΠΈΡ… потрСбностСй ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ Π² subplots Π² matplotlib. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ эти знания Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ создавайтС Π±ΠΎΠ»Π΅Π΅ понятныС ΠΈ структурированныС Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ matplotlib.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

ΠžΡΠ½ΠΎΠ²Ρ‹ Matplotlib | ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π“Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² На Python

How to Create a Subplots with a Different Axis Size using Matplotlib in Python

#3. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹Ρ… осСй Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ | Matplotlib ΡƒΡ€ΠΎΠΊΠΈ

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ“Š Как ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ Π² subplots matplotlib πŸ“ˆ