Онлайн построСниС ΡΠΏΡŽΡ€ Ρ€Π°ΠΌ: Расчёт статичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌΡ‹Ρ… Ρ€Π°ΠΌ ΠΈ Π±Π°Π»ΠΎΠΊ

2 \cdot 36 }{24} = 600$$


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

ΠŸΠ°Ρ€Ρ‚Π½Π΅Ρ€ΡΠΊΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°
ΠœΡ‹ согласны ΠΎΡ‚Π΄Π°Ρ‚ΡŒ Π’Π°ΠΌ 30% своСго Π΄ΠΎΡ…ΠΎΠ΄Π° Π·Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ нашСго сайта Π½Π° Π’Π°ΡˆΠ΅ΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅ ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

ΠŸΠΎΠΌΠΎΡ‰ΡŒ: сопромат, строймСханика, прикладная ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ° Telegram bluewhite22WhatsAppInstagram


1 Расчёт статичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌΠΎΠΉ Ρ€Π°ΠΌΡ‹

Рисунок 1. Расчётная схСма Ρ€Π°ΠΌΡ‹

1.1 ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ свободы систСмы ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

W=3Π”- 2Π¨- Π‘0 , Π³Π΄Π΅

Π” – число дисков

Π¨ – количСство простых ΡˆΠ°Ρ€Π½ΠΈΡ€ΠΎΠ²

Π‘0 – число ΠΎΠΏΠΎΡ€Π½Ρ‹Ρ… стСрТнСй

W= 3βˆ™5- 2βˆ™5- 5= 0

1.2 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·

ГНБ1= АБ+ ОБН

Π”Π²Π° диска ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ трСмя Π½Π΅ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π½Π΅ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ стСрТнями.

Рисунок 2. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· Ρ€Π°ΠΌΡ‹

ГНБ2= ГНБ1+ CDE+ BDG

Π’Ρ€ΠΈ диска ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ трСмя ΡˆΠ°Ρ€Π½ΠΈΡ€Π°ΠΌΠΈ Π½Π΅ Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ прямой.

Рисунок 3. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· Ρ€Π°ΠΌΡ‹

ГНБ3= ГНБ2+ EF+ FG

Π’Ρ€ΠΈ диска ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ трСмя ΡˆΠ°Ρ€Π½ΠΈΡ€Π°ΠΌΠΈ Π½Π΅ Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ прямой.

Рисунок 4. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· Ρ€Π°ΠΌΡ‹

БистСма Π² Ρ†Π΅Π»ΠΎΠΌ являСтся гСомСтричСски нСизмСняСмой.

1.3 ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΏΡŽΡ€ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… усилий

1) Π‘Ρ‚Ρ€ΠΎΠΈΠΌ ΡΠΏΡŽΡ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… усилий для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ части Ρ€Π°ΠΌΡ‹

Рисунок 5. Π Π°ΠΌΠ° EFG

βˆ‘ΠœΠ• = 0

-qβˆ™8βˆ™4+RGβˆ™8= 0

βˆ‘

МG = 0

qβˆ™8βˆ™4- REβˆ™8= 0

βˆ‘y= 0

qβˆ™8- RE— RG= 0

3βˆ™8- 12- 12= 0

βˆ‘ΠœFΠ»Π΅Π²= 0

qβˆ™4βˆ™2+ P1βˆ™2- HEβˆ™2- REβˆ™4= 0

βˆ‘ΠœFΠΏΡ€= 0

-qβˆ™4βˆ™2- HGβˆ™2+ RGβˆ™4= 0

βˆ‘Πœ1Π»Π΅Π²= — (P1+HE) βˆ™2= -12βˆ™2= -24 ΠΊΠβˆ™ΠΌ

βˆ‘ΠœFΠ»Π΅Π²= — (P1+HE) βˆ™2+ REβˆ™4- qβˆ™4βˆ™2= -12βˆ™2+ 12βˆ™4+ 3βˆ™4βˆ™2= 0 ΠΊΠβˆ™ΠΌ

Рисунок 6.

Π Π°ΠΌΠ° CEDGB

βˆ‘ΠœΠ‘= 0

-RGβˆ™8+ RBβˆ™8- M- HGβˆ™4+ HEβˆ™4= 0

βˆ‘ΠœB= 0

-M- HGβˆ™4+ REβˆ™8+ HEβˆ™4- RCβˆ™8= 0

βˆ‘y= 0

RE+ RG— RC— RB= 0

12+ 12- 10- 14= 0

βˆ‘ΠœDΠ»Π΅Π²= 0

REβˆ™4+ HEβˆ™2+ P2βˆ™2- HCβˆ™2- RCβˆ™4= 0

βˆ‘ΠœDΠΏΡ€= 0

-RGβˆ™4- HGβˆ™2- M- HBβˆ™2+ RB

βˆ™4= 0

βˆ‘ΠœLΠ²Π΅Ρ€Ρ…= -HGβˆ™2= -12βˆ™2= -24 ΠΊΠβˆ™ΠΌ

βˆ‘ΠœLΠ½ΠΈΠΆΠ½= -HBβˆ™2= -24 ΠΊΠβˆ™ΠΌ

βˆ‘ΠœLΠ»Π΅Π²=-REβˆ™8+ RCβˆ™8- P2βˆ™2+ HCβˆ™2- HEβˆ™2= -12βˆ™8+ 10βˆ™8- 5βˆ™2+ 19βˆ™2- 10βˆ™2=-8 ΠΊΠβˆ™ΠΌ

ΠœΠšΠ²Π΅Ρ€Ρ…= HEβˆ™2= 10βˆ™2= 20 ΠΊΠβˆ™ΠΌ

МКниТн= -P2βˆ™2+ HCβˆ™2= -10+ 38= 28 ΠΊΠβˆ™ΠΌ

ΠœΠšΠΏΡ€= -RGβˆ™8+ RBβˆ™8- HGβˆ™2- M+ HBβˆ™2= -12βˆ™8+ 14βˆ™8- 12βˆ™2- 8+12βˆ™2= 8 ΠΊΠβˆ™ΠΌ

Рисунок 7.

Рама АБ

βˆ‘y= 0

RC— RA= 0

RC= RA= 10 кН

βˆ‘Π₯= 0

HC= HA= 19 кН

βˆ‘ΠœΠ‘= 0

HAβˆ™2- M= 0

M= HAβˆ™2= 19βˆ™2= 38 ΠΊΠβˆ™ΠΌ

2) Π‘Ρ‚Ρ€ΠΎΠΈΠΌ ΡΠΏΡŽΡ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… усилий для Ρ€Π°ΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ

Рисунок 8. Π­ΠΏΡŽΡ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… усилий

1.4 БтатичСская ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° расчёта

1) ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° равновСсия ΡƒΠ·Π»ΠΎΠ² Ρ€Π°ΠΌΡ‹

Рисунок 9. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° равновСсия ΡƒΠ·Π»ΠΎΠ² Ρ€Π°ΠΌΡ‹

УзСл К:

βˆ‘x= 10+ 14- 24= 0

βˆ‘y= 12- 2- 10= 0

Π£Π·Π΅Π» L:

βˆ‘x= 12+ 12- 24= 0

βˆ‘y= 12+ 2- 14= 0

Рисунок 10. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° равновСсия ΡƒΠ·Π»ΠΎΠ² Ρ€Π°ΠΌΡ‹

βˆ‘ΠœΠš= 20+ 8- 28= 0

βˆ‘ΠœL= 8+ 24- 8- 24= 0

2) ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° равновСсия Ρ€Π°ΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ

Рисунок 11. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° равновСсия Ρ€Π°ΠΌΡ‹

βˆ‘y= 0

qβˆ™8- RA— RB= 0

3βˆ™8- 10- 14= 0

βˆ‘x= 0

P1+P2+HB— HA= 0

2+ 5+ 12- 19= 0

βˆ‘MA= 0

MA— P2βˆ™2- P1βˆ™6- qβˆ™8βˆ™4- M- HBβˆ™2+ R

Bβˆ™8= 38- 5βˆ™2- 2βˆ™6- 3βˆ™8βˆ™4- 8- 12βˆ™2+ 14βˆ™8= 150- 150= 0

2 Расчёт статичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΠ»Ρ‘Ρ‚Π½ΠΎΠΉ Π±Π°Π»ΠΊΠΈ

Рисунок 12. Расчётная схСма Π±Π°Π»ΠΊΠΈ

2. 1 ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ свободы систСмы ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

W=3Π”- 2Π¨- Π‘0 , Π³Π΄Π΅

Π” – число стСрТнСй

Π¨ – количСство простых ΡˆΠ°Ρ€Π½ΠΈΡ€ΠΎΠ²

Π‘0 – число ΠΎΠΏΠΎΡ€Π½Ρ‹Ρ… стСрТнСй

W= 3βˆ™4- 2βˆ™3- 6= 0

2.2 ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ поэтаТной схСмы Π±Π°Π»ΠΊΠΈ

ΠŸΡ€ΠΈ построСнии поэтаТной схСмы многопролётная Π±Π°Π»ΠΊΠ° разбиваСтся Π½Π° Π³Π»Π°Π²Π½Ρ‹Π΅ ΠΈ второстСпСнныС Π±Π°Π»ΠΊΠΈ.

Рисунок 13. ΠŸΠΎΡΡ‚Π°ΠΆΠ½Π°Ρ схСма Π±Π°Π»ΠΊΠΈ

2.3 ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΏΡŽΡ€ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… усилий

1) Π‘Ρ‚Ρ€ΠΎΠΈΠΌ ΡΠΏΡŽΡ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… усилий для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±Π°Π»ΠΊΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Рисунок 14. Π‘Π°Π»ΠΊΠ° FG

βˆ‘ΠœΠ•= 0

βˆ‘ΠœD= 0

-RFβˆ™6- qβˆ™2βˆ™5+ REβˆ™4= 0

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°:

βˆ‘y= 0

RD— RE+ Q+ RF= 4,5- 16,5+ 6+ 6= 0

Рисунок 15. Π‘Π°Π»ΠΊΠ° DEF

βˆ‘ΠœB= 0

-P1βˆ™4- М+ RCβˆ™6+ RDβˆ™8= 0

βˆ‘ΠœC

= 0

-М+ RDβˆ™2+ P1βˆ™2+ P2βˆ™6- RBβˆ™6= 0

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°:

βˆ‘y= 0

P1+ P2+ RC— RB— RD= 2+ 5+3,33- 5,83- 4,5= 0

Рисунок 16. Π‘Π°Π»ΠΊΠ° BCD

ΠœΠ‘ΠΏΡ€= RDβˆ™2= 4,5βˆ™2= 9 ΠΊΠβˆ™ΠΌ

МБлСв= RDβˆ™2- М= 4,5βˆ™2- 8= 1 ΠΊΠβˆ™ΠΌ

МH= RDβˆ™4- M- RCβˆ™2= 4,5βˆ™4- 8- 3,33βˆ™2= 3,34 ΠΊΠβˆ™ΠΌ

МB= RDβˆ™8- M- RCβˆ™6- P1βˆ™4= 36- 8- 19,99- 8= 0

МА= -RBβˆ™2= -5,83βˆ™2= -11,66 ΠΊΠβˆ™ΠΌ

Рисунок 17.

Π‘Π°Π»ΠΊΠ° АВ

2) Π‘Ρ‚Ρ€ΠΎΠΈΠΌ ΡΠΏΡŽΡ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… усилий для Π±Π°Π»ΠΊΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ

Рисунок 18. Π­ΠΏΡŽΡ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… усилий Π±Π°Π»ΠΊΠΈ

Π‘ΡŽΠΆΠ΅Ρ‚Π½Ρ‹ΠΉ экспрСсс Π½Π° Python

ΠŸΠΈΡ‚ΠΎΠ½ > ΠžΡΠ½ΠΎΠ²Ρ‹ > Π‘ΡŽΠΆΠ΅Ρ‚Π½Ρ‹ΠΉ экспрСсс

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

Plotly Express β€” это ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ, согласованный высокоуровнСвый API для создания Ρ„ΠΈΠ³ΡƒΡ€.


Новичок Π² ΡΡŽΠΆΠ΅Ρ‚Π΅?

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

ΠžΠ±Π·ΠΎΡ€ΒΆ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ plotly.express (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ импортируСтся ΠΊΠ°ΠΊ px ) содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ сразу, ΠΈ называСтся Plotly Express ΠΈΠ»ΠΈ PX. Plotly Express являСтся встроСнной Ρ‡Π°ΡΡ‚ΡŒΡŽ plotly ΠΈ являСтся Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для создания Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных Ρ„ΠΈΠ³ΡƒΡ€. КаТдая функция Plotly Express ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ графичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ экзСмпляр plotly.graph_objects.Figure . Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ plotly Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ способ построСния рисунков Plotly Express Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части любой ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΠΉ страницы, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Ρ€Π°Π·Π΄Π΅Π» ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ графичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для построСния ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… рисунков. Π›ΡŽΠ±Π°Ρ Ρ„ΠΈΠ³ΡƒΡ€Π°, созданная с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Plotly Express, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создана с использованиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½ΠΎ с использованиСм Π² 5–100 Ρ€Π°Π· большСго количСства ΠΊΠΎΠ΄Π°.

Plotly Express прСдоставляСт Π±ΠΎΠ»Π΅Π΅ 30 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Ρ„ΠΈΠ³ΡƒΡ€. API для этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±Ρ‹Π» Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ простым Π² освоСнии, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ с Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° гистограмму, гистограмму ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ солнСчных Π»ΡƒΡ‡Π΅ΠΉ Π²ΠΎ врСмя сСанса исслСдования Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠ·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π³Π°Π»Π΅Ρ€Π΅ΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Plotly Express, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… создаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ΠΎΡ‚ Π΄ΠΎΠΊΠ»Π°Π΄ с ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ SciPy 2021, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ даСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Plotly Express ΠΈ Dash:

Plotly Express Π² настоящСС врСмя Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  • ΠžΡΠ½ΠΎΠ²Ρ‹ : разброс , линия , ΠΎΠ±Π»Π°ΡΡ‚ΡŒ , Π±Π°Ρ€ , Π²ΠΎΡ€ΠΎΠ½ΠΊΠ° 9002 , Π²ΠΎΡ€ΠΎΠ½ΠΊΠ° 9002 , 3 линия Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ 3 9013 3 3
  • Π§Π°ΡΡ‚ΡŒ Π¦Π΅Π»ΠΎΠ³ΠΎ : ΠΊΡ€ΡƒΠ³ , солнСчныС Π»ΡƒΡ‡ΠΈ , ΠΊΠ°Ρ€Ρ‚Π° Π΄Π΅Ρ€Π΅Π²Π° , ΡΠΎΡΡƒΠ»ΡŒΠΊΠ° , funnel_area
  • ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ распрСдСлСния : гистограмма , ΠΏΠΎΠ»Π΅ , скрипка , полоса , ecdf
  • 2D-распрСдСлСния : density_heatmap , density_contour
  • Π’Π²ΠΎΠ΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ изобраТСния : imshow
  • Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ : scatter_3d , line_3d
  • ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ : scatter_matrix , parallel_coordinates , parallel_categories
  • Π’Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ : scatter_mapbox , line_mapbox , choropleth_mapbox , density_mapbox
  • ΠšΠΎΠ½Ρ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ : scatter_geo , line_geo , choropleth
  • ΠŸΠΎΠ»ΡΡ€Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ : scatter_polar , line_polar , bar_polar
  • Π’Ρ€ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ : scatter_ternary , line_ternary

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ высокого уровня¢

API Plotly Express Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  • Единая Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° Π² plotly : просто ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly. express ΠΊΠ°ΠΊ px ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊΠΎ всСм функциям построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ px.data ΠΈ встроСнныС Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Π΅ ΡˆΠΊΠ°Π»Ρ‹ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΠ΄ px.color . КаТдая функция PX Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ plotly.graph_objects.Рисунок , поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всС Ρ‚Π΅ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈ 9.0012 update_layout ΠΈ add_trace .
  • Π Π°Π·ΡƒΠΌΠ½Ρ‹Π΅, пСрСопрСдСляСмыС значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ : Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ PX Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Π΅ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ всСгда позволят Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ….
  • Π“ΠΈΠ±ΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π²Π²ΠΎΠ΄Π° : Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PX ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π²Π²ΠΎΠ΄ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…, ΠΎΡ‚ list s ΠΈ dict Π΄ΠΎ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Pandas GeoPandas GeoDataFrames .
  • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ автоматичСской трассировки ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π° : Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ PX Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ трассировку Π½Π° ΠΊΠ°Π΄Ρ€ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, сопоставлСнных с дискрСтным Ρ†Π²Π΅Ρ‚ΠΎΠΌ, символом, Π»ΠΈΠ½ΠΈΠ΅ΠΉ-Ρ‚ΠΈΡ€Π΅, строкой-фасСтом ΠΈ/ΠΈΠ»ΠΈ Π³Ρ€Π°Π½ΡŒΡŽ-столбцом. Атрибуты traces legendgroup ΠΈ showlegend установлСны Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт Π»Π΅Π³Π΅Π½Π΄Ρ‹ появляСтся Π½Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ дискрСтного Ρ†Π²Π΅Ρ‚Π°, символа ΠΈ/ΠΈΠ»ΠΈ Π»ΠΈΠ½ΠΈΠΈ-Ρ‚ΠΈΡ€Π΅. Врассировки автоматичСски ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сконфигурированным ΠΏΠΎΠ΄Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°.
  • АвтоматичСская ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° рисунков : Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PX ΠΌΠ°Ρ€ΠΊΠΈΡ€ΡƒΡŽΡ‚ оси, Π»Π΅Π³Π΅Π½Π΄Ρ‹ ΠΈ Ρ†Π²Π΅Ρ‚Π½Ρ‹Π΅ полосы Π½Π° основС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… DataFrame ΠΈΠ»ΠΈ xarray ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° labels .
  • АвтоматичСскиС ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ : Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PX Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΊΠΈ, упомянутыС Π²Ρ‹ΡˆΠ΅, ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² hover_name ΠΈ hover_data .
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ стилСм : Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PX ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ стилС ΠΈΠ· шаблона Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ часто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ космСтичСскиС элСмСнты управлСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ category_orders ΠΈ color_discrete_map для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ управлСния ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.
  • Единая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ†Π²Π΅Ρ‚Π° : Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ PX автоматичСски ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΌ ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π²Π²ΠΎΠ΄Π°.
  • Facet : Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ фасСтированиС строк, столбцов ΠΈ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚Ρ‹Ρ… фасСтов с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ facet_row , facet_col ΠΈ facet_col_wrap .
  • ΠœΠ°Ρ€Π³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ участки : Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ распрСдСлСния с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ marginal_x , marginal_x ΠΈ marginal_y .
  • Бэкэнд Pandas : Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 2D-Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° доступны ΠΊΠ°ΠΊ бэкСнд Pandas, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· df.plot() .
  • Π›ΠΈΠ½ΠΈΠΈ Ρ‚Ρ€Π΅Π½Π΄Π° : px.scatter ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ встроСнныС Π»ΠΈΠ½ΠΈΠΈ Ρ‚Ρ€Π΅Π½Π΄Π° с доступными Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
  • Анимации : ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PX ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² animation_frame ΠΈ animation_group .
  • АвтоматичСскоС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ WebGL : для достаточно Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ PX Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ WebGL для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ускорСниСм.

Plotly Express Π² DashΒΆ

Dash β€” Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ аналитичСскиС прилоТСния Π½Π° Python с использованиСм рисунков Plotly. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅, запуститС pip install dash , Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΈ запуститС ΠΏΠΈΡ‚ΠΎΠ½ app.py .

НачнитС с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Dash, ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π±Π΅Π· особых усилий ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Dash Enterprise.

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

ГалСрСя¢

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ рисунков β€” это всСго лишь ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Plotly Express.

ВочСчная, линСйная, площадная ΠΈ гистограмма¢

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… рассСяния ΠΈ дискрСтном Ρ†Π²Π΅Ρ‚Π΅.

Π’ [3]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly. express ΠΊΠ°ΠΊ px
df = px.data.iris()
рис = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
рис.ΡˆΠΎΡƒ()
 

Π’Β [4]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.iris()
рис = px.scatter(df, x="sepal_width", y="sepal_length", color="species", marginal_y="скрипка",
           marginal_x="box", trendline="ols", template="simple_white")
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠ»Π°Π½ΠΊΠ°Ρ… ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚Π΅ΠΉ.

Π’ [5]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.iris()
df["e"] = df["sepal_width"]/100
рис = px.scatter(df, x="sepal_width", y="sepal_length", color="species", error_x="e", error_y="e")
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ гистограммах.

Π’ [6]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.tips()
fig = px.bar(df, x="sex", y="total_bill", color="smoker", barmode="group")
рис.ΡˆΠΎΡƒ()
 

Π’Β [7]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.medals_long()
рис = px. bar(df, x="мСдаль", y="количСство", Ρ†Π²Π΅Ρ‚="нация",
             pattern_shape="нация", pattern_shape_sequence=[".", "x", "+"])
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ фасСтных Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ….

Π’Β [8]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.tips()
fig = px.bar(df, x="sex", y="total_bill", color="smoker", barmode="group", facet_row="time", facet_col="day",
       category_orders={"дСнь": ["Π§Ρ‚", "ΠŸΡ‚", "Π‘Π±", "Вс"], "врСмя": ["ОбСд", "Π£ΠΆΠΈΠ½"]})
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ рассСяния (SPLOM).

Π’Β [9]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.iris()
рис = px.scatter_matrix (df, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ = ["sepal_width", "sepal_length", "petal_width", "petal_length"], color="species")
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ… ΠΈ β€‹β€‹ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… катСгориях, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΌ Ρ†Π²Π΅Ρ‚Π΅.

Π’ [10]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.iris()
рис = px. parallel_coordinates(df, color="species_id", labels={"species_id": "Π’ΠΈΠ΄Ρ‹",
                  "sepal_width": "Π¨ΠΈΡ€ΠΈΠ½Π° Ρ‡Π°ΡˆΠ΅Π»ΠΈΡΡ‚ΠΈΠΊΠ°", "sepal_length": "Π”Π»ΠΈΠ½Π° Ρ‡Π°ΡˆΠ΅Π»ΠΈΡΡ‚ΠΈΠΊΠ°",
                  "petal_width": "Π¨ΠΈΡ€ΠΈΠ½Π° лСпСстка", "petal_length": "Π”Π»ΠΈΠ½Π° лСпСстка", },
                    color_continuous_scale=px.colors.diverging.Tealrose, color_continuous_midpoint=2)
рис.ΡˆΠΎΡƒ()
 

Π’ [11]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.tips()
рис = px.parallel_categories(df, color="size", color_continuous_scale=px.colors.sequential.Inferno)
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΌΠ΅Ρ‚ΠΊΠ°Ρ… ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ.

Π’Β [12]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.gapminder()
fig = px.scatter(df.query("year==2007"), x="gdpPercap", y="lifeExp", size="pop", color="continent",
           hover_name="страна", log_x=True, size_max=60)
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

Π’ [13]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px. data.gapminder()
рис = px.scatter(df, x="gdpPercap", y="lifeExp", анимация_frame="Π³ΠΎΠ΄", анимация_Π³Ρ€ΡƒΠΏΠΏΠ°="страна",
           Ρ€Π°Π·ΠΌΠ΅Ρ€ = "ΠΏΠΎΠΏ", Ρ†Π²Π΅Ρ‚ = "ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚", hover_name = "страна", facet_col = "ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚",
           log_x=Π˜ΡΡ‚ΠΈΠ½Π°, size_max=45, range_x=[100,100000], range_y=[25,90])
рис.ΡˆΠΎΡƒ()
 

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ….

Π’ [14]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.gapminder()
fig = px.line(df, x="Π³ΠΎΠ΄", y="lifeExp", color="ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚", line_group="country", hover_name="country",
        line_shape="сплайн", render_mode="svg")
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… с областями.

Π’Β [15]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.gapminder()
fig = px.area(df, x="Π³ΠΎΠ΄", y="насСлСниС", color="ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚", line_group="страна")
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ шкалС/Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… Π“Π°Π½Ρ‚Π°.

Π’Β [16]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px. 
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Π½Π΄ ΠΊΠ°ΠΊ pd
df = pd.DataFrame([
    dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28', Resource="Alex"),
    dict(Task="Job B", Start='2009-03-05', Finish='2009-04-15', Resource="Alex"),
    dict(Task="Job C", Start='2009-02-20', Finish='2009-05-30', Resource="Max")
])
fig = px.timeline(df, x_start="Начало", x_end="Π“ΠΎΡ‚ΠΎΠ²ΠΎ", y="РСсурс", color="РСсурс")
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π²ΠΎΡ€ΠΎΠ½ΠΊΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ….

Π’Β [17]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
Π΄Π°Π½Π½Ρ‹Π΅ = Π΄ΠΈΠΊΡ‚(
    число=[39, 27,4, 20,6, 11, 2],
    stage=["ΠŸΠΎΡΠ΅Ρ‰Π΅Π½ΠΈΠ΅ сайта", "Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ", "ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹", "Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠ°Ρ Ρ†Π΅Π½Π°", "Π‘Ρ‡Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½"])
рис = px.funnel (Π΄Π°Π½Π½Ρ‹Π΅, x = 'число', y = 'этап')
рис.ΡˆΠΎΡƒ()
 

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ части ΠΊ Ρ†Π΅Π»ΠΎΠΌΡƒΒΆ

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ ΠΊΡ€ΡƒΠ³ΠΎΠ²Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ….

Π’Β [18]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.gapminder().query("Π³ΠΎΠ΄ == 2007").query("ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚ == 'Π•Π²Ρ€ΠΎΠΏΠ°'")
df.loc[df['pop'] < 2. e6, 'country'] = 'Π”Ρ€ΡƒΠ³ΠΈΠ΅ страны' # ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ большиС страны
fig = px.pie(df, values='pop', names='country', title='НасСлСниС СвропСйского ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚Π°')
рис.ΡˆΠΎΡƒ()
 

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… солнСчных Π»ΡƒΡ‡Π΅ΠΉ.

Π’Β [19]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.gapminder().query("Π³ΠΎΠ΄ == 2007")
fig = px.sunburst(df, path=['ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚', 'страна'], values='pop',
                  color='lifeExp', hover_data=['iso_alpha'])
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚Π°Ρ….

Π’Β [20]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np
df = px.data.gapminder().query("Π³ΠΎΠ΄ == 2007")
fig = px.treemap(df, path=[px.Constant('ΠΌΠΈΡ€'), 'ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚', 'страна'], values='pop',
                  color='lifeExp', hover_data=['iso_alpha'])
рис.ΡˆΠΎΡƒ()
 

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ ΠΊΠ°Ρ€Ρ‚Π°Ρ… сосулСк.

Π’ [21]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np
df = px. data.gapminder().query("Π³ΠΎΠ΄ == 2007")
fig = px.icicle(df, path=[px.Constant('ΠΌΠΈΡ€'), 'ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚', 'страна'], values='pop',
                  color='lifeExp', hover_data=['iso_alpha'])
рис.ΡˆΠΎΡƒ()
 
РаспрСдСлСния¢

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ гистограммах.

Π’Β [22]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.tips()
fig = px.histogram(df, x="total_bill", y="tip", color="sex", marginal="ΠΊΠΎΠ²Ρ€ΠΈΠΊ", hover_data=df.columns)
рис.ΡˆΠΎΡƒ()
 

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ ящичковых Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ….

Π’Β [23]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.tips()
fig = px.box(df, x="day", y="total_bill", color="ΠΊΡƒΡ€ΠΈΠ»ΡŒΡ‰ΠΈΠΊ", notched=True)
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ скрипичных ΡΡŽΠΆΠ΅Ρ‚Π°Ρ….

Π’ [24]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.tips()
fig = px.violin(df, y="tip", x="ΠΊΡƒΡ€ΠΈΠ»ΡŒΡ‰ΠΈΠΊ", color="sex", box=True, points="all", hover_data=df.columns)
рис.ΡˆΠΎΡƒ()
 

Π’Β [25]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly. express ΠΊΠ°ΠΊ px
df = px.data.tips()
рис = px.ecdf(df, x="total_bill", color="sex")
рис.ΡˆΠΎΡƒ()
 

Π’ [26]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.tips()
рис = px.strip(df, x="ΠΎΠ±Ρ‰ΠΈΠΉ_счСт", y="врСмя", ориСнтация="Ρ‡", Ρ†Π²Π΅Ρ‚="ΠΊΡƒΡ€ΠΈΠ»ΡŒΡ‰ΠΈΠΊ")
рис.ΡˆΠΎΡƒ()
 

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π°Ρ… плотности, Ρ‚Π°ΠΊΠΆΠ΅ извСстных ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Ρ‹ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ гистограммы.

Π’Β [27]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.iris()
рис = px.density_contour(df, x="sepal_width", y="sepal_length")
рис.ΡˆΠΎΡƒ()
 

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Ρ‚Π΅ΠΏΠ»ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚Π°Ρ… плотности, Ρ‚Π°ΠΊΠΆΠ΅ извСстных ΠΊΠ°ΠΊ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ гистограммы.

Π’ [28]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.iris()
fig = px.density_heatmap(df, x="sepal_width", y="sepal_length", marginal_x="ΠΊΠΎΠ²Ρ€ΠΈΠΊ", marginal_y="гистограмма")
рис.ΡˆΠΎΡƒ()
 

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΈ Ρ‚Π΅ΠΏΠ»ΠΎΠ²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ΒΆ

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Ρ‚Π΅ΠΏΠ»ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚Π°Ρ… ΠΈ ​​изобраТСниях.

Π’Β [29]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly. express ΠΊΠ°ΠΊ px.
Π΄Π°Π½Π½Ρ‹Π΅ = [[1, 25, 30, 50, 1], [20, 1, 60, 80, 30], [30, 60, 1, 5, 20]]
рис = px.imshow (Π΄Π°Π½Π½Ρ‹Π΅,
                labels=dict(x="Π”Π΅Π½ΡŒ Π½Π΅Π΄Π΅Π»ΠΈ", y="ВрСмя дня", color="ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ"),
                x=['ПонСдСльник', 'Π’Ρ‚ΠΎΡ€Π½ΠΈΠΊ', 'Π‘Ρ€Π΅Π΄Π°', 'Π§Π΅Ρ‚Π²Π΅Ρ€Π³', 'ΠŸΡΡ‚Π½ΠΈΡ†Π°'],
                y=['Π£Ρ‚Ρ€ΠΎ', 'Π”Π΅Π½ΡŒ', 'Π’Π΅Ρ‡Π΅Ρ€']
               )
fig.update_xaxes (сторона = "свСрху")
рис.ΡˆΠΎΡƒ()
 

Π’ [30]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
ΠΈΠ· skimage import io
img = io.imread('https://upload.wikimedia.org/wikipedia/commons/thumb/0/00/Crab_Nebula.jpg/240px-Crab_Nebula.jpg')
рис = px.imshow (ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅)
рис.ΡˆΠΎΡƒ()
 
Π’Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ΒΆ

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Ρ‚Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚Π°Ρ… ΠΈ ​​точках Π½Π° Ρ‚Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚Π°Ρ….

Π’ [31]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.carshare()
рис = px.scatter_mapbox(df, lat="centroid_lat", lon="centroid_lon", color="peak_hour", size="car_hours",
                  color_continuous_scale=px.colors.cyclical. IceFire, size_max=15, ΠΌΠ°ΡΡˆΡ‚Π°Π±=10,
                  mapbox_style="ΠΊΠ°Ρ€Ρ‚ΠΎ-ΠΏΠΎΠ·ΠΈΡ‚Ρ€ΠΎΠ½")
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ‚Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅ ΠšΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ GeoJSON.

Π’ [32]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.election()
гСодТсон = px.data.election_geojson()
рис = px.choropleth_mapbox(df, geojson=geojson, color="Bergeron",
                           мСстополоТСния = "Ρ€Π°ΠΉΠΎΠ½", featureidkey = "properties.district",
                           Ρ†Π΅Π½Ρ‚Ρ€ = {"ΡˆΠΈΡ€ΠΎΡ‚Π°": 45,5517, "Π΄ΠΎΠ»Π³ΠΎΡ‚Π°": -73,7073},
                           mapbox_style="ΠΊΠ°Ρ€Ρ‚ΠΎ-ΠΏΠΎΠ·ΠΈΡ‚Ρ€ΠΎΠ½", zoom=9)
рис.ΡˆΠΎΡƒ()
 

ΠšΠΎΠ½Ρ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ΒΆ

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚Π°Ρ… символов.

Π’ [33]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.gapminder()
рис = px.scatter_geo(df, location="iso_alpha", color="continent", hover_name="country", size="pop",
               animation_frame="Π³ΠΎΠ΄", проСкция="природная зСмля")
рис.ΡˆΠΎΡƒ()
 

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

Π’ [34]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.gapminder()
fig = px.choropleth(df, location="iso_alpha", color="lifeExp", hover_name="country", animation_frame="year", range_color=[20,80])
рис.ΡˆΠΎΡƒ()
 
ΠŸΠΎΠ»ΡΡ€Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ΒΆ

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ полярных Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ….

Π’ [35]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.wind()
рис = px.scatter_polar(df, r="частота", Ρ‚Π΅Ρ‚Π°="Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅", Ρ†Π²Π΅Ρ‚="сила", символ="сила",
            color_discrete_sequence=px.colors.sequential.Plasma_r)
рис.ΡˆΠΎΡƒ()
 

Π’ [36]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.wind()
fig = px.line_polar(df, r="частота", theta="Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅", color="сила", line_close=True,
            color_discrete_sequence=px.colors.sequential.Plasma_r)
рис.ΡˆΠΎΡƒ()
 

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ полярных гистограммах.

Π’Β [37]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ plotly.express ΠΊΠ°ΠΊ px.
df = px.data.wind()
рис = px. bar_polar(df, r="частота", theta="Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅", Ρ†Π²Π΅Ρ‚="сила", template="plotly_dark",
            color_discrete_sequence= px.colors.sequential.Plasma_r)
рис.ΡˆΠΎΡƒ()
 
Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ΒΆ

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ….

Π’ [38]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.election()
fig = px.scatter_3d(df, x="Joly", y="Coderre", z="Bergeron", color="winner", size="total", hover_name="district",
                  symbol="result", color_discrete_map = {"Π–ΠΎΠ»ΠΈ": "синий", "Π‘Π΅Ρ€ΠΆΠ΅Ρ€ΠΎΠ½": "Π·Π΅Π»Π΅Π½Ρ‹ΠΉ", "ΠšΠΎΠ΄Π΅Ρ€":"красный"})
рис.ΡˆΠΎΡƒ()
 
Π’Ρ€ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ΒΆ

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Ρ‚Ρ€ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ….

Π’ [39]:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ plotly.express ΠΊΠ°ΠΊ px
df = px.data.election()
fig = px.scatter_ternary(df, a="Joly", b="Coderre", c="Bergeron", color="winner", size="total", hover_name="district",
                   size_max=15, color_discrete_map = {"Π–ΠΎΠ»ΠΈ": "синий", "Π‘Π΅Ρ€ΠΆΠ΅Ρ€ΠΎΠ½": "Π·Π΅Π»Π΅Π½Ρ‹ΠΉ", "ΠšΠΎΠ΄Π΅Ρ€":"красный"} )
рис. ΡˆΠΎΡƒ()
 

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

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

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Dash, ΠΏΠΎ адрСсу https://dash.plot.ly/installation.

Π’Π΅Π·Π΄Π΅ Π½Π° этой страницС, Π³Π΄Π΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ fig.show() , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ рисунок Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Dash, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ figure ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Graph ΠΈΠ· встроСнного dash_core_components ΠΏΠ°ΠΊΠ΅Ρ‚ Π²Ρ€ΠΎΠ΄Π΅ этого:

 import plotly.graph_objects ΠΊΠ°ΠΊ go # ΠΈΠ»ΠΈ plotly.express ΠΊΠ°ΠΊ px
fig = go.Figure() # ΠΈΠ»ΠΈ любая функция Plotly Express, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. px.bar(...)
# fig.add_trace( ... )
# fig.update_layout( ... )
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΡ€Π΅
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ dash_core_components ΠΊΠ°ΠΊ DCC
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ dash_html_components ΠΊΠ°ΠΊ html
ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ = Ρ‚ΠΈΡ€Π΅.Dash()
app.layout = html.Div([
    dcc.Graph(рисунок=рис)
])
app.run_server(debug=True, use_reloader=False) # ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, Ссли Π²Π½ΡƒΡ‚Ρ€ΠΈ Jupyter
 

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° PCA (Π°Π½Π°Π»ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²)

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° PCA (Π°Π½Π°Π»ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²)

Π’ этом Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ построСниС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², связанных с PCA, кластСризациСй, LFDA ΠΈ MDS, с использованиСм {ggplot2} ΠΈ {ggfortify} .

{ggfortify} ΠΏΡƒΡΡ‚ΡŒ {ggplot2} Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ PCA. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ {ggfortify} Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ggplot2::autoplot для stats::prcomp ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ stats::princomp .

Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°
 (ggfortify)
df <- Π΄ΠΈΠ°Ρ„Ρ€Π°Π³ΠΌΠ°[1:4]
pca_res <- prcomp(df, ΠΌΠ°ΡΡˆΡ‚Π°Π±. = TRUE)
Π°Π²Ρ‚ΠΎΠ³Ρ€Π°Ρ„ (pca_res)
 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

PCA Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числовыС значСния. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΠΊΡ€Π°ΡΠΈΡ‚ΡŒ нСчисловыми значСниями исходныС Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ исходныС Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово data , Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ имя столбца с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова color . Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ справку (autoplot.prcomp) (ΠΈΠ»ΠΈ help (autoplot.*) для Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ доступныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

 Π°Π²Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΊ (pca_res, Π΄Π°Π½Π½Ρ‹Π΅ = Ρ€Π°Π΄ΡƒΠΆΠΊΠ°, Ρ†Π²Π΅Ρ‚ = 'Π’ΠΈΠ΄Ρ‹')
 

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΌΠ΅Ρ‚ΠΊΠΈ = TRUE рисуСт ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠΌΠ΅Π½ строк

 Π°Π²Ρ‚ΠΎΠΏΠ»ΠΎΡ‚ (pca_res, Π΄Π°Π½Π½Ρ‹Π΅ = радуТная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, Ρ†Π²Π΅Ρ‚ = Β«Π²ΠΈΠ΄Β», ΠΌΠ΅Ρ‚ΠΊΠ° = ИБВИНА, ΠΌΠ΅Ρ‚ΠΊΠ°.  Ρ€Π°Π·ΠΌΠ΅Ρ€ = 3)
 

ΠŸΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ = Π›ΠžΠ–Π¬ Π΄Π΅Π»Π°Π΅Ρ‚ Π³Ρ€Π°Ρ„ΠΈΠΊ Π±Π΅Π· Ρ‚ΠΎΡ‡Π΅ΠΊ. Π’ этом случаС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΊΠ° , Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½ΠΎΠ΅.

 Π°Π²Ρ‚ΠΎΠΏΠ»ΠΎΡ‚ (pca_res, Π΄Π°Π½Π½Ρ‹Π΅ = радуТная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, Ρ†Π²Π΅Ρ‚ = Β«Π²ΠΈΠ΄Β», Ρ„ΠΎΡ€ΠΌΠ° = Π›ΠžΠ–Π¬, label.size = 3)
 

ΠŸΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ = TRUE рисуСт собствСнныС Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹.

 autoplot (pca_res, Π΄Π°Π½Π½Ρ‹Π΅ = радуТная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, Ρ†Π²Π΅Ρ‚ = Β«Π’ΠΈΠ΄Ρ‹Β», Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ = ИБВИНА)
 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ собствСнных Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

 Π°Π²Ρ‚ΠΎΠΏΠ»ΠΎΡ‚ (pca_res, Π΄Π°Π½Π½Ρ‹Π΅ = радуТная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, Ρ†Π²Π΅Ρ‚ = Β«Π’ΠΈΠ΄Ρ‹Β»,
         loads = TRUE, loads.color = 'синий',
         loads.label = TRUE, loads.label.size = 3)
 

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ стандарт ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ ΡΡŽΠΆΠ΅Ρ‚ . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Π°Π² scale = 0

 Π°Π²Ρ‚ΠΎΠ³Ρ€Π°Ρ„ (pca_res, ΠΌΠ°ΡΡˆΡ‚Π°Π± = 0)
 

{ggfortify} ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ stats::factanal Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ PCA. ДоступныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ PCA.

Π’Π°ΠΆΠ½ΠΎ Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ scores ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ factanal для расчСта болячСк (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ scores = NULL ). Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π·Π°Π³ΠΎΠ²ΠΎΡ€ Π½Π΅ удастся.

 d.factanal <- factanal (состояниС.x77, Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ = 3, Π±Π°Π»Π»Ρ‹ = «рСгрСссия»)
Π°Π²Ρ‚ΠΎΠ³Ρ€Π°Ρ„ (d.factanal, Π΄Π°Π½Π½Ρ‹Π΅ = state.x77, Ρ†Π²Π΅Ρ‚ = 'Π”ΠΎΡ…ΠΎΠ΄')
 

 autoplot(d.factanal, label = TRUE, label.size = 3,
         loads = TRUE, loads.label = TRUE, loads.label.size = 3)
 

{ggfortify} ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ класс stats::kmeans . Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ явно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ исходныС Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ autoplot Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово data . ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠΌ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ исходныС Π΄Π°Π½Π½Ρ‹Π΅. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Ρ€Π°ΡΠΊΡ€Π°ΡˆΠ΅Π½ кластСром ΠΏΠΎ катСгориям.

 Π½Π°Π±ΠΎΡ€ сСмян(1)
autoplot (kmeans (USArrests, 3), Π΄Π°Π½Π½Ρ‹Π΅ = USAarrests)
 

 autoplot (kmeans (USArrests, 3), Π΄Π°Π½Π½Ρ‹Π΅ = USArrests, label = TRUE, label. size = 3)
 

{ggfortify} ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ классы cluster::clara , cluster::fanny , cluster::pam , Π° Ρ‚Π°ΠΊΠΆΠ΅ классы cluster::silhouette . ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти экзСмпляры Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ исходныС Π΄Π°Π½Π½Ρ‹Π΅ Π² своСм свойствС, Π½Π΅Ρ‚ нСобходимости явно ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ исходныС Π΄Π°Π½Π½Ρ‹Π΅.

 Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (кластСр)
Π°Π²Ρ‚ΠΎΠ·Π°Π³ΠΎΠ²ΠΎΡ€ (ΠΊΠ»Π°Ρ€Π° (ирис [-5], 3))
 

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠ°Π΄Ρ€Π° = TRUE Π² Π°Π²Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΊΠ΅ для stats::kmeans ΠΈ cluster::* рисуСт Π²Ρ‹ΠΏΡƒΠΊΠ»ΠΎΡΡ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ кластСра.

 autoplot(fanny(iris[-5], 3), frame = TRUE)
 

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ эллипс вСроятности, {ggplot2} 1.0.0 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ всС, Ρ‡Ρ‚ΠΎ поддСрТиваСтся Π² ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ словС ggplot2::stat_ellipse type Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°Π΄Ρ€.Ρ‚ΠΈΠΏ опция.

 autoplot(pam(iris[-5], 3), frame = TRUE, frame.type = 'Π½ΠΎΡ€ΠΌΠ°')
 

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π³Ρ€Π°Ρ„ΠΈΠΊ силуэта, ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ силуэта Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ autoplot .

 Π°Π²Ρ‚ΠΎΠΏΠ»ΠΎΡ‚(силуэт(ΠΏΠ°ΠΌ(ирис[-5], 3L)))
 

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ… Silhouette ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, см. ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±Π°Π·Ρ‹ R, scikit-learn ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ Π±ΡƒΠΌΠ°Π³Π°.

ΠŸΠ°ΠΊΠ΅Ρ‚

{lfda} ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² локального дискриминантного Π°Π½Π°Π»ΠΈΠ·Π° Π€ΠΈΡˆΠ΅Ρ€Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ autoplot для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ PCA.

Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°
 (lfda)
# Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ дискриминантный Π°Π½Π°Π»ΠΈΠ· Π€ΠΈΡˆΠ΅Ρ€Π° (LFDA)
модСль <- lfda(iris[-5], iris[ 5], r = 3, metric="plain")
Π°Π²Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΊ (модСль, Π΄Π°Π½Π½Ρ‹Π΅ = радуТная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, ΠΊΠ°Π΄Ρ€ = ИБВИНА, ΠΊΠ°Π΄Ρ€.Ρ†Π²Π΅Ρ‚ = 'Π’ΠΈΠ΄Ρ‹')
 

 # Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ дискриминантный Π°Π½Π°Π»ΠΈΠ· Π€ΠΈΡˆΠ΅Ρ€Π° с ΠΏΠΎΠ»ΡƒΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ (SELF)
модСль <- self(радуТная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° [-5], радуТная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° [ 5], Π±Π΅Ρ‚Π° = 0,1, r = 3, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° = "обычная")
Π°Π²Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΊ (модСль, Π΄Π°Π½Π½Ρ‹Π΅ = радуТная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, ΠΊΠ°Π΄Ρ€ = ИБВИНА, ΠΊΠ°Π΄Ρ€.Ρ†Π²Π΅Ρ‚ = 'Π’ΠΈΠ΄Ρ‹')
 

ΠŸΠ΅Ρ€Π΅Π΄ составлСниСм ΠΏΠ»Π°Π½Π°

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ MDS Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈΠ»ΠΈ список (Π½Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ класс), {ggfortify} ΠΌΠΎΠΆΠ΅Ρ‚ вывСсти Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ класс ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° list ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ autoplot .

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π• Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ· ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π΅ поддСрТиваСтся.

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π• {ggfortify} ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ экзСмпляр stats::dist Π² Π²ΠΈΠ΄Π΅ Ρ‚Π΅ΠΏΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹.

 Π°Π²Ρ‚ΠΎΡΡŽΠΆΠ΅Ρ‚ (Свродист)
 

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ классичСского (мСтричСского) ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ

stats::cmdscale выполняСт ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ MDS ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΊΠ°ΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° , поэтому Π² этом случаС Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ autoplot . Однако Π»ΠΈΠ±ΠΎ eig = TRUE , add = True Π»ΠΈΠ±ΠΎ x.ret = True ΡƒΠΊΠ°Π·Π°Π½ΠΎ, stats::cmdscale Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ list вмСсто matrix . Π’ этих случаях {ggfortify} ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π°Π²Ρ‚ΠΎΠ·Π°Π³ΠΎΠ²ΠΎΡ€ . ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ справкС (cmdscale) , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π·Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

 autoplot(cmdscale(eurodist, eig = TRUE))
 

Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ label = TRUE для построСния ΠΌΠ΅Ρ‚ΠΎΠΊ.