πŸ“Š Как ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python? Учимся Π½Π°Π½ΠΎΡΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ

Как ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Python

Для подписи Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ annotate() ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ matplotlib. Π­Ρ‚Π° функция позволяСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ подпись ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π΅ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:


import matplotlib.pyplot as plt

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊ
plt.plot([1, 2, 3, 4], [1, 4, 2, 3])

# ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΡƒ (2, 4) Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅
plt.annotate('Π’ΠΎΡ‡ΠΊΠ° A', xy=(2, 4), xytext=(2.5, 3.5),
            arrowprops=dict(facecolor='black', arrowstyle='-'))

plt.show()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм простой Π³Ρ€Π°Ρ„ΠΈΠΊ с Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ annotate(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ (2, 4) Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅. ΠœΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ тСкст подписи ΠΊΠ°ΠΊ 'Π’ΠΎΡ‡ΠΊΠ° A', ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊΠ°ΠΊ xy=(2, 4) ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ смСщСния тСкста ΠΊΠ°ΠΊ xytext=(2.5, 3.5). ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Π΅ΠΌ ΡΡ‚ΠΈΠ»ΡŒ стрСлки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° Ρ‚ΠΎΡ‡ΠΊΡƒ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ свои Π½ΡƒΠΆΠ΄Ρ‹, измСняя ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈ тСкст подписи. ΠŸΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ настройками, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

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

Как ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Python

Π’ Python сущСствуСт нСсколько способов ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрим Π΄Π²Π° ΠΈΠ· Π½ΠΈΡ…: подписываниС Ρ‚ΠΎΡ‡Π΅ΠΊ с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ text() ΠΈ annotate().

ΠœΠ΅Ρ‚ΠΎΠ΄ 1: ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ text()

Ѐункция text() позволяСт ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, добавляя тСкст Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ тСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΅Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y, 'ro')  # ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° с красными Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ

# ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅
for i in range(len(x)):
    plt.text(x[i], y[i], f'({x[i]}, {y[i]})')

plt.show()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Π³Ρ€Π°Ρ„ΠΈΠΊ с красными Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ. Π—Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ text(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ значСниями x ΠΈ y.

ΠœΠ΅Ρ‚ΠΎΠ΄ 2: ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ annotate()

Ѐункция annotate() Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, Π½ΠΎ прСдоставляСт большС возмоТностСй для настройки подписи. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ тСкста, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ подписи.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y, 'bo')  # ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° с синими Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ

# ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅
for i in range(len(x)):
    plt.annotate(f'({x[i]}, {y[i]})', (x[i], y[i]), textcoords="offset points", xytext=(0,10), ha='center')

plt.show()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ создаСм Π³Ρ€Π°Ρ„ΠΈΠΊ с Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ» for ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ annotate(), ΠΌΡ‹ подписываСм ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ x ΠΈ y. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ настраиваСм смСщСниС тСкста ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² textcoords ΠΈ ha.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Π΄Π²Π° способа подписывания Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Π² Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ большС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π²Π°ΠΌ ΠΈ удовлСтворяСт ваши трСбования. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ text() ΠΈ annotate() позволяСт Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ подписи ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ваш Π³Ρ€Π°Ρ„ΠΈΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ.

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

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

ΠžΡΠ½ΠΎΠ²Ρ‹ Matplotlib. Визуализация Π΄Π°Π½Π½Ρ‹Ρ…. Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² Python

#9. РисуСм ступСнчатыС, стСковыС, stem ΠΈ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ | Matplotlib ΡƒΡ€ΠΎΠΊΠΈ

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

πŸ“ΠšΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с тСкстом Π² python: подробная инструкция

πŸ” Как Π·Π°Π΄Π°Ρ‚ΡŒ вопрос Π² Python ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚? πŸ€”

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π² Python: практичСскоС руководство

πŸ“Š Как ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python? Учимся Π½Π°Π½ΠΎΡΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π² Python

πŸƒβ€β™‚οΈΠšΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π΅ΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ списку Π² Python: Π»Π΅Π³ΠΊΠΈΠΉ Π³ΠΈΠ΄ ΠΈ простыС способы

Π’Ρ‹Π±ΠΎΡ€ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° сортировки Π² Python: ΠΊΠ°ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?