gL i.4ddlmZddlZddlmZddlmZddlmZ ddl Z ddl m Z ddlmZddlmZddlmZmZmZmZerdd lmZdd lmZdd lmZdd lmZmZm Z  d dd Z!dZ" d ddZ# d ddZ$ d ddZ% d ddZ&d d!dZ'd"d#dZ(dZ)y)$) annotationsN) TYPE_CHECKING)patches)notna) pprint_thing)get_standard_colors)create_subplotsdo_adjust_figuremaybe_adjust_figureset_ticks_props)Hashable)Axes)Figure) DataFrameIndexSeriesc  |j} | jj} | | z} t| ||d\}}t |ddt | }t |}|xsi}|xsi}| jddg}| jD]o}| |j||j}tj|tj|}}||z | zdz }|j||z ||zfqt| jD]\}}t| jD]\}}|||f}||k(r| |j||j}|dk(r|j|fi|nj|d vrfdd lm}|}||}tj"|j|jd }|j$||j'|fi||j)||n`||||zj}|j*| ||| ||f||d | |j)|||j-|||j/||j1||dk7r|j2j5d|| d z k7sv|j6j5dt9| jd kDr|d}|dd j2j;} | |d| k| |d kz} | |dz |d |dz z }!|ddj=}"|!|"d |"dz z|"dz}!|ddj2j?|!tj@| | jCtDk(r| jCtD} |ddj2jG| tI|dddd|S)NF)naxesfigsizeaxsqueezer)wspacehspace edgecolorsnonehist)kdedensity) gaussian_kdei)markeralphaZ) xlabelsizexrot ylabelsizeyrot)%_get_numeric_datacolumnssizer r r_get_marker_compat setdefaultvaluesnpminmaxappend enumerater scipy.statsr linspaceplotevaluateset_xlimscatterset_ylim set_xlabel set_ylabelyaxis set_visiblexaxislenget_majorticklocsget_ylim set_ticksallastypeintset_ticklabelsr )#framer"rrgriddiagonalr! density_kwds hist_kwds range_paddingkwdsdfnrfigaxesmaskboundaries_listar/rmin_rmax_ rdelta_extijbr ygkdeindcommonlim1locsadjlim0s# f/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/plotting/_matplotlib/misc.pyscatter_matrixrf"s  "B A EEeWUSICAa0 9D  'FRI%2L OOL&)O ZZIAd1gnn-vvf~rvvf~uem}4q8  2EJ4FGH I "**%%,1bjj)$ ,DAqadBAvAd1gnn5v%BGGF0i0!338A'?D++aeegquuw=CBGGCs!3D|D OA./q'DG+33 qE&M2a5=9?uPT OA./ OA./ MM!  MM! Av$$U+AEz$$U+I$ ,%,N 2::q!Awqz113T!W_a9:d1g~$q'DG"34Awqz""$T!WtAw&'$q'1 Q ""3' 66$$++c** +;;s#D Q ''-DQRAAF Kc,|tjvry|S)No)mlines lineMarkers)r!s rer-r-s V''' Mrgc fddlm}d}t|}||j} ||} |j |dj |} |4|j }|jdd|jddi} tt| |d|} | D] }ggg| |< t|jdz }tjt|Dcgc]}dtjz||z zc}Dcgc],}tj|tj |f.c}}t|D]}| j"|j$}tj&tj(|ddd}||zj+d|j+z }| j,|}| |dj/|d| |dj/|dt1| D]4\}}|j2| |d| |df| |t5|d |6|j7|j9t;j<d d d t?|| jD]\}}|j9t;j<|dd |ddkr,|ddkr$|jA|ddz |ddz |dddb|ddcxkr|dkr'nn$|jA|ddz |ddz|ddd|ddcxkr|dkr'nn$|jA|ddz|ddz |ddd|ddk\s|ddk\s|jA|ddz|ddz|ddd |jCd|Scc}wcc}w)NrcDt|}t|}||z ||z z SN)r1r2)seriesrVr\s re normalizezradviz..normalizes' K K q1u%%rgr#axisrandom num_colorscolormap color_typecolorrrylabel)r|?r)radius facecolorg?grayr|righttopsmall)havar,bottomleftequal)"matplotlib.pyplotpyplotrAdrop_duplicatesdropapplygcar9r;rr+r0arrayrangepicossinilocr/repeat expand_dimssumiatr3r4r:rlegend add_patchrCircleziptextrr)rI class_columnrryrwrOpltrprQclasses class_colrPto_plotcolorsklsmrZtsrowrow_r]xynames reradvizrs$& E AL!113Gl#I Lq ) / / :B z WWY B B*,G w<(xuF Bx   EMMQA GLQx)P!!bee)q1u*=)PQA"&&)RVVAY Q A1X%ggajyy!4aa@ XNNN "SWWY .mmA Qqt$ Qqt$ %G$ 3 CLO CLO )s#     IIKLL 3&IJ2::&D W^^BuGH a53;2a53; GG1 r!uu}dw5w  US !BqE ! GG1 1   US !BqE ! GG1 r!uu}dv%g  Uc\besl GG1 r!uu}dv(QX  +2GGG Ic*QQs ! N)1N.c Xddlm}d}t|} ||} ||j} |j |d} t j t j t j|} t}tt| |d|}tt| |}|?|j}|jt j t jt| D]}| j|j }||}|| }| j"|}t%|}||vr,|j'||j(| |f|||d|v|j(| |fd||i||j+d |j-|S) Nrcfd}|S)NcXd}|tjdz }tjtjd}tj|t |j dzdz df}tjd|jddz}tj||}|tj|dddtjftj|z|dddtjftj|zzdz }|S)Nrg@r#rrq)r0sqrtdeletecopyresizerGr,arangeshapeouterrnewaxisrr)rx1resultcoeffs harmonics trig_args amplitudess refz+andrews_curves..function..fsAB"''#,&F YYrwwz2A6FYYvV[[1_,A(BA'FGF !V\\!_59IA.I bffq!RZZ'(266)+<<Arzz)*RVVI->>? F Mrg)rrs` refunctionz andrews_curves..functions ,rgr#rqrtrurzry upper rightloc)rrrArrr0r6rsetrdictrrr9rrr/rraddr7rrJ)rIrrsamplesryrwrOrrrQrrrPr used_legends color_valuesrrZrrr]rr{s reandrews_curvesrs}$2 E Al#IL!113G Lq )B RUUFBEE7+A UL&w<(xuL#g|, -F z WWY RUUFBEE" 1X 5ggaj SM aDmmAS!  $   U # BGGAq As 5 AD A BGGAq 4s 4t 4 5II-I GGI Irgc ddlm}t|j}t |Dcgc]}t j ||}}tj|D cgc]} tj| c} } tj|D cgc]} tj| c} } tj|D cgc]} t| t| zdzc} } ||j}tt |} g}|jddd}|jd|j!||j"| | fi||jddd}|jd|j!||j"| | fi||jddd}|jd|j!||j"| | fi||jddd}|jd|j!||j$| fi||jddd }|jd |j!||j$| fi||jddd }|jd |j!||j$| fi||D]D}|j'|j)d |j'|j+d Ft-|r|j/|Scc}wcc} wcc} wcc} w)Nr?rr#SampleMeanMedianMidranger$)fontsize)rrlistr/rrtsampler0rmeanmedianr1r2figure add_subplotr<r3r7rsetpget_xticklabelsget_yticklabelsr tight_layout)rorRr,rrOrdata_ samplingssamplingmeansmedians midrangesxrSax1ax2ax3ax4ax5ax6rrs rebootstrap_plotr#s$  D49'NCqtT*CIC HH BHbggh'B CEhhIF (+FGG?HI8#h-#h- '3 .II {jjl U7^A D //!Q "CNN8KK CHHQ //!Q "CNN8KK CHHQ 4 //!Q "CNN8KK CHHQ "T" //!Q "CNN6KK CHHUd //!Q "CNN8KK CHHW //!Q "CNN:KK CHHY$5 %%'!4 %%'!45  JQDBFIsL0L5L:!L?c  ddlm} | ddd} t|} ||j}||}||j |d}n||}t }t|j }|durStjtjt|j s td|j }ne|Otjtj|s tdt||k7r td |}ntt|}|| j}tt||d | }| rt|}t|}t!t#||}t| D]~}|j$|j&}|j(|}t+|}||vr,|j-||j.||f|||d | f|j.||fd ||i| |r|D]}|j0|fi| |j3||j5|j |j7|d|d|j9d|j;|S)Nrr#black) linewidthryrqTz,Columns must be numeric to be used as xticksz xticks specified must be numericz-Length of xticks must match number of columnsrtrurzryrsrr)rrrArrrr+r0rEisrealr ValueErrorrrrsortedrrrr/rrrr7axvline set_xticksset_xticklabelsr9rrJ)rIrcolsrry use_columnsxticksrwaxvlines axvlines_kwds sort_labelsrOrrQrrrPrncolsrrrrZr]rr{s reparallel_coordinatesrZs[$&'':  E AL!113Gl#I | ZZ 1Z - 4[ UL  OEdvvbiiRZZ 012KL L JJ  vvbii'(?@ @ v;% LM M  u  z WWY&w<(xuL/l+ #g|, -F 1X5 GGAJ  mmAS!  $   U # BGGAq As 5 AD A BGGAq 4s 4t 45 +A BJJq *M * +MM!rzz"KK!aeII-I GGI Irgc ddlm}|jd|jd|j}|d| }||d}||j }|j d|jd|d|j||fi||S)Nrczpatch.facecolorzy(t)zy(t + )) rrr.rcParamsr/rr<r=r:)rolagrrOrry1y2s relag_plotrs#OOC&789 ==D etB cdB z WWYMM&MMF3%q/"BJJr2 Irgc  ddlm}t| tj| |4|j }|j d |jddtj  tj z dz z fd}tj dz}|Dcgc] }|| }}d}d} |j| tj z d d |j|tj z d |jd d |j| tj z d |j| tj z d d |jd|jd|j||fi|d|vr|j!|j#|Scc}w)Nrr#gr}rcTd|z z |dz zjz z Srn)r)hc0rrrQs rerzautocorrelation_plot..rs:gA%$qr(T/:??AAEJJrgg1\?g`dL@z--grey)r] linestylery)r]ryr|rLagAutocorrelationr{)rrrAr0asarrayrr9r;rrraxhlinerr<r=r7rrJ)rorrOrr rrr]z95z99r rrrQs @@@@reautocorrelation_plotrs# F A ::f D z WWY Aq D# 774=D " #a 'BK ! qAC3A C CJJrwwqz!TJ@JJrwwqz!J0JJGJ$JJ# "&J1JJ# "d&JAMM%MM#$ BGGAqD$ GGI I s8G$cLt|trt|dk(r|d}|S)Nr#r) isinstancerrA)keyss reunpack_single_str_listrs$$#d)q.Aw Krg) rNNFr.NNg?)rIrr"floatrztuple[float, float] | NonerJboolrKstrr!rrNr)NNN)rIrr Axes | Nonereturnr)NNN)rIrrrrrGrr)N2i) rorrRz Figure | Noner,rGrrGrr) NNNFNNTNF) rIrrrrrrrrrrr)r#N)rorrrGrrrrrn)rorrrrr)* __future__rrttypingr matplotlibrmatplotlib.lineslinesrjnumpyr0pandas.core.dtypes.missingrpandas.io.formats.printingr!pandas.plotting._matplotlib.styler!pandas.plotting._matplotlib.toolsr r r r collections.abcr matplotlib.axesrmatplotlib.figurerpandasrrrrfr-rrrrrrrrrgrer0s" !,3A($(*. ^ ^ ^(^  ^  ^ ^^B   T T T Tt   @ @ @ @ @J 4 4 4 4 4  4t    N N  N  NNN Nb"Brg