Python Ρ‚Π΅ΠΌΠ°: Π—Π°Π΄Π°Ρ‡Π½ΠΈΠΊ ΠΏΠΎ Python. Π’Π΅ΠΌΠ° 1. Π¦Π΅Π»Ρ‹Π΅ числа.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠžΡΠ½ΠΎΠ²Ρ‹ программирования ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Python

ΠšΡƒΡ€Ρ посвящСн основам программирования Π½Π° языкС Python. Π‘Π»ΡƒΡˆΠ°Ρ‚Π΅Π»ΠΈ курса познакомятся с основными конструкциями языка Python ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°ΠΌΠΈ программирования, Π° Ρ‚Π°ΠΊΠΆΠ΅ с инструмСнтами для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Основная Ρ†Π΅Π»ΡŒ курса — это ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ основ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка Python.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: 1 сСмСстр (12 Π»Π΅ΠΊΡ†ΠΈΠΉ).

Π’Π΅ΠΌΡ‹ курса:

  • синтаксис языка Python
  • ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Β«Π·ΠΎΠ»ΠΎΡ‚ΠΎΠ³ΠΎ Ρ„ΠΎΠ½Π΄Π°Β» Python
  • визуализация Π΄Π°Π½Π½Ρ‹Ρ…
  • Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy ΠΈ Pandas
  • ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…
  • ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования

Бписок всСх Ρ‚Π΅ΠΌ Π»Π΅ΠΊΡ†ΠΈΠΉ

ЛСкция 1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² курс. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Python.
ВступлСниС ΠΊ Π»Π΅ΠΊΡ†ΠΈΠΈ

ΠžΠ±Π»Π°ΡΡ‚ΠΈ использования языка Python

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π² ΠΌΠΈΡ€Π΅

Алгоритм

ΠžΡΠ½ΠΎΠ²Ρ‹ программирования с исполнитСлСм turtle

Π¦ΠΈΠΊΠ»Ρ‹ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — «ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹» Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ

Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

УсловноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСйствий

Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ функциями input ΠΈ print

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

ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопросы студСнтов

ЛСкция 2. НаписаниС ΠΊΠΎΠ΄Π° Π½Π° Python.
Π’Π΅ΠΌΠ° Π»Π΅ΠΊΡ†ΠΈΠΈ

НаписаниС кода на Python

ВСрсии языка Python

Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ тСкстовых Π΄Π°Π½Π½Ρ‹Ρ…

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ + ΠΈ * со строками

Π˜Π½Ρ‚Ρ€ΠΎΡΠΏΠ΅ΠΊΡ†ΠΈΡ Π² Python

ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ строки ΠΈ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΊΠ°ΠΊ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Π‘Ρ€Π΅Π·Ρ‹ строк

ВСкстовыС Ρ„Π°ΠΉΠ»Ρ‹

Вопросы, обсуТдСниС, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ЛСкция 3. ИмСна ΠΈ значСния.
Π’Π΅ΠΌΠ° Π»Π΅ΠΊΡ†ΠΈΠΈ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ присваиваниС

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списка

ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° списков

Ѐункция map

Ѐункция ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 1-Π³ΠΎ класса

Ѐункция zip

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° itortools

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅

Π—Π°ΠΏΠΈΡΡŒ Π² Ρ„Π°ΠΉΠ»

ЛСкция 4. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ числовых Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.
Π’Π΅ΠΌΠ° Π»Π΅ΠΊΡ†ΠΈΠΈ

Двоичная систСма счислСния

Π”Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа

ОбмСн ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… значСниями

ΠŸΠΎΠ΄ΡΡ‡Ρ‘Ρ‚ ситуаций

Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ чисСл

ГСомСтричСская прогрСссия

Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ Ρ…ΠΎΠ΄Π° исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ условныС конструкции

Каскадная конструкция if, elif, else

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π·Π°Π΄Π°Ρ‡Π° Π½Π° расчСт ΠΊΡ€Π΅Π΄ΠΈΡ‚Π°

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ„Π°ΠΉΠ»Π° CSV

ЛСкция 5. Бсылочная модСль Π΄Π°Π½Π½Ρ‹Ρ… Python.
Π’Π΅ΠΌΠ° Π»Π΅ΠΊΡ†ΠΈΠΈ

ДСйствия со списками list Π² Python

Π‘Ρ€Π΅Π·Ρ‹ списков ΠΈ строк

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρƒ списка

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ элСмСнтов

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° списка

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² list

Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы (списки списков)

ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… списков

ЛСкция 6. Частотный Π°Π½Π°Π»ΠΈΠ·.
Π’Π΅ΠΌΠ° Π»Π΅ΠΊΡ†ΠΈΠΈ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Вопрос эффСктивности

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ

Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ

Частотный Π°Π½Π°Π»ΠΈΠ· со словарём

ЛСкция 7. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈ основы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Matplotlib.
Π’Π΅ΠΌΠ° Π»Π΅ΠΊΡ†ΠΈΠΈ

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ Π½Π° плоскости Π”Π΅ΠΊΠ°Ρ€Ρ‚Π°

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Бинтаксис создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

ΠžΡΠ½ΠΎΠ²Ρ‹ Numpy

Π’Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивами

Π‘Ρ€Π΅Π·Ρ‹ массивов NumPy

Числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈ ошибки вычислСний

ΠΠ΅Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ сравнСния для чисСл float

Гистограммы ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹

ЛСкция 8. БтатистичСский Π°Π½Π°Π»ΠΈΠ·.
Π’Π΅ΠΌΠ° Π»Π΅ΠΊΡ†ΠΈΠΈ

ГСнСрация случайных чисСл

БтатистичСскиС характСристики Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ статистичСского Π°Π½Π°Π»ΠΈΠ·Π° нСслучайной Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ массивы Numpy

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Numpy

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π»Π΅ΠΊΡ†ΠΈΠΈ

ЛСкция 9. Π›ΠΎΠ³ΠΈΠΊΠ° ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy ΠΈ Pandas.

ЛСкция 10. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Pandas.

ЛСкция 11. ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования.

ЛСкция 12. РСляционныС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ΡƒΡ‚ΠΊΠ΅ΠΌΠΏ Python QA Engineer

Π ΡƒΡ‡Π½ΠΎΠ΅ тСстированиС/ БизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°

ΠžΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

Π’Π΅ΠΌΠ° 1: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² тСстированиС ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ

ΠžΠ±Π·ΠΎΡ€ ΠΌΠΈΡ€Π° Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСстирования. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ процСссы. Roadmap тСстировщика/Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°. ΠžΠ±Π·ΠΎΡ€ Ρ€Ρ‹Π½ΠΊΠ° IT ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ.
ΠŸΠΎΠ½ΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Ρ€Ρ‹Π½ΠΊΠ° IT, ниша Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСстирования.

Π’Π΅ΠΌΠ° 2: ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ ПО ΠΈΒ ΠŸΠΈΡ€Π°ΠΌΠΈΠ΄Π° тСстирования

Π Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ качСство ПО ΠΈ ΠΈΠ· Ρ‡Π΅Π³ΠΎ ΠΎΠ½ΠΎ ΡΠΎΡΡ‚ΠΎΠΈΡ‚β€¨ΠŸΠΈΡ€Π°ΠΌΠΈΠ΄Π° тСстирования ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ инструмСнт

Π’Π΅ΠΌΠ° 3: ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π’Π΅ΠΌΠ° 4: ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π’Π΅ΠΌΠ° 5: ΠšΠ°Ρ€Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

ΠΏΠΎΠ½ΡΡ‚ΡŒ структуру ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π° основныС бизнСс-сцСнарии

Π’Π΅ΠΌΠ° 6: ВрСбования

ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с процСссом Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ с трСбованиями ΠΈ Π±Π΅Π· Π½ΠΈΡ…

Π’Π΅ΠΌΠ° 7: ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с трСбованиями Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ use case;

Π’Π΅ΠΌΠ° 8: ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

Π’Π΅ΠΌΠ° 9: ВСст-кСйсы ΠΈ Ρ‡Π΅ΠΊ-листы

ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π²ΠΈΠ΄Π°ΠΌΠΈ тСстовой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ,
ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅ΠΊ-лист

Π’Π΅ΠΌΠ° 10: Π‘Π°Π³-Ρ€Π΅ΠΏΠΎΡ€Ρ‚Ρ‹

завСсти bug report Π² jira;
ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ… частСй состоит bug report

Π’Π΅ΠΌΠ° 11: Учимся ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Π΅ΠΊ-листы

ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅ΠΊ-листы

Π’Π΅ΠΌΠ° 12: Учимся ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π±Π°Π³ΠΈ

Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π±Π°Π³ΠΈ Π² Jira

Π’Π΅ΠΌΠ° 13: Jira + Confluence

ΡƒΠ·Π½Π°Ρ‚ΡŒ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΊΠ°ΠΊ вСдСтся докумСнтация Π² Confluence;
ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Jira ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π°Π³-Ρ€Π΅ΠΏΠΎΡ€Ρ‚Ρ‹

Π’Π΅ΠΌΠ° 14: Jira + Confluence

ΡƒΠ·Π½Π°Ρ‚ΡŒ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΊΠ°ΠΊ вСдСтся докумСнтация Π² Confluence;
ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Jira ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π°Π³-Ρ€Π΅ΠΏΠΎΡ€Ρ‚Ρ‹

Π’Π΅ΠΌΠ° 15: Учимся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²Β Jira

ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ быстро ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‡ΡƒΠΆΠΈΡ… Π·Π°Π΄Π°Ρ‡Π°Ρ… Π² jira

Π’Π΅ΠΌΠ° 16: Учимся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²Β Confluence

вСсти Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π² confluence

Π’Π΅ΠΌΠ° 17: ВСстированиС Ρ‡Ρ‘Ρ€Π½ΠΎΠ³ΠΎ ящика / ВСст Π΄ΠΈΠ·Π°ΠΉΠ½ / Π Π°Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ тСстов

ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ понятиС «»Π’Сст-Π΄ΠΈΠ·Π°ΠΉΠ½»»,
ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ± основных Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°Ρ… тСст-Π΄ΠΈΠ·Π°ΠΉΠ½Π°,
ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ примСнСния Ρ‚Π΅Ρ…Π½ΠΈΠΊ тСст-Π΄ΠΈΠ·Π°ΠΉΠ½Π°,
Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΌ, Π±Π΅Π»Ρ‹ΠΌ ΠΈ сСрым ящиком

Π’Π΅ΠΌΠ° 18: ΠšΠ»Π°ΡΡΡ‹ эквивалСнтности

Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ 2 Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ тСст-Π΄ΠΈΠ·Π°ΠΉΠ½Π°;
Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ классы эквивалСнтности ΠΈ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ значСния Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

Π’Π΅ΠΌΠ° 19: Учимся ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты

Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты с использованиСм Ρ‚Π΅Ρ…Π½ΠΈΠΊ тСст-Π΄ΠΈΠ·Π°ΠΉΠ½Π°

Π’Π΅ΠΌΠ° 20: Учимся ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты

Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты с использованиСм ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° «ΠšΠ»Π°ΡΡΡ‹ эквивалСнтности»

Π’Π΅ΠΌΠ° 21: Test It

ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚;
ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-кСйсы ΠΈ Ρ‡Π΅ΠΊ-листы Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Π’Π΅ΠΌΠ° 22: Test It

ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚;
ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-кСйсы ΠΈ Ρ‡Π΅ΠΊ-листы Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Π’Π΅ΠΌΠ° 23: Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ тСст-ΠΏΠ»Π°Π½ Π² Test It

ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-ΠΏΠ»Π°Π½Ρ‹ Π² test it

Π’Π΅ΠΌΠ° 24: Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ тСст-ΠΏΠ»Π°Π½ Π² Test It

ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-ΠΏΠ»Π°Π½Ρ‹ Π² test it

Π’Π΅ΠΌΠ° 25: ВСстовая ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈΠΊΠ°

ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ основныС Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ тСстовой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈΠΊΠΈ;
ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСстовыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ создании тСст-кСйсов

Π’Π΅ΠΌΠ° 26: Π’Π°Π±Π»ΠΈΡ†Ρ‹ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ составлСния Ρ‚Π°Π±Π»ΠΈΡ† Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ;
ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ;
ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ прилоТСния

Π’Π΅ΠΌΠ° 27: Учимся ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты

Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты с использованиСм ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° «Π’Сстовая ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΈΠΊΠ°»

Π’Π΅ΠΌΠ° 28: Учимся ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты

Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты с использованиСм ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° «Π’Π°Π±Π»ΠΈΡ†Ρ‹ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ»

Π’Π΅ΠΌΠ° 29: TestRail

ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚;
ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-кСйсы ΠΈ Ρ‡Π΅ΠΊ-листы Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅;

Π’Π΅ΠΌΠ° 30: TestRail

ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚;
ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-кСйсы ΠΈ Ρ‡Π΅ΠΊ-листы Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Π’Π΅ΠΌΠ° 31: Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ тСст-ΠΏΠ»Π°Π½ Π² TestRail

ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-ΠΏΠ»Π°Π½Ρ‹ Π² TestRail

Π’Π΅ΠΌΠ° 32: Учимся ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты

Учимся ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ‚ΡƒΡ€Ρ‹

Π’Π΅ΠΌΠ° 33: Allure Test Ops (Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎ Ρ€ΡƒΡ‡Π½Ρ‹Π΅ тСсты)

ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚;
ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-кСйсы ΠΈ Ρ‡Π΅ΠΊ-листы Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Π’Π΅ΠΌΠ° 34: Allure Test Ops (Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎ Ρ€ΡƒΡ‡Π½Ρ‹Π΅ тСсты)

ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚;
ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-кСйсы ΠΈ Ρ‡Π΅ΠΊ-листы Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅;

Π’Π΅ΠΌΠ° 35: Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ тСст-ΠΏΠ»Π°Π½ Π² Allure Test Ops

ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-ΠΏΠ»Π°Π½Ρ‹ Π² Allure Test Ops

Π’Π΅ΠΌΠ° 36: Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ тСст-ΠΏΠ»Π°Π½ Π² Allure Test Ops

ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСст-ΠΏΠ»Π°Π½Ρ‹ Π² Allure Test Ops

Π’Π΅ΠΌΠ° 37: ΠšΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΠΈ с ΠΌΠ΅Π½Ρ‚ΠΎΡ€ΠΎΠΌ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°. Π§Π°ΡΡ‚ΡŒ 1

Π’Π΅ΠΌΠ° 38: Π—Π°Ρ‰ΠΈΡ‚Π° ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π§Π°ΡΡ‚ΡŒ 1

ВСмная Ρ‚Π΅ΠΌΠ° подсвСтки для Python IDLE Π½Π° основС Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ схСмы SublimeText Monokai Β· GitHub

# ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ этот Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΡƒ ~/.idlerc/
# ΠΈΠ»ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ содСрТимоС Π²Π½ΡƒΡ‚Ρ€ΡŒ
# /path/to/python/idlelib/config-highlight.def
# Адаптировано ΠΈΠ· Monokai SublimeText
[ΠΌΠΎΠ½ΠΎΠΊΠ°ΠΉ]
ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½= #F8F8F2
Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΠ½ = # 272822
ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = # F92672
ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово-Ρ„ΠΎΠ½ = # 272822
встроСнный ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = #66D9EF
встроСнный Ρ„ΠΎΠ½ = # 272822
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = #75715E
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ-Ρ„ΠΎΠ½ = # 272822
строка-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = #FD971F
строка-Ρ„ΠΎΠ½ = # 272822
ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = #A6E22E
ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅-Ρ„ΠΎΠ½ = # 272822
Ρ…Π°ΠΉΠ»ΠΈΡ‚-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½= #F8F8F2
hilite-Ρ„ΠΎΠ½ = сСрый
ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ
ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²-Ρ„ΠΎΠ½= #ffff55
ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = #F8F8F2
Ρ…ΠΈΡ‚-Ρ„ΠΎΠ½ = #171812
ошибка-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = # ff3338
Ρ„ΠΎΠ½ ошибки = # 272822
курсор-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = # F8F8F2
стандартный Π²Ρ‹Π²ΠΎΠ΄-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = #DDDDDD
стандартный Π²Ρ‹Π²ΠΎΠ΄-Ρ„ΠΎΠ½ = # 272822
stderr-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = # ff3338
stderr-Ρ„ΠΎΠ½ = # 272822
консоль-ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ = #75715E
Ρ„ΠΎΠ½ консоли = # 272822

Π’Π΅ΠΌΡ‹ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π² Python

ΠŸΠΈΡ‚ΠΎΠ½

> ΠžΡΠ½ΠΎΠ²Ρ‹

> Π’Π΅ΠΌΡ‹ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этой страницы

Π’Π΅ΠΌΡ‹ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π² Plotly с Python

Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π² Plotly?

Plotly β€” бСсплатная графичСская Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для Python. ΠœΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π²Π°ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ нашС руководство ΠΏΠΎ Π½Π°Ρ‡Π°Π»Ρƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСдниС инструкции ΠΏΠΎ установкС ΠΈΠ»ΠΈ обновлСнию, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ нашим ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΌ пособиям ΠΏΠΎ основам Plotly ΠΈΠ»ΠΈ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ прямо Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ пособия ΠΏΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌ.

Π’Π΅ΠΌΡ‹ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ΒΆ

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Plotly Python поставляСтся с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сразу Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ для создания ΠΈ рСгистрации Π²Π°ΡˆΠΈΡ… собствСнных Ρ‚Π΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΏΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. ВСматичСскоС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ относится ΠΊ процСссу опрСдСлСния стилСй ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. Π’Π΅ΠΌΡ‹ Π² plotly Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… шаблонами. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅, Ρ‡Π΅ΠΌ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ стилСй ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, изобраТСния ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ процСсс опрСдСлСния стилСй ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚Π΅ΠΌΠ°ΠΌΠΈ, Π° ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΠΉΠ΄Π΅Ρ‚ Π΄ΠΎ API-интСрфСйса plotly, ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ‚Π΅ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ шаблонов.

ИспользованиС встроСнных Ρ‚Π΅ΠΌΒΆ

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ доступных Ρ‚Π΅ΠΌΒΆ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ доступных Ρ‚Π΅ΠΌΠ°Ρ… ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Π΅ΠΌΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ plotly.io.templates ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π’Β [1]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.io ΠΊΠ°ΠΊ pio
pio.templates
 

Π’Ρ‹Ρ…ΠΎΠ΄[1]:

 ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ шаблонов
-----------------------
    Π¨Π°Π±Π»ΠΎΠ½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Β«ΡΡŽΠΆΠ΅Ρ‚Π½ΠΎΒ»
    ДоступныС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹:
        ['ggplot2', 'морской', 'simple_white', 'ΡΡŽΠΆΠ΅Ρ‚Π½ΠΎ',
         'plotly_white', 'plotly_dark', 'прСзСнтация', 'xgridoff',
         'ΠΈΠ³Ρ€ΠΈΠ΄ΠΎΡ„Ρ„', 'Π³Ρ€ΠΈΠ΄ΠΎΠ½', 'Π½Π΅Ρ‚'] 

Из этого ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΌΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ "ΡΡŽΠΆΠ΅Ρ‚Π½Π°Ρ" , ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ названия Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅ΠΌ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ.

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΌ Π² Plotly ExpressΒΆ

ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Plotly Express ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ шаблона , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн Π½Π° имя зарСгистрированной Ρ‚Π΅ΠΌΡ‹ (ΠΈΠ»ΠΈ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ шаблона , ΠΊΠ°ΠΊ описано Π½ΠΈΠΆΠ΅ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅). Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Plotly Express для построСния ΠΈ отобраТСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° с ΡˆΠ΅ΡΡ‚ΡŒΡŽ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚Π΅ΠΌΠ°ΠΌΠΈ.

Π’Β [2]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.gapminder()
df_2007 = df.query("Π³ΠΎΠ΄==2007")
для шаблона в ["plotly", "plotly_white", "plotly_dark", "ggplot2", "seaborn", "simple_white", "none"]:
    рис = px.scatter (df_2007,
                     x="gdpPercap", y="lifeExp", size="pop", color="continent",
                     log_x = Π˜ΡΡ‚ΠΈΠ½Π°, size_max = 60,
                     template=template, title="Gapminder 2007: Ρ‚Π΅ΠΌΠ° '%s'" % шаблон)
    рис.ΡˆΠΎΡƒ()
 
Π—Π°Π΄Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΌ Π½Π° рисунках графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²ΒΆ

Π’Π΅ΠΌΠ° для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° рисунка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π° ΠΏΡƒΡ‚Π΅ΠΌ установки свойства шаблона ΠΌΠ°ΠΊΠ΅Ρ‚Π° рисунка Π½Π° имя зарСгистрированной Ρ‚Π΅ΠΌΡ‹ (ΠΈΠ»ΠΈ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ шаблона , ΠΊΠ°ΠΊ описано Π½ΠΈΠΆΠ΅ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅). Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ построСния повСрхностного Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΅Π³ΠΎ отобраТСния с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ Ρ‚Π΅ΠΌ.

Π’Β [3]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.graph_objects ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Π½Π΄ ΠΊΠ°ΠΊ pd
z_data = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv")
рис = ΠΈΠ΄Ρ‚ΠΈ.Рисунок(
    Π΄Π°Π½Π½Ρ‹Π΅ = go.Surface (z = z_data.values),
    ΠΌΠ°ΠΊΠ΅Ρ‚ = ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ. ΠœΠ°ΠΊΠ΅Ρ‚ (
        title="Высота Π³ΠΎΡ€Ρ‹ Π‘Ρ€ΡƒΠ½ΠΎ",
        ΡˆΠΈΡ€ΠΈΠ½Π°=500,
        высота=500,
    ))
для шаблона в ["plotly", "plotly_white", "plotly_dark", "ggplot2", "seaborn", "simple_white", "none"]:
    fig.update_layout(template=template, title="Mt Bruno Elevation: '%s' theme" % шаблон)
    рис.ΡˆΠΎΡƒ()
 
Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽΒΆ

Если Ρ‚Π΅ΠΌΠ° Π½Π΅ прСдоставлСна ​​функции Plotly Express ΠΈΠ»ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π΅ графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Π΅ΠΌΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ начинаСтся ΠΊΠ°ΠΊ "plotly" , Π½ΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, установив для свойства plotly.io.templates.default имя зарСгистрированной Ρ‚Π΅ΠΌΡ‹.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ измСнСния Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° "plotly_white" ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ построСния Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Plotly Express Π±Π΅Π· прСдоставлСния шаблона.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’Π΅ΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСанса, Π½ΠΎ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ сСансами. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ядром IPython, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π½Π° протяТСнии всСго срока слуТбы ядра, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ пСрСзапускС ядра.

Π’Β [4]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.io ΠΊΠ°ΠΊ pio
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
pio.templates.default = "ΡΡŽΠΆΠ΅Ρ‚Π½ΠΎ_Π±Π΅Π»Ρ‹ΠΉ"
df = px.data.gapminder()
df_2007 = df.query("Π³ΠΎΠ΄==2007")
рис = px.scatter (df_2007,
                 x="gdpPercap", y="lifeExp", size="pop", color="continent",
                 log_x = Π˜ΡΡ‚ΠΈΠ½Π°, size_max = 60,
                 title="Gapminder 2007: тСкущая Ρ‚Π΅ΠΌΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ")
рис.ΡˆΠΎΡƒ()
 
ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽΒΆ

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ»ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваши Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ выглядСли Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π΄ΠΎ вСрсии plotly.py 4, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, установив Ρ‚Π΅ΠΌΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ "Π½Π΅Ρ‚" .

Π’Β [5]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.io ΠΊΠ°ΠΊ pio
pio.templates.default = "Π½Π΅Ρ‚"
 

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΒΆ

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² TemplateΒΆ

Π’Π΅ΠΌΡ‹ Π² plotly.py прСдставлСны экзСмплярами Π¨Π°Π±Π»ΠΎΠ½ класса ΠΈΠ· модуля plotly.graph_objects.layout . Π¨Π°Π±Π»ΠΎΠ½ β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π΄Π²Π° свойства Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня: ΠΌΠ°ΠΊΠ΅Ρ‚ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ . Π­Ρ‚ΠΈ свойства шаблона описаны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Π½ΠΈΠΆΠ΅.

Бвойство layout шаблона¢

Бвойство layout шаблона прСдставляСт собой графичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ структурой, ΠΊΠ°ΠΊ свойство layout Ρ„ΠΈΠ³ΡƒΡ€Ρ‹. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойств шаблона ΠΌΠ°ΠΊΠ΅Ρ‚ , эти значСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² любой Ρ„ΠΈΠ³ΡƒΡ€Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ примСняСтся этот шаблон.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания шаблона, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π΄Π°Π΅Ρ‚ для ΡˆΡ€ΠΈΡ„Ρ‚Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€ 24 ΠΏΠΎ шкалС Π ΠΎΠΊΠ²Π΅Π»Π»Π°, Π° Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого шаблона создаСтся Ρ„ΠΈΠ³ΡƒΡ€Π° графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’Β [6]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.graph_objects ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ
big_rockwell_template = Π΄ΠΈΠΊΡ‚(
    layout=go.Layout(title_font=dict(family="Rockwell", size=24))
)
рис = ΠΈΠ΄Ρ‚ΠΈ.Рисунок()
fig.update_layout(title="НазваниС рисунка",
                  шаблон = large_rockwell_template)
рис.ΡˆΠΎΡƒ()
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ волшСбноС ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ для записи go.Layout(title=dict(font=dict(...))) as go.Layout(title_font=dict(...))

Бвойство Π΄Π°Π½Π½Ρ‹Ρ… шаблона¢

Бвойство Π΄Π°Π½Π½Ρ‹Ρ… шаблона ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для настройки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ свойств трасс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊ Ρ„ΠΈΠ³ΡƒΡ€Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ примСняСтся шаблон. Π­Ρ‚ΠΎ свойство data содСрТит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π³Ρ€Π°Ρ„Π° с Ρ‚ΠΈΠΏΠΎΠΌ go.layout.template.Data , Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ свойство, Π½Π°Π·Π²Π°Π½Π½ΠΎΠ΅ Π² Ρ‡Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° трассировки. Π—Π°Ρ‚Π΅ΠΌ этим свойствам Ρ‚ΠΈΠΏΠ° трассы ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ списки ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ трасс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π³Ρ€Π°Ρ„Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания шаблона, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ трассировки рассСяния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Ρ€ΠΎΠΌΠ±ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 20, Π° Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого шаблона создаСтся Ρ„ΠΈΠ³ΡƒΡ€Π° графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’Β [7]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.graph_objects ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ
diamond_template = go.layout.Template()
diamond_template.data.scatter = [go.Scatter(marker=dict(symbol="diamond", size=20))]
рис = ΠΈΠ΄Ρ‚ΠΈ.Рисунок()
fig.update_layout(template=diamond_template)
fig.add_scatter(y=[2, 1, 3], Ρ€Π΅ΠΆΠΈΠΌ="ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹")
рис.ΡˆΠΎΡƒ()
 

Если для свойства Ρ‚ΠΈΠΏΠ° трассы Π·Π°Π΄Π°Π½ список ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ трассы, Ρ‚ΠΎ свойства ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ цикличСски ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ добавлСния Π½ΠΎΠ²Ρ‹Ρ… трасс ΠΊ рисунку. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ цикличСски повторяСт символ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для слСдов рассСяния, Π° Π·Π°Ρ‚Π΅ΠΌ создаСт Ρ„ΠΈΠ³ΡƒΡ€Ρƒ, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ этот шаблон.

Π’Β [8]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.graph_objects ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ
symbol_template = go.layout.Template()
symbol_template.data.scatter = [
    go. Scatter (ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ = dict (символ = "Π°Π»ΠΌΠ°Π·", Ρ€Π°Π·ΠΌΠ΅Ρ€ = 10)),
    go.Scatter (ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ = dict (символ = "ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚", Ρ€Π°Π·ΠΌΠ΅Ρ€ = 10)),
    go.Scatter (ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ = dict (символ = "ΠΊΡ€ΡƒΠ³", Ρ€Π°Π·ΠΌΠ΅Ρ€ = 10)),
]
рис = ΠΈΠ΄Ρ‚ΠΈ.Рисунок()
fig.update_layout(template=symbol_template)
fig.add_scatter(y=[1, 2, 3], mode="markers", name="first")
fig.add_scatter(y=[2, 3, 4], Ρ€Π΅ΠΆΠΈΠΌ="ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹", имя="сСкунда")
fig.add_scatter(y=[3, 4, 5], Ρ€Π΅ΠΆΠΈΠΌ="ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹", имя="Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ")
fig.add_scatter(y=[4, 5, 6], mode="markers", name="forth")
рис.ΡˆΠΎΡƒ()
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ построили шаблон со списком ΠΈΠ· 3 ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ рассСяния (ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ для символов Ρ€ΠΎΠΌΠ±Π°, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° ΠΈ ΠΊΡ€ΡƒΠ³Π°), чСтвСртая трассировка рассСяния Π½Π° рисункС цикличСски повторяСтся ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ шаблонС. слСд (символ Π°Π»ΠΌΠ°Π·Π°).

ВСматичСскиС свойства ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²ΒΆ

НСкоторыС свойства Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Ρ„ΠΈΠ³ΡƒΡ€ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². НапримСр, тСкстовыС Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ для Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΈΠ· 9 символов. 0191 go.layout.Annotation ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² свойствС annotations ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ рисунка.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ шаблон для настройки свойств ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всСх элСмСнтов Π² свойствС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, layout.annotations ), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство *defaults Π² шаблонС, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ свойству ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, layout .template.layout.annotationdefaults ). Бвойство шаблона *defaults Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ установлСно Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π³Ρ€Π°Ρ„Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏΡƒ элСмСнтов ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°. Бвойства этого *ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π² шаблонС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊΠΎ всСм элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° рисункС, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ примСняСтся шаблон.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ создаСтся шаблон, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Ρ†Π²Π΅Ρ‚ тСкста Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π° Π·Π°Ρ‚Π΅ΠΌ создаСтся рисунок, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ этот шаблон.

Π’Β [9]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.graph_objects ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ
annotation_template = go.layout.Template()
annotation_template. layout.annotationdefaults = dict (ΡˆΡ€ΠΈΡ„Ρ‚ = dict (Ρ†Π²Π΅Ρ‚ = "ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΉ"))
рис = ΠΈΠ΄Ρ‚ΠΈ.Рисунок()
fig.update_layout(
     шаблон = annotation_template,
     Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ = [
         dict(text="ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈ сюда", x=1, y=1),
         dict(text="ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈ Ρ‚ΡƒΠ΄Π°", x=2, y=2)
     ]
 )
рис.ΡˆΠΎΡƒ()
 
Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ элСмСнтов ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² Ρ‚Π΅ΠΌΡƒΒΆ

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

Π¨Π°Π±Π»ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² любой рисунок, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ примСняСтся шаблон. Π­Ρ‚ΠΎ дСлаСтся ΠΏΡƒΡ‚Π΅ΠΌ указания списка ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π³Ρ€Π°Ρ„Π° элСмСнтов ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, go.layout.Annotation ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²) ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ свойства ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² шаблонС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, template.layout.annotations ). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ свойство имя этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π³Ρ€Π°Ρ„Π° элСмСнтов ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ установлСно Π½Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π½Π΅ΠΏΡƒΡΡ‚ΡƒΡŽ строку.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания шаблона, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ большой ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ водяной Π·Π½Π°ΠΊ «Π§Π•Π ΠΠžΠ’Π˜Πš» Π² сСрСдину рисунка, ΠΈ создания рисунка с использованиСм этого шаблона.

Π’Β [10]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.graph_objects ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ
draft_template = go.layout.Template()
draft_template.layout.annotations = [
    Π΄ΠΈΠΊΡ‚(
        имя="Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ водяного Π·Π½Π°ΠΊΠ°",
        тСкст="ΠŸΠ ΠžΠ•ΠšΠ’",
        ΡƒΠ³ΠΎΠ» тСкста=-30,
        Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ=0,1,
        ΡˆΡ€ΠΈΡ„Ρ‚ = dict (Ρ†Π²Π΅Ρ‚ = "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ", Ρ€Π°Π·ΠΌΠ΅Ρ€ = 100),
        xref="Π±ΡƒΠΌΠ°Π³Π°",
        yref="Π±ΡƒΠΌΠ°Π³Π°",
        Ρ…=0,5,
        Ρƒ=0,5,
        showarrow=лоТь,
    )
]
рис=ΠΈΠ΄ΠΈ.Рисунок()
fig.update_layout(template=draft_template)
рис.ΡˆΠΎΡƒ()
 
Настройка элСмСнтов ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Ρ‚Π΅ΠΌΡ‹ Π² Ρ„ΠΈΠ³ΡƒΡ€Π΅ΒΆ

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ описано, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ шаблон для добавлСния графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ, Ρ„ΠΈΠ³ΡƒΡ€ ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ) ΠΊ Ρ„ΠΈΠ³ΡƒΡ€Π΅. Бвойства этих элСмСнтов ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ рисунка, Π΄ΠΎΠ±Π°Π²ΠΈΠ² элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° со свойством имя_шаблона , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ соотвСтствуСт свойству имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° шаблона.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с использованиСм Ρ‚Π΅Ρ… ΠΆΠ΅ draft_template , ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ настраиваСт водяной Π·Π½Π°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ рисунка Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ читался ΠΊΠ°ΠΊ Β«ΠšΠžΠΠ€Π˜Π”Π•ΠΠ¦Π˜ΠΠ›Π¬ΠΠžΒ», Π° Π½Π΅ ΠΊΠ°ΠΊ Β«Π§Π•Π ΠΠžΠ’Π˜ΠšΒ».

Π’Β [11]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.graph_objects ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ
draft_template = go.layout.Template()
draft_template.layout.annotations = [
    Π΄ΠΈΠΊΡ‚(
        имя="Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ водяного Π·Π½Π°ΠΊΠ°",
        тСкст="ΠŸΠ ΠžΠ•ΠšΠ’",
        ΡƒΠ³ΠΎΠ» тСкста=-30,
        Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ=0,1,
        ΡˆΡ€ΠΈΡ„Ρ‚ = dict (Ρ†Π²Π΅Ρ‚ = "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ", Ρ€Π°Π·ΠΌΠ΅Ρ€ = 100),
        xref="Π±ΡƒΠΌΠ°Π³Π°",
        yref="Π±ΡƒΠΌΠ°Π³Π°",
        Ρ…=0,5,
        Ρƒ=0,5,
        showarrow=лоТь,
    )
]
рис = ΠΈΠ΄Ρ‚ΠΈ.Рисунок()
fig.update_layout(
    шаблон=draft_template,
    Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ = [
        Π΄ΠΈΠΊΡ‚(
            templateitemname="Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ водяного Π·Π½Π°ΠΊΠ°",
            тСкст="ΠšΠžΠΠ€Π˜Π”Π•ΠΠ¦Π˜ΠΠ›Π¬ΠΠž",
        )
    ]
)
рис. ΡˆΠΎΡƒ()
 
РСгистрация Ρ‚Π΅ΠΌ Π² качСствС ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… шаблонов¢

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… создаСтся ΠΈ настраиваСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Template , Π° Π·Π°Ρ‚Π΅ΠΌ пСрСдаСтся этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² качСствС спСцификации шаблона для Ρ„ΠΈΠ³ΡƒΡ€ графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (ΠΊΠ°ΠΊ свойство layout.template ) ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Plotly Express (ΠΊΠ°ΠΊ шаблон Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова). Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ само имя ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ссылки Π½Π° шаблон. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ шаблон, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² стилС словаря, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ шаблона с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² plotly.io.templates ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ рСгистрации Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΎΠ³ΠΎ шаблона водяного Π·Π½Π°ΠΊΠ° ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π² качСствС шаблона с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΒ» . Π—Π°Ρ‚Π΅ΠΌ создаСтся Ρ„ΠΈΠ³ΡƒΡ€Π° графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с Ρ‡Π΅Ρ€Π½ΠΎΠ²Ρ‹ΠΌ шаблоном, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

Π’Β [12]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.graph_objects ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.io ΠΊΠ°ΠΊ pio
pio. templates["Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"] = go.layout.Template(
    layout_annotations=[
        Π΄ΠΈΠΊΡ‚(
            имя="Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ водяного Π·Π½Π°ΠΊΠ°",
            тСкст="ΠŸΠ ΠžΠ•ΠšΠ’",
            ΡƒΠ³ΠΎΠ» тСкста=-30,
            Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ=0,1,
            ΡˆΡ€ΠΈΡ„Ρ‚ = dict (Ρ†Π²Π΅Ρ‚ = "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ", Ρ€Π°Π·ΠΌΠ΅Ρ€ = 100),
            xref="Π±ΡƒΠΌΠ°Π³Π°",
            yref="Π±ΡƒΠΌΠ°Π³Π°",
            Ρ…=0,5,
            Ρƒ=0,5,
            showarrow=лоТь,
        )
    ]
)
рис = ΠΈΠ΄Ρ‚ΠΈ.Рисунок()
fig.update_layout(template="Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ")
рис.ΡˆΠΎΡƒ()
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ волшСбноС ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ для записи go.layout.Template(layout=dict(annotations=[...])) as `go.layout.Template(layout_annotations=[...])

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ собствСнный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ шаблон Π² качСствС шаблона ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ построСнии Ρ„ΠΈΠ³ΡƒΡ€ графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Plotly Express.

Π’Β [13]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly. graph_objects ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.io ΠΊΠ°ΠΊ pio
pio.templates["Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"] = go.layout.Template(
    layout_annotations=[
        Π΄ΠΈΠΊΡ‚(
            имя="Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ водяного Π·Π½Π°ΠΊΠ°",
            тСкст="ΠŸΠ ΠžΠ•ΠšΠ’",
            ΡƒΠ³ΠΎΠ» тСкста=-30,
            Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ=0,1,
            ΡˆΡ€ΠΈΡ„Ρ‚ = dict (Ρ†Π²Π΅Ρ‚ = "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ", Ρ€Π°Π·ΠΌΠ΅Ρ€ = 100),
            xref="Π±ΡƒΠΌΠ°Π³Π°",
            yref="Π±ΡƒΠΌΠ°Π³Π°",
            Ρ…=0,5,
            Ρƒ=0,5,
            showarrow=лоТь,
        )
    ]
)
pio.templates.default = "Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"
рис = ΠΈΠ΄Ρ‚ΠΈ.Рисунок()
рис.ΡˆΠΎΡƒ()
 
ОбъСдинСниС Ρ‚Π΅ΠΌΒΆ

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… шаблонов, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ сСрого Ρ„ΠΎΠ½Π° ΠΈ Π±Π΅Π»Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ сСтки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ стиля ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ„ΠΈΠ³ΡƒΡ€, созданных с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ plotly.py. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° этого Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΈΠ»ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡƒΠΊΠ°Π·Π°Π½ Π² шаблонС с ΠΈΠΌΠ΅Π½Π΅ΠΌ "plotly" , Π° ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ шаблона пСрСопрСдСляСт шаблон ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ "plotly" .

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ шаблона примСнялся ΠΏΠΎΠ²Π΅Ρ€Ρ… стиля ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для "plotly" , Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ шаблон с шаблоном "plotly" . НСсколько зарСгистрированных шаблонов (встроСнных ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ) ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π² строку шаблона, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ нСсколько ΠΈΠΌΠ΅Π½ шаблонов, соСдинСнных 90Β 191 «+» 90Β 192 символами.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ установки шаблона ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² качСствС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ встроСнного шаблона "plotly" ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ шаблона "draft" ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°.

Π’Β [14]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.graph_objects ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.io ΠΊΠ°ΠΊ pio
pio.templates["Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"] = go.layout.Template(
    layout_annotations=[
        Π΄ΠΈΠΊΡ‚(
            имя="Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ водяного Π·Π½Π°ΠΊΠ°",
            тСкст="ΠŸΠ ΠžΠ•ΠšΠ’",
            ΡƒΠ³ΠΎΠ» тСкста=-30,
            Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ=0,1,
            ΡˆΡ€ΠΈΡ„Ρ‚ = dict (Ρ†Π²Π΅Ρ‚ = "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ", Ρ€Π°Π·ΠΌΠ΅Ρ€ = 100),
            xref="Π±ΡƒΠΌΠ°Π³Π°",
            yref="Π±ΡƒΠΌΠ°Π³Π°",
            Ρ…=0,5,
            Ρƒ=0,5,
            showarrow=лоТь,
        )
    ]
)
pio.templates.default = "ΡΡŽΠΆΠ΅Ρ‚+Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"
рис = ΠΈΠ΄Ρ‚ΠΈ.Рисунок()
рис.ΡˆΠΎΡƒ()
 

ОбъСдинСниС Ρ‚Π΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ поддСрТиваСтся Plotly Express

Π’Β [15]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly. io ΠΊΠ°ΠΊ pio
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
pio.templates["Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"] = go.layout.Template(
    layout_annotations=[
        Π΄ΠΈΠΊΡ‚(
            имя="Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ водяного Π·Π½Π°ΠΊΠ°",
            тСкст="ΠŸΠ ΠžΠ•ΠšΠ’",
            ΡƒΠ³ΠΎΠ» тСкста=-30,
            Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ=0,1,
            ΡˆΡ€ΠΈΡ„Ρ‚ = dict (Ρ†Π²Π΅Ρ‚ = "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ", Ρ€Π°Π·ΠΌΠ΅Ρ€ = 100),
            xref="Π±ΡƒΠΌΠ°Π³Π°",
            yref="Π±ΡƒΠΌΠ°Π³Π°",
            Ρ…=0,5,
            Ρƒ=0,5,
            showarrow=лоТь,
        )
    ]
)
pio.templates.default = "ΡΡŽΠΆΠ΅Ρ‚+Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"
df = px.data.gapminder()
df_2007 = df.query("Π³ΠΎΠ΄==2007")
рис = px.scatter (df_2007,
                 x="gdpPercap", y="lifeExp", size="pop", color="continent",
                 log_x = Π˜ΡΡ‚ΠΈΠ½Π°, size_max = 60,
                 title="Gapminder 2007: тСкущая Ρ‚Π΅ΠΌΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ")
рис.ΡˆΠΎΡƒ()
 
Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ распространСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚Π΅ΠΌΒΆ

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ шаблон β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» *.py , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт ΠΈ рСгистрируСт шаблон ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ содСрТимого Ρ„Π°ΠΉΠ»Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ my_themes.py , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт ΠΈ рСгистрируСт шаблон Β«Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΒ» ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅

my_themes.py


 import plotly.graph_objects as go
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.io ΠΊΠ°ΠΊ pio
pio.templates["Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"] = go.layout.Template(
    layout_annotations=[
        Π΄ΠΈΠΊΡ‚(
            имя="Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ водяного Π·Π½Π°ΠΊΠ°",
            тСкст="ΠŸΠ ΠžΠ•ΠšΠ’",
            ΡƒΠ³ΠΎΠ» тСкста=-30,
            Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ=0,1,
            ΡˆΡ€ΠΈΡ„Ρ‚ = dict (Ρ†Π²Π΅Ρ‚ = "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ", Ρ€Π°Π·ΠΌΠ΅Ρ€ = 100),
            xref="Π±ΡƒΠΌΠ°Π³Π°",
            yref="Π±ΡƒΠΌΠ°Π³Π°",
            Ρ…=0,5,
            Ρƒ=0,5,
            showarrow=лоТь,
        )
    ]
)
 

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ "Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ" , ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ my_themes .

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ my_themes
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.io ΠΊΠ°ΠΊ pio
pio.templates.default = "Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ"
...
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Ρ„Π°ΠΉΠ» my_themes.py Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡƒΡ‚ΠΈ поиска модуля Python. Π‘ΠΌ. https://docs.python.org/3/tutorial/modules.html#the-module-search-path для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ встроСнных Ρ‚Π΅ΠΌΒΆ

ΠœΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ содСрТимоС ΠΈ структуру встроСнных шаблонов ΠΏΡ€ΠΈ создании собствСнных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… шаблонов. ГрафичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ шаблона для зарСгистрированного шаблона ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ доступа ΠΊ ΠΊΠ»ΡŽΡ‡Ρƒ словаря Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ plotly.io.templates . НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Template для шаблона "plotly" с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ значСния свойства шаблона layout .

Π’Β [16]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.io ΠΊΠ°ΠΊ pio
plotly_template = pio.templates["ΡΡŽΠΆΠ΅Ρ‚Π½ΠΎ"]
plotly_template.layout
 

Π’Ρ‹Ρ…ΠΎΠ΄[16]:

 ΠœΠ°ΠΊΠ΅Ρ‚({
    'annotationdefaults': {'Ρ†Π²Π΅Ρ‚ стрСлки': '#2a3f5f', 'Π½Π°ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΈΠΊ': 0, 'ΡˆΠΈΡ€ΠΈΠ½Π° стрСлки': 1},
    'autotypenumbers': 'строгий',
    'coloraxis': {'colorbar': {'outlinewidth': 0, 'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': ''}},
    'colorscale': {'расходящийся': [[0, '#8e0152'], [0. 1, '#c51b7d'], [0.2,
                                 '#de77ae'], [0.3, '#f1b6da'], [0.4, '#fde0ef'],
                                 [0,5, '#f7f7f7'], [0,6, '#e6f5d0'], [0,7,
                                 '#b8e186'], [0,8, '#7fbc41'], [0,9, '#4d9221'],
                                 [1, '# 276419']],
                   'ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ': [[0.0, '#0d0887'], [0.1111111111111111,
                                  '#46039f'], [0.22222222222222222, '#7201a8'],
                                  [0.3333333333333333, '#9c179e'],
                                  [0.4444444444444444, '#bd3786'],
                                  [0.5555555555555556, '#d8576b'],
                                  [0.6666666666666666, '#ed7953'],
                                  [0.7777777777777778, '#fb9f3a'],
                                  [0.8888888888888888, '#fdca26'], [1.0,
                                  '#f0f921']],
                   'sequentialminus': [[0.0, '#0d0887'], [0.1111111111111111,
                                       '#46039f'], [0. 22222222222222222, '#7201a8'],
                                       [0.3333333333333333, '#9c179e'],
                                       [0.4444444444444444, '#bd3786'],
                                       [0.5555555555555556, '#d8576b'],
                                       [0.6666666666666666, '#ed7953'],
                                       [0.7777777777777778, '#fb9f3a'],
                                       [0.8888888888888888, '#fdca26'], [1.0,
                                       '#f0f921']]},
    'colorway': [# 636efa, # EF553B, # 00cc96, # ab63fa, # FFA15A, # 19d3f3, # FF6692,
                 β„– B6E880, β„– FF97FF, β„– FECB52],
    'ΡˆΡ€ΠΈΡ„Ρ‚': {'Ρ†Π²Π΅Ρ‚': '#2a3f5f'},
    'Π³Π΅ΠΎ': {'bgcolor': 'Π±Π΅Π»Ρ‹ΠΉ',
            Β«Ρ†Π²Π΅Ρ‚ ΠΎΠ·Π΅Ρ€Π°Β»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
            'зСмляной Ρ†Π²Π΅Ρ‚': '#E5ECF6',
            'showlakes': ΠŸΡ€Π°Π²Π΄Π°,
            'showland': ΠŸΡ€Π°Π²Π΄Π°,
            'subunitcolor': 'Π±Π΅Π»Ρ‹ΠΉ'},
    'hoverlabel': {'align': 'left'},
    'Ρ€Π΅ΠΆΠΈΠΌ зависания': 'блиТайший',
    'mapbox': {'ΡΡ‚ΠΈΠ»ΡŒ': 'свСтлый'},
    'paper_bgcolor': 'Π±Π΅Π»Ρ‹ΠΉ',
    'plot_bgcolor': '#E5ECF6',
    'полярный': {'angularaxis': {'gridcolor': 'Π±Π΅Π»Ρ‹ΠΉ', 'linecolor': 'Π±Π΅Π»Ρ‹ΠΉ', 'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': ''},
              'bgcolor': '#E5ECF6',
              'radialaxis': {'gridcolor': 'Π±Π΅Π»Ρ‹ΠΉ', 'linecolor': 'Π±Π΅Π»Ρ‹ΠΉ', 'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': ''}},
    'сцСна': {'ось x': {'Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°': '#E5ECF6',
                        Β«Ρ†Π²Π΅Ρ‚ сСтки»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
                        Β«ΡˆΠΈΡ€ΠΈΠ½Π° сСтки»: 2,
                        Β«Ρ†Π²Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΈΒ»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
                        'showbackground': ΠΏΡ€Π°Π²Π΄Π°,
                        'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': '',
                        'zerolinecolor': 'Π±Π΅Π»Ρ‹ΠΉ'},
              'yaxis': {'Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°': '#E5ECF6',
                        Β«Ρ†Π²Π΅Ρ‚ сСтки»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
                        Β«ΡˆΠΈΡ€ΠΈΠ½Π° сСтки»: 2,
                        Β«Ρ†Π²Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΈΒ»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
                        'showbackground': ΠΏΡ€Π°Π²Π΄Π°,
                        'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': '',
                        'zerolinecolor': 'Π±Π΅Π»Ρ‹ΠΉ'},
              'zaxis': {'Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°': '#E5ECF6',
                        Β«Ρ†Π²Π΅Ρ‚ сСтки»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
                        Β«ΡˆΠΈΡ€ΠΈΠ½Π° сСтки»: 2,
                        Β«Ρ†Π²Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΈΒ»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
                        'showbackground': ΠΏΡ€Π°Π²Π΄Π°,
                        'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': '',
                        'zerolinecolor': 'Π±Π΅Π»Ρ‹ΠΉ'}},
    'shapedefaults': {'линия': {'Ρ†Π²Π΅Ρ‚': '#2a3f5f'}},
    'Ρ‚Ρ€ΠΎΠΉΠ½ΠΎΠΉ': {'aaxis': {'gridcolor': 'Π±Π΅Π»Ρ‹ΠΉ', 'linecolor': 'Π±Π΅Π»Ρ‹ΠΉ', 'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': ''},
                'baxis': {'gridcolor': 'Π±Π΅Π»Ρ‹ΠΉ', 'linecolor': 'Π±Π΅Π»Ρ‹ΠΉ', 'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': ''},
                'bgcolor': '#E5ECF6',
                'caxis': {'gridcolor': 'Π±Π΅Π»Ρ‹ΠΉ', 'linecolor': 'Π±Π΅Π»Ρ‹ΠΉ', 'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': ''}},
    'Π½Π°Π·Π²Π°Π½ΠΈΠ΅': {'Ρ…': 0,05},
    'xaxis': {'automargin': ΠΏΡ€Π°Π²Π΄Π°,
              Β«Ρ†Π²Π΅Ρ‚ сСтки»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
              Β«Ρ†Π²Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΈΒ»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
              'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': '',
              'Π½Π°Π·Π²Π°Π½ΠΈΠ΅': {'ΠΏΡ€ΠΎΠ²Π°Π»': 15},
              'zerolinecolor': 'Π±Π΅Π»Ρ‹ΠΉ',
              'нулСвая ΡˆΠΈΡ€ΠΈΠ½Π°': 2},
    'yaxis': {'automargin': ΠΏΡ€Π°Π²Π΄Π°,
              Β«Ρ†Π²Π΅Ρ‚ сСтки»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
              Β«Ρ†Π²Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΈΒ»: Β«Π±Π΅Π»Ρ‹ΠΉΒ»,
              'Π³Π°Π»ΠΎΡ‡ΠΊΠΈ': '',
              'Π½Π°Π·Π²Π°Π½ΠΈΠ΅': {'ΠΏΡ€ΠΎΠ²Π°Π»': 15},
              'zerolinecolor': 'Π±Π΅Π»Ρ‹ΠΉ',
              'нулСвая ΡˆΠΈΡ€ΠΈΠ½Π°': 2}
}) 

А ΠΊΠ°ΠΊ насчСт Dash?ΒΆ

Dash β€” это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для создания аналитичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ Javascript ΠΈ тСсно интСгрированная с графичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Plotly.

This entry was posted in ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅