rL iclddlZddlmZddlZddlmZddlm Z ddl m Z dZ dZe dgddd g d Ze d gddd dZe dgddddZe dgdddZe dgddddZe dgddddZe dgddddZdZdZd Zy)!N)assert_array_almost_equal)image_comparisoncvtjddddddf\}}d|dzz |z}d|z|dzz }||||fS)NyY@yi@)npmgrid)YXUVs f/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/tests/test_streamplot.pyvelocity_fieldr sU 88BqIr!Dy( )DAq QT A A A1 A aA:chtjddd}tjddd}tj||\}}d}tj|| ztj||zz }tj|| ztj||zz}||||fS)Ngg@dg?)r linspacemeshgridcossin)xyrr arrs rswirl_velocity_fieldrs CS!A CS!A ;;q! DAq A q aR266!9q=(A q aR266!9q=(A aA:rstreamplot_startpointsTmpl20png) remove_textstyle extensionsct\}}}}tjtj|j |j dtj|j |j d\}}tj |j|jg}tj|||||tj||dy)N) start_pointsok) rr rrminmax column_stackravelplt streamplotplot)rr rrstart_xstart_yr's rtest_startpointsr2s !JAq!Q{{2;;quuw#C#%;;quuw#CEGW??GMMOW]]_#EFLNN1aAL9HHWgt$rzstreamplot_colormap.pnggI +?)r"r#tolc t\}}}}tj|||||ddtjjtj y)Ng333333?r )colordensity linewidthcmap)rr-r.cmautumncolorbar)rr rrs r test_colormapr<%sB !JAq!QNN1aAQq 'LLNrstreamplot_linewidthgMbp?c t\}}}}tj||}d|z|jz }t j j }|j||||ddgd|y)Nr&g?r k)r6r5r7)rr hypotr*r-figuresubplotsr.)rr rrspeedlwaxs rtest_linewidthrF.si !JAq!Q HHQNE UUYY[ B    BMM!Q1sAhcRMHrzstreamplot_masks_and_nans.png)r"r#c t\}}}}tj|jt}d|ddddf<tj |ddddf<tj j||}tjj}tjd 5|j|||||tjj dddy#1swYyxYw) N)dtyper (<Px)maskignore)invalid)r5r8)rr zerosshapeboolnanmaarrayr-rArBerrstater.r9Blues)rr rrrNrEs rtest_masks_and_nansrY8s !JAq!Q 88AGG4 (DDB3&&Acrc3B3hK  AD !A    B X &> aAq =>>>s 20C++C4zstreamplot_maxlength.pnggS?c (t\}}}}tjj}|j ||||dddggdd|j d|j dcxk(rdk(sJJ|jdd y) N$@?r ) maxlengthr'r7r6rrNg\bw @Ngi@xlimylimrr-rArBr.get_xlimget_ylimsetrrrrrEs rtest_maxlengthriEs&'JAq!Q    BMM!Q1B9+q* ;;=  b 1 6Q 66 66 6FF*1JFKrz"streamplot_maxlength_no_broken.pngc *t\}}}}tjj}|j ||||dddggddd |j d|j dcxk(rdk(sJJ|jd d y) Nr[r\r]r F)r^r'r7r6broken_streamlinesrrr_r`rardrhs rtest_maxlength_no_brokenrlQs&'JAq!Q    BMM!Q1B9+qUD ;;=  b 1 6Q 66 66 6FF*1JFKrzstreamplot_direction.pngg㥛 ?c dt\}}}}tj||||ddddggdd y)Nbackwardr]r\r )integration_directionr^r'r7r6)rr-r.)rrrrs rtest_directionrp]s:&'JAq!QNN1aAZ b {+rctj}tjddd}tjddd}tj||\}}t j jdd|jz}tj||tj|tj||t|jjd d y) N rM ) transform)rMr )decimal)r-axesr rr mtransformsAffine2D translate transDatabarbsrrrdataLimbounds)rErrtranss rtest_streamplot_limitsrfs B BBA B2A ;;q! DAq  " , ,R 4r|| CEIIaBFF1IrvvayE:bjj//&')rctjd}tjd}tjddgddgg}tjddgddgg}t j t d5tj||||dddtjddgddgg}tjddgddgg}t j t d5tj||||dddtjddgddgg}tjddgddgg}tj||||tjddg}tjddggg}t j t d 5tj||||dddtjd }tjd }tjgd }tjgd }t j t d 5tj||||dddtjgd}tjgd}t j t d5tj||||dddy#1swY5xYw#1swYxYw#1swY#xYw#1swYxYw#1swYyxYw)N)r r rsrMryzThe rows of 'x' must be equal)matchz The columns of 'y' must be equalrz$'y' can have at maximum 2 dimensionsrr)rrsrM)rrsryz!'y' values must be equally spaced)rrMrI)rrMrsz'y' must be strictly increasing) r onesrQrVpytestraises ValueErrorr-r.)uvrrs rtest_streamplot_gridrtsp A A 2r(RH%&A 2r(RH%&A z)H I# q!Q"# 2r(RH%&A 2r(RH%&A z)K L# q!Q"# 2r(RH%&A 2r(RH%&ANN1aA !RA Ar7)A z*8 9# q!Q"# A A A A z)L M# q!Q"# A A z)J K# q!Q"##E## ########s<<K.K(K"<K/&K;KK"K,/K8;Lc tjtjdtjdtjdtj tjdtj tj jddtjtdtdtj jddtj jddy)Nrr)r5) r-r.r arangefullrTrandomrandrangerrtest_streamplot_inputsrsNN299Q<1776266*BGGFBFF,C1-/NN58U1X99>>!Q'1)=?r)numpyr numpy.testingrrmatplotlib.pyplotpyplotr-matplotlib.testing.decoratorsrmatplotlib.transforms transformsr~rrr2r<rFrYrirlrprrrrrrrsA3 :++,$g#W&%&%,-4w)*GII23"'3>3>-."'u>L>L78"'u>L>L-."'u>+>+ )+#\?r