rL i*ddlZddlZddlmZddlmZmZmZddl Z ddl m Z m Z m ZmZmZmZddlmZddlmZddlmZddlmZdd lmZdd lmZd Zd Z d Z!dZ"edgddZ#dZ$dZ%e jLjOddZ(dZ)dZ*e jLjWejXd ddZ-e jLjWejXd ddZ.dZ/dZ0d Z1y)!N)assert_array_almost_equal)featuresImageTiffTags) collections patheffectspyplot transformsrcParams rc_context) RendererAgg)Figure)imread)Path)image_comparison)IdentityTransformctddg}|jd|jjdt j }|j ||jd|jd|j ||jd|jdttt|dd d y) N皙?)rrr?none) facecolor edgecolorrrr)?rr)decimal) r set_facecolorpatch set_alphaioBytesIOsavefig get_facecolorseekrtupler)figbufs _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/tests/test_agg.pytest_repeated_save_with_alphar+s !S Ck"II **,CKK++- " HHQKKK++- " HHQKeF3K$564&')c &tj}tj\}}t j t ddgddgddgddgddggg}|j||jddtj|y)Ni gMbP?r) r"r#pltsubplotsrPathCollectionr add_artistset_xlimr$)bufffax collections r*!test_large_single_path_collectionr:3s ::.smooth1dYs EE adFQz!B' 'AaeGaJ;r8I6J,J J L JJz " KK!%%' 16 2Azk!m,,r,rctt|ddzdz}tjd||}tjd||}|S)NrrHrr)maxintr?apply_along_axis)AsigmarXr\s r*smooth2dz!test_agg_filter..smooth2dasNUQ'!+a/   !Q ;   !Q ;r,ceZdZdZdZdZy)#test_agg_filter..BaseFiltercy)Nrselfdpis r*get_padz+test_agg_filter..BaseFilter.get_padisr,ctd)Nz"Should be overridden by subclasses)NotImplementedError)ri padded_srcrjs r* process_imagez1test_agg_filter..BaseFilter.process_imagels%&JK Kr,c|j|}tj|||f||fdgd}|j||}|| | fS)Nrconstant)rkr?padro)riimrjrrrn tgt_images r*__call__z,test_agg_filter..BaseFilter.__call__osW,,s#Cc3Z#sV$D *,J**:s;IsdSD( (r,N)__name__ __module__ __qualname__rkrorurgr,r* BaseFilterregs  L )r,ryc eZdZddZdZdZy)%test_agg_filter..OffsetFilterc||_yN)offsets)rir~s r*__init__z.test_agg_filter..OffsetFilter.__init__xs "DLr,cJtt|jdz |zS)NH)r_r^r~rhs r*rkz-test_agg_filter..OffsetFilter.get_pad{s s4<<(2-34 4r,c|j\}}tj|t|dz |zd}tj|t|dz |z d}|S)Nrr)axisr)r~r?rollr_)rirnrjoxoya1a2s r*roz3test_agg_filter..OffsetFilter.process_image~sU\\FBSb3%7a@Bc"r'C-00q9BIr,N)rrvrwrxrrkrorgr,r* OffsetFilterr{vs # 5 r,rc*eZdZdZddZdZfdZy)'test_agg_filter..GaussianFilterzSimple Gaussian filter.c.||_||_||_yr})rbalphacolor)rirbrrs r*rz0test_agg_filter..GaussianFilter.__init__sDJDJDJr,c>t|jdzdz |zSNrr)r_rbrhs r*rkz/test_agg_filter..GaussianFilter.get_padstzz!|b(3./ /r,ctj|}|j|ddddddf<|dddddf|jz|jdz |z|dddddf<|Sr)r? empty_likerrrb)rirnrjrtrcs r*roz5test_agg_filter..GaussianFilter.process_imagesk j1I"&**IaBQBh !)*Q1W*= *J*.**r/C*?"AIaAg  r,N)?rrr)rvrwrx__doc__rrkro)rcsr*GaussianFilterrs%   0 r,rc(eZdZdfd ZdZdZy))test_agg_filter..DropShadowFilterc>||||_||_yr}) gauss_filter offset_filter)rirbrrr~rrs r*rz2test_agg_filter..DropShadowFilter.__init__s! .ueU CD !-g!6D r,c~t|jj||jj|Sr})r^rrkrrhs r*rkz1test_agg_filter..DropShadowFilter.get_pads6t((005))11#68 8r,cv|jj||}|jj||}|Sr})rror)rirnrjt1t2s r*roz7test_agg_filter..DropShadowFilter.process_images7""00SAB##11"c:BIr,N)g333333?rrr)rrsr*DropShadowFilterrs 7 8 r,r)皙?r?)rrrzbo-brZr.r/zLine 1)mecmfclwmewmslabel)rg?gffffff?zro-rg@grL)rWr[unitsrTrrF)r)r1r2rK get_xdata get_ydata update_from mtransforms offset_copy get_transform set_transform set_zorder get_zorderset_agg_filterset_rasterizedr5set_ylimxaxis set_visibleyaxis)ryrr(r8line1line2gausslinexxyyshadow transformrrr\rcs @@@@r*test_agg_filterrWs- ) ) z $ : llnGCWW_ou#!rKFE WW_ou#!rKFE Q E$^^  ^^ ''"b/4  ++    #HF Y' $//+c12e$d##$&KKBKKBHHHHr,ctjd}tj}t j t 5|j|dddy#1swYyxYw)N)i,i)figsize)r1figurer"r#pytestraises ValueErrorr$)r(r6s r*test_too_large_imagersH **\ *C ::rjrj)rr)r1rKr"r#r$ropeninfor)rss r* test_jpeg_dpirsPHHY " **,CKKEs+ CB 775>Z '' 'r,c ddlm}tj}|}|j ddt j j|dd|itj|}|jddk(sJy)Nr)PngInfoSoftwaretestr<pnginfor> pil_kwargs) PIL.PngImagePluginrr"r#add_textr1rr$rrr)rr)rrss r*test_pil_kwargs_pngrsk* **,CiG Z(JJLU 77KL CB 77: & (( (r,cZtj}ddi}tjj |d|t j |}|jjDcic]#\}}tj|j|%}}}|ddk(sJycc}}w)N descriptionz test imagetiffrImageDescription) r"r#r1rr$rrtag_v2itemsrTAGS_V2name)r)rrskvtagss r*test_pil_kwargs_tiffrs **,C.JJJLV C CB46IIOO4E FDAqH  Q  $ $a ' FD F " #| 33 3 Gs1(B'webpzWebP support not available)reasonctjgdgdtj}ddi}tj|d|t |dk(sJtj}ddi}tj|d|t |dk(sJ|j j|j jkDsJy)Nrrqualityrrrd)r1rKr"r#r$len getbuffernbytes) buf_smallpil_kwargs_low buf_largepil_kwargs_highs r*test_pil_kwargs_webprsHHY " I^NKK &^D ~ ! ## # I #&OKK &_E  1 $$ $    ' ')*=*=*?*F*F FF Fr,ctjgdgdtj}tj|ddt j |}|jdk(sJy)NrrrT)r> transparentRGBA)r1rKr"r#r$rrrRrs r*test_webp_alphar sJHHY " **,CKKF5 CB 77f  r,ctj\}}|jdgdgjt ddgt j t5|jjdddy#1swYyxYw)Nr)rr)rHr) r1r2scatter set_pathsrrr TypeErrorrr)r(r8s r*(test_draw_path_collection_error_handlingr sgllnGCJJsQC""4(8#9: y ! s BB cd}d}d|z}d|z}tjd||}tj||z}d|ddd<ttj||fj }d|_t|||}|j}|jd|jd|jd tjtd 5|j||t!ddd|jdtjtd 5|j||t!d dddt#ddi5tjtd 5|j||t!ddddddt#ddi5tjtd 5|j||t!ddddddt#ddi5tjtd 5|j||t!ddddddd|_tjtd 5|j||t!dddy#1swYxYw#1swY]xYw#1swYxYw#1swY"xYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw)NrGir.rrHrr/zcannot split hatched path)matchzcannot split filled path)rrrrz Please seti@Bz Please reducei_Fzshould_simplify is False)r?linspacerJrvstackTsimplify_thresholdr new_gc set_linewidthset_foreground set_hatchrr OverflowError draw_pathrr should_simplify) NrjrZhrWr[pathragcs r*test_chunksize_failsrs A C #A #A Aq!A  QA AccF  1a&!## $DD Q3 B BQcLL },G H4 R0234LL },F G? R02I>? )1- .8 ]]= = 8 LLT#4#6 7 88 )95 68 ]]= @ 8 LLT#4#6 7 88 )62 38 ]]= @ 8 LLT#4#6 7 88!D },F G4 R02344/44??  8 888  8 888  8 888 44s"J2J*$KJ7K9KK1KK5*K)K58LJ'*J47K <KKK KK&)K2 .K55K>L ctj}|jdjgdgdt j dg|j jy)N3d) projectionrr) linewidth) path_effects)r1r add_subplotrrStrokerr)r(s r*test_non_tuple_rgbafacer'OsO **,COOtO$,,9K,>,>,K+L-NJJOOr,)2r"numpyr? numpy.testingrPILrrrr matplotlibrrr r1r rr r matplotlib.backends.backend_aggr matplotlib.figurermatplotlib.imagermatplotlib.pathrmatplotlib.testing.decoratorsrmatplotlib.transformsrr+r:rErMrrrmarkbackendrrrskipifcheckrrr rr'rgr,r*r6s$ 3)) 8$# :3)>  #$#$$7n 8n b U(()4v..7ST GU Gv..7STU24jr,