rL iUddlZddlmZmZddlZddlmZddlmZddl Z ddl Z ddl Z ddl m Z ddlZddlZddlmZddlZddlZddlmZddlmZddlZddlZddlZdd lmZmZddlmZddl m!Z"dd l#m$Z$dd l%m&Z&dd l'm(Z(dd l)m*Z*ddl+m,Z-ddl.m/Z0ddl1m2Z3ddl4m5Z6ddl7m8Z8ddl9m:Z:ddl;mm?Z@ddlAmBZCddlDmEZFddlGmHZIddlJmKZKmLZLmMZMddlNmOZOmPZPmQZQddlRmSZSePdgdZTdZUdZVePdgdZWePdgdZXePdgdZYdZZePdgdZ[ePdgdZ\ePdgdZ]dZ^ePdgd Z_eOe`d!d"Dcgc] }d#|d$d% c}ejd&k(rdnd'(d)Zbd*Zcd+ZdeOd,gd-Zed.Zfejjd/d0d1Ziejjd/d0ePdgd23d4ZjeOd5gejd&k(rdnd6(d7Zkd8Zld9Zmd:Znd;ZoePdgd<ZpeOd=gd>?d@ZqejjdAdBZtejjdAdCZuejjdAdDZvePdgdEZweOdFgd>dGHdIZxeOdJgd>dGHdKZydLZzdMZ{dNZ|eOdOgd>?dPZ}eOdQgd>?dRZ~dSZdTZdUZdVZeOdWgdXdYiZd[Zd\ZePdgd]Zd^ZeOd_d_gd`ZeOdagdGbdcZePdgddZdeZeOdfgdgd>dGgdhZeOdigdjZeOdkgdl(dmZeOdndngd>?doZdpZdqZeOdrgd>?dsZdtZeOdugdGbdvZdwZeOdxgdGd>ydzZd{ZePdgd|Zd}ZeOd~gdZejjdAejjdgdePdgdZeOddgd>dGHdZeOdgdGejd&k(rdnddZdZeOdgd>?dZejjdej>dddfej@dddlej>ddfej@dddldej>dfggddZejjdej>dddfej@dddlej>ddfej@dddldej>dfggddZeOdgd>ejd&k(rdnddZeOdgdGd>ydZeOdgd>?dZeOdgdZeOdgd>?dZdZeOdgd>?dZeOdgdgdZeOdgddgd>dZejjdddgePdgdZePdgdZeOdgdGbdZeOdgdGbdZdZdZdZePdgdZePdgdZdZdZejjddd>gePdgdZeOdgejd&k(rdndl(dZeOdgd>dAHdÄZeOdgd>?dńZdƄZeOdgd>?dȄZeOdgd>dʬd˄ZeOdgd>dͬd΄ZeOdgd>?dЄZeOdgd>?d҄ZeOdgdAd>ydԄZeOdgd>?dքZeOdgd>?d؄ZeOddgdڄZdۄZd܄ZeOdgdބZeOdgdZePdgdZePdgdZePdgdZePdgdZdZdZeOdgdZdZdZdZdZdZdZdZejjdAePdgdZejjddd!ddgdfgdgdgdgddfgdgdgdgddfgdgddgddfgdZdZdZeOdgd>?dZePdgdZܐdZeOdgd>?dZސdZeOdgd>?dZeOdgd>?dZeOdgd Zd Zd Zejjd ejBjd dggddZejjdgd!fggd!fgggdfgdZejjddejdjjfdejjPjfdejdjjfgdZdZePdgdZePdgdZePdgdZePdgdZdZdZdZd Zd!ZeOd"gd>?d#ZeOd$gd%ZePdgd&Zd'ZeOd(gd>dGHd)ZeOd*gdGejd&k(rdnd+d,ZeOd-d-gd>dGHd.ZeOd/gd>dGHd0Zd1ZGd2d3Zddd4d5Zed6d7Zejjd8eed9ejgd:g;fed<=ed<ejgd>g;fed<d9;ed<ejgd>g;fed9?ed9ejgd:g;fed9d@g?ed9d@gejgd:gdAg;fgdBZ[[ejjdCedfed9=dfed<4d?daZePdgdbZdcZiddifdeZeOdfgdXdgidAhdiZeOdjgdXdgidAhdkZeOdlgdXdgidAhdmZeOdngdXdgidAhdoZeOdpgd>dXdgidAdqrdsZeOdtgdXdgidAdqudvZeOdwgd>dXdgidAxdyZeOdzgd>dXd{idAxd|ZeOd}gd>dXdgidAxd~ZeOdgd>dXdgidAxdZeOdgd>dXdgidAxdZeOdgd>dXdgidAxdZ eOdgd>dXdgidAxdZ!eOdgd>dXdgidAxdZ"ePdgdZ#eOdgd>dXdgidAxdZ$eOdgd>dXdgidAxdZ%eOdgd>dXdgidAxdZ&eOdgd>dXdgidAxdZ'eOdgd>dXdgidAxdZ(eOdgd>dXdgidAxdZ)eOdgd>dXdgidAxdZ*eOdgd>dXdgidAxdZ+eOdgd>dXdgidAxdZ,dZ-dZ.eOdgdXdgidAhdZ/eOdgdXdgidAhdZ0dZ1eOddgddAdZ2ePdgdZ3eOdgdXdgidAhdZ4eOdgd>dAHdZ5eOdgd>dXdgidAxdZ6eOddgdAbdZ7dZ8eOdgdXd{id>d!dAdZ9eOdgd>dXdgidAxdZ:eOdgd>dXdgidAxdZ;dZ<dZ=dZ>dZ?eOdgd>dXdgidAxdZ@eOddgdZAeOdgd„ZBeOdgdĄZCeOdgdƄZDeOdgdȄZEeOdgdʄZFeOdgd̄ZGeOdgd΄ZHeOdgdЄZIeOdgd҄ZJeOdgdԄZKeOdgdքZLeOdgd؄ZMeOdgdڄZNeOdgd>dGHd܄ZOd݄ZPdބZQd߄ZRdZSePdgdZTePdgdZUdZVdZWdZXeOgddZYeOdgd>?dZZdZ[ePdgdZ\dZ]eOdgdZ^dZ_dZ`dZaePdgdZbdZcdZddZeePdgdZfejjdgdejgdd!gdZgePdgdZhePdZieOddgdZjeOdgdZkeOdgd>?dZleOdgdZmeOdgdZneOdgdGd>ydZodZpd Zqd ZreOd gdGd>yd ZseOd gdZteOdgdZueOdgdZveOdgd>?dZwdZxdZydZzdZ{eOdgdZ|ejjddgdidgdidgd id!gd"id#gd$id%gdifePdgd&Z}d'Z~d(Zejjd)dd<d*d@d+d*d@fdd<d*d@d+d,d@fdd<d@d-d<d@fdd<d@d-d.d@fdd<d*d/d*d0fdd<d*d/d,d?d>ZeOd?gd>?d@ZeOdAgd>?dBZdCZdDZeOdEgd>?dFZeOdGdGgd>?dHZeOdIgd>?dJZejjdKgdLdMZdNZeOdOgd>?dPZdQZejjdRgggdd!ggdd!ggggejjdSgdTdUZePdgdVZeOdWgd>?dXZeOdYgejd&k(rdndZ(d[ZeOd\gd>?d]ZeOd^d_gejd&k(rdnd`(daZePdgdbZePdgdcZePdgddZePdgdeZdfZeOgdgdgdhZdiZeOgdjdgdkZdlZejjdRd!ddej@dmgej,jCgdndogePdgdpZeOdqgdgdGrdsZeOdtdtgd>dudvZeOdwgd>?dxZdyZeOgdzd>d{dA|d}ZeOgd~d>d{dA|dZeOgdd>d{dA|dZdZePdgdZdZeOgdd>ddZeOgdd>?dZdZePdgdZeOdgd>ejd&k(rdnddZeOddgd>?dZejjdgddZdZdZePdgdZejjdGdZdZejjde=jre=jtdge=jve=jxdggdZdZdZdZdZdZejjdeÐdidfeĐdidfed!dgfidfeeūddidffdZƐdZejjd/d0dZȐdZɐdZeOdgd(dZeOgddgdGddZeOdgdGddZeOdgdGddZeOdgdGddZeOdgdGddZeOdgdGd6dZeOdgd(dZeOdgdGdd„ZӐdÄZԐdĄZՐdńZ֐dƄZאdDŽZؐdȄZePdgdɄZePdgdʄZeOdgejd&k(rdnd̬(d̈́Zܐd΄ZePdgdτZސdЄZߐdфZd҄ZdӄZeOdgdՄZdքZdׄZeOdgdXdiZdڄZdۄZd܄Zd݄ZejjdeĐdidfeĐdidfeeūddidfeeūd*didfeÐdd!d!d0dfeÐddd!idfeÐdidffdZdZdZdZdZdZdZdZdZeOdgdXdgiZdZeOdgdXdgiZdZdZdZdZdZejjddejjfdejjfe`dme`dofejjfgdgdfejjfejjdejjdfejjfgejjdRej@djdejjddodgdZdZdZdZdZdZdZejjdedZeOdgd>?dZdZ d Z ejjd d>dgd Z eOd gd>dld Z eOdgd>dGejd&k(rdnddZ ejjdAdZejdd*gdZejgddZdZdZdZdZejjdAdZejjdAdZdZdZdZd Zd!Zd"Zd#Zd$Zd%Z d&Z!d'Z"d(Z#d)Z$d*Z%d+Z&eOd,gd-(d.Z'eOd/gd0Z(eOd1gd-(d2Z)eOd3gd>?d4Z*d5Z+d6Z,d7Z-d8Z.ejjd9gd:gd;d<Z/d=Z0d>Z1d?Z2d@Z3dAZ4dBZ5dCZ6dDZ7dEZ8ejjdAdFZ9dGZ:dHZ;dIZd]Z?ejjd^d_d`gejjdad_d`gdbZ@dcZAddZBdeZCePdgdfZDePdgdgZEdhZFdiZGdjZHeOdkgd>dGHdlZIdmZJdnZKejjdodd>gejjdpdd>gdqZLdrZMdsZNdtZOduZPdvZQdwZReOdxgdGd>ejd&k(rdnd̐ydzZSGd{d|eFjZUeOd}gdGejd&k(rdnd~dZVdZWdZXdZYdZZdZ[eOdgd>dGHdZ\dZ]dZ^dZ_dZ`dZadZbePdgdZcdZddZedZfdZgdZhdZidZjdZkdZldZmdZndZodZpdZqdZrdZsdZtejjdd0ejjdddZuePdgdZvejjdAdZwdZxdZydZzdZ{ejjde-jDcgc]}||c}gdzejjdAdZ}dZ~dZePdgdZePdgdZdZejjdgddZdZdZdZdZdZdZdZeOdgdZdZdZejjddddjgd„ZdÄZdĄZdńZdƄZdDŽZdȄZejjdAdɄZdʄZd˄Zejjd̐dͫejjdRdde`digdτZdЄZdфZd҄ZdӄZdԄZdՄZdքZdׄZePdgd؄ZeOdgdGbdڄZdۄZd܄Zd݄ZdބZeOdgd>dGejd&k(rdnd~dZejjdAdZePdgdZdZdZdZdZdZeOdgdAbdZePdgejjdd0dZejjeejfdddk(xrejfjhdk7ddZdZeSePdgdZePdgdZePdgdZeOdgejd&k(rdnd(dZdZdZePdgdZdZdZycc}wcc}w(N) namedtupledeque)Decimal)partial)product)SimpleNamespace)ma)cycler) rc_context patheffects)Figure)Axes)Line2D)PathCollection) HammerAxes) PolarAxes)assert_allcloseassert_array_equalassert_array_almost_equal)image_comparisoncheck_figures_equalremove_ticks_and_titles) needs_usetexpng extensionscF|j}|jdyNF)subplots set_visiblefig_testfig_refaxs `/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/tests/test_axes.pytest_invisible_axesr&5s    BNN5ctj\}}|jd|jd|j dk(sJ|j dk(sJy)Nzx labelzy label)pltr set_xlabel set_ylabel get_xlabel get_ylabelfigr$s r%test_get_labelsr0;sQllnGCMM)MM) ==?i '' ' ==?i '' 'r'ctj\}}|jd|jd|j d|j dt |dk(sJy)NlabeltitlexyzH)r)r set_label set_titler*r+reprr.s r% test_reprr9Cs`llnGCLLLLMM#MM# 8 L MM Mr'c|j}|jddgddgddgd}|j|jdd|j dd |j |}|j d d|j}|jddgddgddgd}|j|jddd |j ddd |j |}|j d dd y) Nscattercr2Y LabeltoplocX LabelrightZ Labelr5har4rHrr=legendr+r*colorbarr6r"r#r$sccbars r%test_label_loc_verticalrPNs    B QFQFq!fI >BIIKMM)M'MM)M)   R DNN9%N(    B QFQFq!fI >BIIKMM)qWM-MM)qWM-   B DNN9gN.r'c&|j}|jddgddgddgd}|j|jdd|j dd |j |d }|j d d |j}|jddgddgddgd}|j|jdd d |j dd d |j |d }|j d d d y)Nr;r<r=r>r@bottomrBrDleft horizontal orientationrFrrGrIrJrMs r%test_label_loc_horizontalrWas    B QFQFq!fI >BIIKMM)M*MM)M(   R\  :DNN9&N)    B QFQFq!fI >BIIKMM)qVM,MM)qVM,   BL  9DNN9fN-r'cttjddd5|j}|jddgddgddgd}|j |j d|j d |j|d }|jd ddd|j}|jddgddgddgd}|j |j ddd |j d dd|j|d }|jd ddy#1swYxYw)NrErA)zxaxis.labellocationzyaxis.labellocationr;r<r=r>r@rDrTrUrFrGrI) matplotlibr rr=rKr+r*rLr6rMs r%test_label_loc_rcrZts'   w7< > ?"     ZZAA1a& Z B  i  i    > y!"    B QFQFq!fI >BIIKMM)qWM-MM)qWM-   BL  9DNN9gN.!""s BD..D7cNtj\}}|jdd|jdd|jjj dk(sJ|jdd|jjj dk(sJ|jdd|jjj dk(sJ|j dd|j dd|jjj dk(sJ|j dd|jjj dk(sJ|j dd|jjj dk(sJy)Nz Test labelrSrBcenterrErArR)r)rr*xaxisr2get_horizontalalignmentr+yaxisr.s r%test_label_shiftr`sOllnGCMM,FM+MM,HM- 88>> 1 1 3x ?? ?MM,GM, 88>> 1 1 3w >> >MM,HM- 88>> 1 1 3x ?? ?MM,EM*MM,HM- 88>> 1 1 3x ?? ?MM,HM- 88>> 1 1 3v == =MM,HM- 88>> 1 1 3x ?? ?r'ctjjdd}tjjdd|j }|dz }|j }|j |||j }tj||dtj||z }tj| |dz}||dz |z ||z}|j|dg||jdddy) N!N,rr;maxlagsfullmoder5xminxmax) nprandomseednormalcumsumracorr correlatedotarangevlinesaxhline r"r#Nxr4reax_testax_refnorm_auto_corrlagss r% test_acorrr}sIINN8 B Ar"))+AdG!G MM!WM%    F\\!QV4RVVAq\AN 99gXwqy )D#BqDLG 2 3 33 3 3s (A00A9 cltjjdtjj dd}|j j||j }|j||jj|jjdy)Nmpl20rr) mplstyleuserlrmr add_subplotmatshowrr]rr)r"r#rrzs r% test_matshowrsyIIMM' r2A ""1%  "F MM! LL LL##F+r'r;formatter_ticker_03dz.pngx86_64gX9v?)tolcddlmcm}|jdtj d<t dDcgc]}||jz}}t dDcgc]}d|zdz |jz}}t dDcgc]}d|zdz |jz}}tjj}|jd tjj}|jd |j||d d tjj}|jd |j||d d |jd tjj}|j||d d |j||dd |jdtjj}|j||d d |j||dd |jd|jycc}wcc}wcc}w)Nrzlines.markeredgewidthr????z x-label 001bluesec)colorxunitsz x-label 003greenhourz x-label 004z x-label 005)matplotlib.testing.jpl_unitstesting jpl_unitsregisterrYrcParamsrangerkmr)figurerr*rautoscale_view)unitsr4xdatar5ydata1ydata2r$s r%test_formatter_tickerrs10 NN46J/0#() ,QQuyy[ ,E ,.3Bi 8s1us{EHH$ 8F 8/4Ry 9!tAv|UXX% 9F 9    BMM-    BMM- GGE6G6    BMM- GGE6G6MM-    BGGE6G6GGE6G8MM-     BGGE6G6GGE6G8MM- 7 - 8 9sII  Icd}tjj}|jjsJ|jj sJ|j jsJ|j j sJ|jj||jjrJ|jj sJ|j jsJ|j j sJtj|}t|jjtjsJ|jjj|jk(sJy)Ncy)Nr4poss r% _formfuncz4test_funcformatter_auto_formatter.._formfuncsr') r)rrr]isDefault_majfmtisDefault_minfmtr_set_major_formattermticker FuncFormatter isinstanceget_major_formatterfunc)rr$targ_funcformatters r%!test_funcformatter_auto_formatterrs,    B 88 $ $$ $ 88 $ $$ $ 88 $ $$ $ 88 $ $$ $HH  +xx((( ( 88 $ $$ $ 88 $ $$ $ 88 $ $$ $ ..y9 bhh224++ -- - 88 ' ' ) . .2D2I2I II Ir'cd}tjj}|jjsJ|jj sJ|j jsJ|j j sJ|j j||jjsJ|jj sJ|j jsJ|j j rJtj|}t|j jtjsJ|j jj|jk(sJy)Nz {x}_{pos}) r)rrr]rrr_set_minor_formatterrStrMethodFormatterrget_minor_formatterfmt)formstrr$targ_strformatters r%&test_strmethodformatter_auto_formatterr3s*G    B 88 $ $$ $ 88 $ $$ $ 88 $ $$ $ 88 $ $$ $HH  ) 88 $ $$ $ 88 $ $$ $ 88 $ $$ $xx((( (227; bhh22400 22 2 88 ' ' ) - -1B1F1F FF Fr'z!twin_axis_locators_formatters.pngc8tjdddd}tjtj|zdz }t j |}t j gd}t j }|jddd}|jdd gddg|jj||jj||jjt jd |jjt jgd |j jt j"|j jt j gd |j jt jd |j jt jgd|j%|j'y)Nrr;T)numendpoint@皙?皙?333333?rdz%08.2lf)tricksmindjedi)#7Kz%05.2lf)r?3pr)rllinspacesinpir) FixedLocatorrrrr_set_major_locatorset_minor_locatorrFormatStrFormatterrFixedFormatterr] LinearLocatortwinytwinx)valslocsmajlminlr/ax1s r%"test_twin_axis_locators_formattersrLsr ;;q!T 2D 66"%%$,$ %D   D !D   O ,D **,C //!Q "CHHc3Z!Q II%II%II!!#"8"8"CDII!!#"4"46>#?@II 1 1 34II 0 01A BCII!!#"8"8"CDII!!#"4"45I"JKIIKIIKr'cBtj\}}|j}|j}tj|j j rJ|jj rJ|j|j|j j rJ|jj rJ|jj sJ|j j sJ|jj rJ|jj rJ|j j sJ|jj sJ|jj sJyN) r)rrr drawr] get_visiblepatchclar_)r/r$ax2ax3s r%test_twinx_clares4llnGC ((*C ))+CHHJyy$$&& &yy$$&& &GGIGGIyy$$&& &yy$$&& & 99 "" " 99 "" "yy$$&& &yy$$&& & 88   !! ! 88   !! ! 88   !! !r'twinr4r5c^|d}d|}ddg}ddg}t}|j}|j||t||jJt||}t||jJt||jt||jusJy)Naxisr01rb)r rrgetattrr)r axis_name twin_funcrr$r/rrs r%test_twin_unitsr(|s& Itf I c A c A (C ,,.CHHQN 3 " ( ( 44 4 !'#y ! #C 3 " ( ( 44 4 3 " ( (GC,C,I,I II Ir'RQ?)rrcrd|}d|d}tjdd}|jddd}t||}t||d|j |||jddd}t||dt||}|j ||dD]}|jdd|} t| |d| j ||t j j} |jt jj| d d gd dgd dgddgddgdd gdd gd d gg| j| jgd z| jd tjd tjd dt!|t!|y)Nrset_scaler;rr<logr;r<rnonezaxes.edgecoloraxes.linewidth projecting) transform facecolor edgecolor linewidthcapstyle)rlrtrr%rrYpathPath add_artistpatches PathPatchMOVETOLINETO transAxesrrr) r"r#rr' set_scaler4ryax_twinirzr9s r%test_twin_logscalerCstf ItfE"I !SA""1a+G)ggy)+GGGY& LLA""1a+GGGY&)ggy)+G LLA ($$Q1-" "5) Aq##    ( (q!fq!f!fq!f!fq!f!fq!f&kk4;;/!3 5 !** ,,'78,,'78% ) ' ((*H%G$r'ztwin_autoscale.pngg;On?ctjgd}d|z}tjgd}d|z}tj}|j ddd}|j ||dd tj |}|j ||d d |jdd|jddy)Nrrr;rrr;r<r<rrr;r;F) autoscalex_on autoscaley_onrrrlwr--rrKr)rlarrayr)radd_axesrrmargins)r4r5x2y2r/r$rs r%test_twinx_axis_scalesrSs A aA ) B RB **,C l%u MBGGAq2G& ))B-CHHRUqH!JJq!KK1r'ctj\}}|j}|jd|j}|j sJ|j rJ|j }|j d|j }|jsJ|jrJyr)r)rrset_autoscalex_onget_autoscalex_onr set_autoscaley_onget_autoscaley_on)r/r$ax_x_onax_x_offax_y_onax_y_offs r%#test_twin_inherit_autoscale_settingr]sllnGChhjGxxzH  $ $ && &))++ +hhjGxxzH  $ $ && &))++ ++r'cntjd}|j}|jrJ|j rJt j j d}|j||jrJ|j sJ|jt jddt jzd}|j|t j||jrJ|j rJ|j|j|tj|jrJ|j sJ|jD]}|jtj d}tj d|}|j"j%d|j sJ|j|t j||j|j rJ|j|j||j|t j||j|j sJtj&|y) Nr)rrr<rshareyT)r)rgcaxaxis_invertedyaxis_invertedrlrmrrrrrcos autoscaleaxesremovesubplotr_ set_invertedclose)r/r$imgr4ax0rs r%test_inverted_claros **Q-C B  "" "  "" " ))  : &CIIcN  "" "    FFH Aqw$AGGArvvay  "" "  "" "FFHIIcNMMO  "" "    hh  ++c C ++c# &CII4     HHQq GGI!!## #GGIJJsOHHQq GGI    IIcNr'c tjtd5G fddt}dddtjtd5G fddt}dddGdd}G fd d t}G fd d t}Gd d|}t }|||||fD])}d ||gd} sJd |j  r)Jy#1swYxYw#1swYxYw)NzOverriding `Axes.cla`matchceZdZfdZy)(test_subclass_clear_cla..ClaAxesc dyNTrselfcalleds r%rz,test_subclass_clear_cla..ClaAxes.clasr'N)__name__ __module__ __qualname__rrysr%ClaAxesrts r'r~c"eZdZfdZxZS)-test_subclass_clear_cla..ClaSuperAxesc&dt|yrv)superrrx __class__rys r%rz1test_subclass_clear_cla..ClaSuperAxes.cla s r')rzr{r|r __classcell__rrys@r% ClaSuperAxesrs   r'rc eZdZy)+test_subclass_clear_cla..SubClaAxesNrzr{r|rr'r% SubClaAxesr% r'rceZdZfdZy)*test_subclass_clear_cla..ClearAxesc dyrvrrws r%clearz0test_subclass_clear_cla..ClearAxes.clear)sFr'N)rzr{r|rr}sr% ClearAxesr(s r'rc"eZdZfdZxZS)/test_subclass_clear_cla..ClearSuperAxesc&dt|yrv)rrrs r%rz5test_subclass_clear_cla..ClearSuperAxes.clear.sF GMOr')rzr{r|rrrs@r%ClearSuperAxesr-s   r'rc eZdZy)-test_subclass_clear_cla..SubClearAxesNrrr'r% SubClearAxesr3rr'rFrG)rwarnsPendingDeprecationWarningrr r) r~rrrrrr/ axes_classr$rys @r%test_subclass_clear_clars /3 5 d  /3 5 4  W D   y  (C j .,@   \ * v  v CsC#C/#C,/C8cttjD]!}d|jvsd|jvr!Jy)Nrr)r__subclasses__r|__dict__)klasss r%!test_cla_not_redefined_internallyrDs<$$&/ %E,>,> >. .. /r'ctjddd5|j}|jddgddgddd|j}|jddgddg|j y#1swY@xYw)NT)zxtick.minor.visiblezytick.minor.visiblerr;)rYr rr minorticks_onr"r#ryrzs r% test_minorticks_on_rcParams_bothrLs   t7; = >%##% aVaV$%   F KKAA  %%s 'A??Bzautoscale_tiny_range.pngT remove_textctjdd\}}t|jD]&\}}dd|z z}|j ddgdd|zg(y)Nr<rirr;)r)r enumerateflatr)r/axsrBr$y1s r%test_autoscale_tiny_rangerWs[||Aq!HC388$%2 #'] AAF $%r'defaultcxtjdd\}}|jgd|jddd|jdddt |j dt |j d |jsJ|jsJ|jsJ|jd t |j dt |j d |jsJ|jsJ|jsJy) Nr;r;r<rr/Tr4F)enabler!tightr5)g333333ÿg333333 @)r@)r) r)rrrgrrrrVrXget_autoscale_onr.s r%test_autoscale_tightr`sll1a GCGGLLL3eL4LL3dL3BKKM=1BKKM:.    !! !   !! !    LLLBKKM=1BKKM:.   !! !   !! !    r'c"tjdt}tjddd\}\}}|j |||j |||jd|jdtj|d|df}t|j|t|j|t|j|t|j|d |dfy) Nrdtyper<r;Tsharex)rrr) rlrtfloatr)rloglogsemilogxrgrrrr)r4r/rrlimss r%test_autoscale_log_sharedrxs #U#All1a5OC#sJJq!LLAMMMMMMHHJ aD!B%=DCLLND)CLLND)CLLND)CLLNQqT1R5M2r'ctj\}}|jddgddggdt|j dt|j dd|_|jd d|jzz d d|jzzf}d d|jzz d d|jzzf}t|j |t|j |d |_|jt|j dt|j dy) Nrr;r<rrr)rFrrT) r)rrrrruse_sticky_edgesrg_xmargin_ymargin)r/r$rrs r%test_use_sticky_edgesrsllnGCII1v1vwI/BKKM;/BKKM;/BLLN 1r{{? "C!bkk/$9 :D 1r{{? "C!bkk/$9 :DBKKM4(BKKM4(BLLNBKKM;/BKKM;/r'c"tjdjdd}|jd}|jd|}|j ||jd}|jd|}|j |y)Nrrrr_r`r)rlrtrr pcolormesh)r"r#Zrnrs r%test_sticky_shared_axesrs " a#A   s #C   s3  /CNN1   c "C   c#  .CNN1r'zsticky_tolerance.pngr)rrcRtjdd\}}d}|jdjd|d|jdjd|d|jdjd| d|jdjd| d|jdj d| d |jdj d| d |jd j d|d |jd j d|d y) Nr<rrgffff&@)r4heightrRr;gffff@gffff&)r5widthrSgffffr)r)rrbarbarh)r/rrs r%test_sticky_tolerancers||Aq!HC EHHQKOOagO6HHQKOOagO6HHQKOOawO7HHQKOOawO7HHQKqX6HHQKqX6HHQKqH5HHQKqH5r'zsticky_tolerance_cf.pngcttj\}}ddgx}}ddgddgg}|j|||y)NgGZP@g`P@rr;r<r)r)rcontourf)r/r$r4r5datas r%test_sticky_tolerance_contourfrsBllnGC x  A FQF DKK1dr'ctjtd5tjdddy#1swYyxYw)Nz 0 were givenrq)rrrr)stemrr'r%test_nargs_stemrs. y 7  s :Actjtd5tj}|j dgdgddddy#1swYyxYw)Nz 3 were givenrqFirstSecondr)rrrr)rjrKr$s r%test_nargs_legendrsD y 7, [[] 7)hZ+,,, *AActjtd5tj}|j ddggdgdgdddy#1swYyxYw)Nz 2 were givenrqrr;rr<r;r<r)rrrr)rj pcolorfastrs r%test_nargs_pcolorfastrsN y 7@ [[] vv&I(>? @@@s /AA offset_pointsc.tjddd}tjdtjz|z}t j }|j ddd}|j||d d \}|jd d dddy)N@{Gz?rF)rrr) autoscale_onrrrpurplerKrz local maxrr;rrrz offset points)xyxycoordsxytext textcoords) rlrtrfrr)rrrannotate)tsr/r$lines r%test_basic_annotaters #sD!A s255y1}A **,C e' HB GGAqQhG /EDKK /;r'zarrow_simple.pngcd}d}d}t|||}tjdd\}}tt |j |D]\}\}}|j dd|jdd|\}}}dtjz|zdz } |jddtj| tj| | d z |||| d z | d z y) N)TF)rfrSrErr/r< rrr)rlength_includes_headshapehead_starts_at_zero head_width head_length) rr)rrziprset_xlimset_ylimrlrarrowrrf) rrrkwargsr/rrBr$kwargthetas r%test_arrow_simplers) %E' )52E FF||Aq!HC#C&$9: );B B B=B: u&9BEE A " Arvve}bffUmSy&:%8!BJ"RZ  ) )r'c^tj\}}|jdddddy)Nr)r)r)rr_r$s r%test_arrow_emptyr  s' LLNEArHHQ1aQH'r'ctj\}}|jdddd|jdk(sJ|j dk(sJy)Nr;)皙?皙@)r)rrrrr s r%test_arrow_in_viewrsK LLNEArHHQ1a ;;=J && & ;;=J && &r'ctj\}}|jddd}|jJ|jdddi}|jJy)Nfoorr<r)r)r arrowprops)r)rr arrow_patch)r/r$anns r%test_annotate_default_arrowrs[llnGC ++eVF+ 3C ?? "" " ++eVFr+ BC ?? && &r'ctj\}}tj|jj }tjt jj }t|jt|jk(sJt|j|jD] \}}||k(r Jy)z?Check that the signature of Axes.annotate() matches Annotation.N) r)rinspect signaturer parametersmtext Annotationlistkeysrvalues)r/r$annotate_paramsannotation_paramsp1p2s r%test_annotate_signaturer% sllnGC'' 4??O))%*:*:;FF $$& '40A0F0F0H+I II Io,,.0A0H0H0JKBRxxr'zfill_units.pngdpi<) savefig_kwargcddlmcm}|j|j dt j ddd}d|j z}|jdd}tjd d d }tj|}tjd d \}\\}}\} } |j|g|gddgd} |j|| gdd|j|g|gdd|j||||z||zggdd| j|g|gdd| j|| d|j zd|j zd|j zd|j zgd| j|g|gdd| j||||z||zgd|j zd|j zd|j zd|j zgd|j!y)NrETr/dt$@g@z 2009-04-27z 2009-04-29 datetime64[D]rr<degred)yunitsrrG)rrgV@rr$Zrr4)rrrrEpochdatetimer1Durationrlrtmdatesdate2numr)rrfill autofmt_xdate) rrvaluedayr.dtnr/rrrax4inds r%test_fill_unitsrB*s00 NN  DX..tQ; B;;Cctjdjd}tjdddjd}|jd}|dj ||dj ||jd}|dj dd |dj |j y) Nrr;rrrrr;r<r;gQQ?)r rr)rlrtrrrrravel)r"r#rowcolrs r%test_shaped_datarts ))B-   (C ))AsB  ' ' 0C   A CFKKFKK   1 CFJJKfJ-FKK r'ctjddgdtfdtfg}tjj d}|dj dd||d j ddd |y) Nr;r;r<r<rtwosrr<rr_r;rH)rlrNrr)rrr)ptsrs r%test_structured_datarzsj ((FF#VUOfe_+M NC **,   "CFKKSK)FKK#K.r' aitoff_proj)rrrctjtj tjd}tjtj dz tjdz d}tj||\}}t j dt d\}}|j|j|j|jdd y ) z^ Test aitoff projection ref.: https://github.com/matplotlib/matplotlib/pull/14451 r<)@aitoff projection)figsize subplot_kwrr/)rN) rlrrmeshgridr)rdictgridrr)r4r5XYr/r$s r%test_aitoff_projrs RUUFBEE2&A RUUFQJ 2.A ;;q! DAqll8&*h&?AGCGGIGGAFFAFFCAG.r'zaxvspan_epoch.pngcddlmcm}|j|j dt j ddd}|j dt j ddd}|j d|jjd}tj}|j||d d |j|d |zz |d |zzy Nrr*r+r;r-rr?)r4alphar) rrrrr6r7r8r>convertr)rcaxvspanrrt0tfr.r$s r%test_axvspan_epochr00 NN Th//a< =B Th//a< =B eii//6 7B BJJr2tJ4KKSV R#b&[)r'zaxhspan_epoch.png{Gz?cddlmcm}|j|j dt j ddd}|j dt j ddd}|j d|jjd}tj}|j||d d |j|d |zz |d |zzyr) rrrrr6r7r8r>rr)rcaxhspanrrs r%test_axhspan_epochrrr'zhexbin_extent.pngctj\}}tjddz j d}|\}}|j ||gd||d}tj\}}|j ddgd|y) N)r<rr333333?ffffff?extentrr4r5)rr)r)rrlrtrhexbinr/r$rr4r5s r%test_hexbin_extentrs|llnGC IIdOd " + +I 6D DAqIIa+I, DllnGCIIc3/dI;r'ctj\}}tjddz j d}|\}}t j td5|j||ddddt j td5|j||ddddy#1swYBxYw#1swYyxYw) Nr})r<rz)In extent, xmax must be greater than xminrqr;rrr;rz)In extent, ymax must be greater than ymin)rr;r;r) r)rrlrtrrr ValueErrorrrs r%test_hexbin_bad_extentsrsllnGC IIbMB  ' ' 0D DAq z)T U- !Q| ,- z)T U- !Q| ,------sB5C5B>C ctj\}}|jtjj dtjj dddd}t |tjjsJt |jtjjsJ|jjdk(sJ|jjdk(sJy)Nrr-r<rnormvminvmax)r)rrrlrmrrrY collectionsPolyCollectionrcolorsLogNormrr)r/r$hexs r%test_hexbin_string_normrsllnGC ))BIINN2& r(:QUV) WC c:11@@ AA A chh 1 1 9 9 :: : 88==A   88==A  r'zhexbin_empty.pngctj\}}|jgg|jggd|jgggtj|jggtj dy)Nr-bins)Creduce_C_functionr)r)rrrlmaxrtr.s r%test_hexbin_emptyrsgllnGCIIb"IIb"5I!IIb"bffI5IIb"299R=I)r'ctj\}}tjddz j d}|\}}|j ||gdd}t dd}|j|d sJy) Nr<rrr)rpicker,rr)r)rrlrtrrrcontains)r/r$rr4r5hb mouse_events r%test_hexbin_pickablersqllnGC IIcNS ) )( 3D DAq 1a 0 tjddd}tj\}}|j ||ddd}tj j |jtjddgddgddgddgddgddgddgd dggy) Nr;rr-r<)xscalergridsizerrr) rl geomspacer)rrrassert_almost_equalrrN)r4r/r$rs r%test_hexbin_log_offsetsr(s QS!AllnGC !QuUQ ?AJJ""  VVVVVV1X1X   r'zhexbin_linear.pngrrcPtjjdd}tjj|}dd|zzdtjj|zz}t j \}}|j ||ddtjy) NrbrrrrrrT)rrr)rlrmrnrr)rrr)rr4r5r/r$s r%test_hexbin_linearr:sIINN8A !!!$A cAg bii77:::AllnGCIIaW "(r'ctjdjd\}}tj\}}|j ||ddd}|j dk(sJy)Nrrr-r<r)rrr)rlrtrr)rrget_clim)r4r5r/r$rs r%test_hexbin_log_climrGsY 99S> ! !( +DAqllnGC !QU 5A ::<8 ## #r'c Hgd}t|\}}dgt|z}gd}d}|j}|j} | j||||d| j d|j||dgt|zdd|||j dy) N)rrr)rr)rrr;)$rrr)rcrc)rrmincntrct|Sr)r)vs r%z>test_hexbin_mincnt_behavior_upon_C_parameter..ms CFr')rrrrr)rlenrr set_facecolor) r"r# datapointsrrrrrryrzs r%,test_hexbin_mincnt_behavior_upon_C_parameterrNsJ  DAq c!f A !FH!G    F MM 1   ! NN 1 #A,*  '"r'cftj\}}|j|jgdgd|j dk(sJ|j dk(sJtj tj\}}|j|jgdgd|j dk(sJ|j dk(sJtj\}}|jd|jdd |j d k(sJy) N)rr<r/)r;r<rr)r/rr)rr/)rrr-rr;)rr;) r)r invert_xaxisrrrrl invert_yaxis set_yscalerr.s r%test_inverted_limitsrusllnGCOOGGNM* ;;=G ## # ;;=G ## #IIKllnGCOOGGNM* ;;=G ## # ;;=G ## #llnGCMM%KKA ;;=G ## #r'nonfinite_limitsc^tjdtjd}tjd5tj|}dddtj |t |dz<tj\}}|j|y#1swYRxYw)Nrrignoredivider<) rlrteerrstater-nanrr)rrr4r5r/r$s r%test_nonfinite_limitsrsw "bddD!A H % FF1I66Ac!faiLllnGCGGAqM s B##B,plot_fun)r=r fill_betweenc tjddd}|j}|j}t||gg||fD])}t|||t t |d+y)Nz 2010-01-01z 2011-01-01r0rC0rI)rlrtrr%rr)rr"r#r4ryrzr$s r%test_limits_empty_datarsv , ODA!G    FGGXr2&<Has1vd;OPIIIa9I%r'cddgddgg}tj}tjtd5|j |t jddd d d d d y #1swYy xYw) 4Parameters vmin, vmax should error if norm is given.r;r<rr/LPassing a Normalize instance simultaneously with vmin/vmax is not supported.rqrrrrN)r)rhrrrrmcolors Normalize)rr$s r%test_imshow_norm_vminvmaxrsp Q!QA B z@ AF !'++C411 EFFFs *A++A4polycollection_joinstylec"tj\}}tjddgddgddgddgg}tj j |gd}|j||jdd|jddy)Nr;r<() linewidthsrr) r)rrlrNrrradd_collection set_xbound set_ybound)r/r$vertsr?s r%test_polycollection_joinstyler sllnGC HHq!fq!fq!fq!f5 6E &&w2&>AaMM!QMM!Qr'z x, y1, y2rwrrr<) 2d_x_input 2d_y1_input 2d_y2_input)idsctj\}}tjt5|j |||dddy#1swYyxYwr)r)rrrrrr4rrRr/r$s r%test_fill_between_inputr'sDllnGC z "# 2r"### AAz y, x1, x2) 2d_y_input 2d_x1_input 2d_x2_inputctj\}}tjt5|j |||dddy#1swYyxYwr)r)rrrr fill_betweenx)r5x1rQr/r$s r%test_fill_betweenx_inputr/sFllnGC z "$ B#$$$r(zfill_between_interpolate.pngg~jt?)rrc tjddd}tjdtjz|z}dtjdtjz|zz}t j ddd\}\}}|j ||||d |j|||||k\d d d |j|||||kddtjj|d}tjj|d<|j ||||d |j|||||k\dd|j|||||kddy)Nrr<r333333?r/r;TrblackrIwhite/)wherer4hatch interpolater2)r5r4r7rrr) rlrtrrr)rrrr masked_greatermasked)r4rrRr/rrs r%test_fill_between_interpolater:sP #q$A "%% B RVVAbeeGAI  Bll1a5OC#sHHQArH)QBbBh'!%'QBbBh%!%'   b# &B EELLBqEHHQArH)QBbBh'!%'QBbBh%!%'r'z'fill_between_interpolate_decreasing.pngc tjgd}tjgd}tjgd}tjd\}}|j ||d|j ||d|j |||||kdd d |j |||||kDd d d |j d d|jddy)N)gfffff@ii)g"@rcr)g@gffffff@gffffff@)rororztab:redkrT皙?r5r4r7rr2rr X)rlrNr)rrr-rr)rrprofr/r$s r%(test_fill_between_interpolate_decreasingrC(s "#A A 88O $Dll6*GCGGAq)GGD!SQ4tax%4sDQ4tax$$cCKK2KKSr'z fill_between_interpolate_nan.pngc tjd}tjddtjdddddddg }tjddddddddtjtjg }t j \}}|j ||d |j ||d |j|||||k\d d d|j|||||k\dd dy)Nrr~ rrr=r?r$rTrr?r2)rlrtasarrayrr)rrrr&s r%!test_fill_between_interpolate_nanrK=s " A QBFFB2r2q"= >B RQBBBFFBFFC DBllnGCGGArSGGGArSGOOAr2R2X $C1OOAr2R2X $C1r'z symlog.pdfctjgd}tjgd}tj\}}|j |||j d|j d|jddy)N)rr;r<r/rrorrF)i@Bi rrrrrrsymloglinearri)rlrNr)rrr set_xscalerrs r% test_symlogrPQsb +,A ;rr;)rrrjr}rh)rrjr})r)rrlrrrr`rkrlr colormaps resampledrtrListedColormapr add_patchmpatches Rectangler)rrrrnQyrvirrrr/rrrr@r$s r%test_pcolormesh_alphars',CLL"# A ;; D#q! D#qs# DAq B RVVAYB AA QUUWq !A -- " , ,R 0C 2 FRVVBIIbM222F1a4L  ! !& )D$'LLA$6!C !*3jsC3S   X'' sA)9!   NN2r1SbS#2#X;S!!-NN2r13c9QNONN2r1SbS#2#X;T6!NLNN2r141NEr'z dims,alphar)r/rc|j}tjdd|ftdz }|j ||j}|j |dddd| y) Nrrrr<).rgrayrr;)rrrr)rrlrrr)r"r#dimsrr$r?s r%test_pcolormesh_rgbarsa    B At E*Q.AMM!    BMM!F)&qqMFr'c$tjd}tjd}tj||\}}||z}|j}|j |d|j}|j |||dy)Nr/rcrri)rlrtrrr)r"r#r4r5rrrr$s r%test_pcolormesh_nearest_noargsrsy ! A ! A ;;q! DAq AA    BMM!YM'    BMM!Q9M-r'zpcolormesh_datetime_axis.pngc dtjd<tj}|jdddt jddd}t j td Dcgc]}|t j| zc}}t jd }t jt jd t jd \}}||z}tjd tj|dd |dd |dd dd ftjdtj|||t j|t jd d}t j|ddt jfd d}tjdtj|dd dd f|dd dd f|dd dd ftjdtj||||jD]9}|j!D]$} | j#d| j%d&;ycc}w)NFrr>\(\?333333?hspacerArRr;rdaysr}rrr!rEr)r)rrsubplots_adjustr7rlrNr timedeltartrrjrrepeatnewaxisget_axesget_xticklabelsset_ha set_rotation r/basedr4r5z1z2zr$r2s r%test_pcolormesh_datetime_axisrs',CLL"# **,CsS9   T1a (D U2YG$++33GHA " A [[2 " 6FB RAKKNN1Sb61Sb61SbS#2#X;/KKNN1a !BJJ-!,A !ArzzM"BQ/AKKNN1SbS#2#X;#2#ss( QssCRCx[9KKNN1alln#'') #E LL !   r " ##Hs/ I,zpcolor_datetime_axis.pngc tj}|jdddtjddd}t j t dDcgc]}|tj|zc}}t jd}t jt jd t jd \}}||z}tjd tj|dd |dd |dd dd ftjd tj|||t j|tjdd }t j|ddtjfdd}tjdtj|dd dd f|dd dd f|dd dd ftjdtj||||jD]9}|jD]$} | j!d| j#d&;ycc}w)Nr>rrrrr;rrr}rrrrrrrrEr)r)rrr7rlrNrrrtrrjrarrrrrrrs r%test_pcolor_datetime_axisrs **,CsS9   T1a (D U2YG$++33GHA " A [[2 " 6FB RAKKJJq"vq"vq"crc{+KKJJq!Q !BJJ-!,A !ArzzM"BQ/AKKJJq"crc{Acrc3B3hK3B385KKJJq!Qlln#'') #E LL !   r " ##Hs Ic  d}tjdd|}tjdd|dz}tj||\}}tj||dz }t j \}}t jt5|j|||dddt jt5|j|||jdddt jt5|j|||ddddfddddt jt5|j|||ddddfddddtj|d <t jt5|j|||ddddfdddtjd 5tjj||d k }dddt jt5|j|||ddddfdddgd }ddg}tj||\}}tj |j"}t j$t&d5|j|||ddddtjddd}tjddd}tj||\}}tj |j"}tj(j+dtj(j)|j"}tj(j)|j"} t j$t&d5} |j||z|| z|dt-| d k(sJ|j|d|zz|d| zz|dt-| dk(sJ dddy#1swYmxYw#1swY;xYw#1swYxYw#1swYxYw#1swYxYw#1swY[xYw#1swY*xYw#1swYxYw#1swYyxYw)NrrZrr<rrrhrirrinvalidmask)igrr;rrz.are not monotonically increasing or decreasingrqautor;rrb)rlrrr`r)rrrrrTrrrr rNzerosrrrJrmrnr) rr4r5rrrr r$noise_Xnoise_Yrecords r%test_pcolorargsrs A D#q!A D#qs#A ;;q! DAq AA LLNEAr y ! aA y !! aACC ! y !< aAcrc3B3hK ;< y !< aAcrc3B3hK ;< 66AaD z ") aAcrc3B3hK() X &) EEKKQK () z ") aAcrc3B3hK() A b A ;;q! DAq A kL N/ aAv ./ B1A B1A ;;q! DAq AIINN8iiqww'Giiqww'G k) *  -3 ai7Av >6{a a7 lAbjL!V D6{a   C!!<<<<))))))//   smP P" P/ P<Q %QQ#Q0.AQ=P"P,/P9<Q QQ #Q-0Q:=Rcntjd5tjddd}tjddd}tjj t |t |}t j\}}|j|||dddy#1swYyxYw)z Test that underflow errors don't crop up in pcolormesh. Probably a numpy bug (https://github.com/numpy/numpy/issues/25810). raise)underrrrrN) rlrrtrmrandnrr)rrr4r5rr/r$s r%test_pcolormesh_underflow_errorrSs 7 # IIaC  IIaC  IIOOCFCF +,,.R aA s B B++B4c<tjdjdd}tjgd|j}|j j dusJtjj||}tj|tjddd }tjddd }tj||\}}tjdtjz|ztjdtjz|zz}tj d t" }d |d <tj||j}|j j dusJtjj||}tj|||tjj||} tjj||} tj$| | |y) Nrr<rFTFFrrr;rrTr)rlrtr broadcast_torflags writeabler rNr)rrrrrrfrboolra) r4xmaskmasked_xr5rrrrmasked_Zmasked_Xmasked_Ys r%test_pcolorargs_with_read_onlyr`s~ ! Q"A OO0!'' :E ;; E )) )uu{{15{)HNN8 Aq"A Aq"A ;;q! DAq q255y1}q255y1} 55A 88Bd #DDH ??4 )D ::  5 (( (uu{{14{(HNN1a"uu{{14{(Huu{{14{(HJJx8,r'c|j}tjdd}tjdd}tjj dtjj dd}|j |||d|j}|dd tj|dz z}|dd tj|dz z}|j |||d y) Nrrrrbr<rorrirrrrlrtrmrnrrdiffr"r#r$r4r5rrQrRs r%test_pcolornearestrws    B !RA !QAIINN8 1AMM!Q6M*    B 3B"''!*q. B 3B"''!*q. BMM"b!YM/r'cz|j}tdDcgc]$}tjj|dz&c}}t j dd}tj jdtj jdd}|j|||d |j}tdDcgc]'}tjj|d zdz)}}|dd t j|dz z}|j|||d ycc}wcc}w) Nrirrrbr<rorrirrr) rrr7 fromtimestamprlrtrmrnrrrrs r%test_pcolornearestunitsrs    B? X\\&!QvfMN  6 233fQi? 6 233fQi?A 6 233fQi? 6 233fQi?A B UFE" UFE" R R)b.&)b.1  -r' arc_ellipsec d\}}d\}}d}tjtjd}|dz tj|z}|dz tj|z}tj|}tj tj|tj| gtj|tj|gg} tj | ||g\}}||z }||z }tj} | jdd} | j||d d d d d tj||f|||d dd } | j| | jdd} | j||d ddd tj||f|||d dd } | j| y)N)gRQ?gp= ף?)rrrrr_r)rryellowr;)rr4r5r6r}r<F)angler6r;r}r`equalr)rr4r5r})rlrrtrfrrNrsr)rrr;rrr)xcenterycenterrrrrr4r5rthetaRr/r$e1e2s r%test_arc_ellipsers!GWME6 E JJryy~ &E  RVVE]"A bffUm#A ZZ F  "&&.) (* +A 66!aV DAqLALA **,C V ,BGGAqx8 # w(%!QU1 FBLL W -BGGAqw'!GL w(%!QU1 FBLLr'ctj\}}tjd}|j gdgd||j gdgd||j gdgd|y)Nrrrr<r;rD)r/rr<)rr/r)r)rmmarkers MarkerStylerr=rK)fixr$ms r%test_marker_as_markerstyler sWllnGCS!AGGIyG+JJy)AJ.KK 9QK/r'z markevery.pngctjddd}tj|tj|dz dzz}t j \}}|j ||dd|j ||ddd |j ||d dd |j ||d dd |jy)Nrrrrrrr2rmark all markeveryr2r mark every 10+rr}mark every 5 starting at 10rlrrrr)rrrKrs r%test_markeveryrs Ar3A q BGGAbD3J''AllnGCGGAq#YG'GGAq#ZG8GGAq#?G;GGAq#0MGNIIKr'zmarkevery_line.pngg{Gzt?ctjddd}tj|tj|dz dzz}t j \}}|j ||dd|j ||ddd |j ||d dd |j ||d dd |jy)Nrrrrz-orrz-drrz-srz-+rrrrs r%test_markevery_liner s Ar3A q BGGAbD3J''AllnGCGGAq$iG(GGAq$$jG9GGAq$"OG<GGAq$'1NGOIIKr'zmarkevery_linear_scales.pngrTc dddgdddgtdddd d d d d g }d}tjjt ||zdz|}d}t j ddd|zz d|z}t j|dz|z}t|D]e\}}||z}||z} tj||| ftjdt|ztj||ddd|gy)Nr~rr~r|rFrrrrrrrrrrr?rr;)\(?rr<r markevery=%srrEr/lsmsr)slicerYgridspecGridSpecrrlrrrr)rjr3strr casescolsgsdeltar4r5rBcaserrrss r%test_markevery_linear_scalesr2s    Ar7 3Q  #s   &E D    % %c%jD&81& ?r'z markevery_linear_scales_nans.pngc 8dddgdddgtdddd d d d d g }d}tjjt ||zdz|}d}t j ddd|zz d|z}t j|dz|z}t jx|ddx|dd|ddt|D]e\}}||z}||z} tj||| ftjdt|ztj||ddd|gy)Nr~r r rrrrrrrrr r r;rrr<rrSFrrrEr/r)rrYrrrrlrrrrr)rjr3rrrs r%!test_markevery_linear_scales_nansr*s(    Ar7 3Q  #s   &E D    % %c%jD&81&@rH)rmewmecrrr<r$)rlrr)rrrr4r/r$s r%test_marker_edgesr1s Aq"AllnGCGGArvvay$4QCG8GGAcE266!9dtG<GGAcE266!9dtGs; BFFAs8aVC:3* r'z/bar_tick_label_multiple_old_label_alignment.pngcdtjd<tj}|j ddgddgddgdd gd y) Nr\zytick.alignmentr;r<r<rrrr$r=)rYrr)rcrrs r%*test_bar_tick_label_multiple_old_alignmentr@sL.6J)* BFFAs8aVC:3* r'c|j}gd}gd}|Dcgc] }t|c}}|Dcgc] }t|c}}|j||d|j}|j||dycc}wcc}w)Nrg @g333333@rrdrgffffff @g@r\r4)rrrr"r#r$x0y0r4r5s r%test_bar_decimal_centerrHs|    B B B  A  AFF1axF    BFF2rF" ! s BB c(|j}gd}gd}|Dcgc] }t|c}}|Dcgc] }t|c}}|j||gdd|j}|j||gddycc}wcc}w)NrBrC)rrr;r;r\rr4)rrrrEs r%test_barh_decimal_centerrKs    B B B  A  AGGAq)G:    BGGB+8G< ! s B Bcgd}gd}gd}|Dcgc] }t|}}|j}|j|||d|j}|j|||dycc}w)NrBrCrg333333?r;r<r\rr4)rrr)r"r#r4r5w0rBrgr$s r%test_bar_decimal_widthrPsqAA B  A    BFF1aqF)    BFF1arF* !A0cgd}gd}gd}|Dcgc] }t|}}|j}|j|||d|j}|j|||dycc}w)NrBrCrMr\rJ)rrr)r"r#r4r5h0rBrr$s r%test_barh_decimal_heightrTsqAA B  A    BGGAq(G+    BGGAq8G, !rQctj}|jddgddgddd}|D],}|jdk(sJ|j d k(r,Jy) Nr;r<r/rr0rHrrr5rrrrr;rrrr)rcr get_facecolor get_edgecolorr$rectsrects r%test_bar_color_none_alphar_sj B FFAq6Aq6FcF JE6!!#|333!!#~5556r'ctj}|jddgddgddd}|D],}|jdk(sJ|j d k(r,Jy) Nr;r<r/rrHr0rVrXrWrYr\s r%test_bar_edgecolor_none_alphara$sj B FFAq6Aq6C6F JE4!!#~555!!#|3334r'zbarh_tick_label.pngchtj}|jddgddgddgddgd y) Nr;r<r<rrrr$r\)rr5r4)r)rcrrs r%test_barh_tick_labelrc,s; BGGQHq!fc3ZS#J r'c tj\}}|jtjddddtjd|jtjddddtjdtjdtj\}}|j tjddddtjd |j tjddddtjdtjd tj\}}|j tjdddtjdddgt jdd gtjd |j tjdddtjdddgt jdd gd Dcgc]}tj|c} |jtjdddtjdfgd ycc}w)z>Smoketest that bar can handle width and height in delta units.r;rrhoursrr<)rOr)r)rrPrr.rr}N) r)rrr7rrrlrN broken_barhr/r$rs r%test_bar_timedeltarl4s llnGCFF8  T1a ("##!, .FF8  T1a ("""+##!, .llnGCGGH  dAq )1%%A. 0GGH  dAq )1%%A.##!, .llnGCGGX  tQ *H,=,=dAq,I J HHaX %%A. 0GGX  tQ *H,=,=dAq,I J HHaX 9?@AH&&Q/@ BNNX&&tQ2''a023AsJ ctjtjdtjdtjdg}tjtjdtjdtjdg}tj\}}|j gd||z |t |jjtjsJtj\}}|jgd||z | t |jjtjsJy ) z+test that tickers are correct for datetimesz 2012-01-01z 2012-02-01z 2012-01-15z 2012-02-07z 2012-02-13z 2012-02-12)rr;r)rrR)rrSN) rlrNrdr)rrrr_rr9AutoDateFormatterrr])startstopr/r$s r%test_bar_datetime_startrqNs HHbmmL12==3NmmL13 4E 88R]]<0"-- 2M]]<02 3DllnGCFF9T%ZF6 bhh224f6N6N OO OllnGCGGIT%ZeG4 bhh224f6N6N OO Or'ctjjdd}|jdd|j dj }t jt j||y)Nrr<z1/1/2000r;)years)periodsfreq positions) rlrmr date_range DateOffsetyearr)rboxplot)pdrrss r%test_boxplot_dates_pandasr}^s[ 99>>!Q D MM*"#"--a-*@  BBF$ JJLKK&r'ctjjdd}tjd\}}|dj |gdgd|dj |gdd |d j |gd |dj |d gd|d j |d d |dj |d |dj |gd|dj |d |dj |y)Nrrror)rrrr) capwidthswidthsr;rr<rrr/rrrcr~)rlrmrr)rr{)rr/rs r%test_boxplot_capwidthsrgs 99>>!Q D||AHCFNN4??NKFNN4?3N?FNN4?N3FNN43N?FNN43sN3FNN43N'FNN4N0FNN4N$FNN4r'cddlm}m}tj}|j d}t j dddg}t|dkr:|j|dt jd zt|dkr:tjd }tj||\}}t|dz t|dz f} tj| d| dz} | | _ ||j||| } |jj!|y#|wxYw) Nr)register_matplotlib_converters deregister_matplotlib_convertersor;rcrx)secondsr)pandas.plottingrrr)rrr7rappendrrlrtrrrcanvasr) r|rrr/r$timesy_vals time_axisy_axisrz_dataims r%test_pcolor_regressionrxs  **,C  B   tQ * +E e*q. U2Y!3!3C!@@A e*q.YYq\F E62Iv [1_c%j1n -E YYuQx%(* +FFL+&( ]]9ff 5 (*(*s >4D:: Ecj|jgdgdgdgdd}|j|gd|d<|ddgjdgj}|j}|d}|d}t j \}}|j||dd |j||d d y)N)rererer;r;r;r)rzmonthr>r=)rzrr>dater=rr\rNoranger/rJ) DataFrame to_datetimegroupbyrindexr)rrr)r|dfmonthlydatesforecastbaseliner/r$s r%test_bar_pandasrs #  B #; <=BvJ&'"#++VH599;G MMEwHwHllnGCFF5("HF5GGE88G2r'c|jgdgddgd}tj\}}|j|jd|j y)N)rrrrr>r)r4rrrrrh)rr)rrr4rr|rr/r$s r%test_bar_pandas_indexedrsH L<@%  'BllnGCFF244288F$r'c|j}|j}ddg}ddg}ddg}tdD] }|j||||d||"|j|||y) Nr;r<rr4rr)rr6r6)rrr)r"r#ryrzr4r5hatchesrBs r%test_bar_hatchesrs!G    F AA AACjG 1X= 1Q41T <= KK1GK$r')r4rr2expected_labelscontainer_labelr4 _nolegend_rr$r?)rr}rABr)rrrbars)rrrctj\}}|j|||}|Dcgc]}|j} }|| k(sJ|j|k(sJycc}w)Nr)r)rr get_label) r4rr2rrr r$ bar_containerr bar_labelss r%test_bar_labelsrsj LLNEArFF1e5F1M-:;c#--/;J; j (( (  " " $ 77 7>1u9a%i0 1DllnGCGGDu$G'r'cx|jdd}|jdd}tgdD]\}}|d|fjd|d|fjdd||d|fjdd||d|fjd|dd|fD]}|jddd| y) Nr<r)rstep stepfilledrr-r;histtypeT)r-r)rrrr)r"r#rrrBrr$s r%test_hist_log_2rs  A&Hq!$G !>? 7 8A!!%(AAq84AAq84A!!%(!Q$- 7B GGAqdXG 6 7 7r'cttjd\}}|djdgddggdd|djd|djgddd|djd|jj |dj |dj k(sJy)Nr<rr; barstackedrr-rrr;)r)rrrrrrr/rs r%test_hist_log_barstackedr s||AHCFKK!q!f q}||dz j}||j}|dd|ddkr>Jy) Nrbrrrsizerr;r)rrr<) rlrmrncliprorfloat16r)rrr get_corners)r rbcrHrleftrrights r%test_hist_float16r sIINN8 WW c-q!55;VBJJ5G  as+A 1B 1c"g +1Q3##%A""$Qx{fQil*** +r'zhist_step_empty.pngcRtj}|jgdy)Nrrrrs r%test_hist_step_emptyr" s BGGBG r'zhist_step_filled.pngctjjdtjjdd}d}ddiddiddiigdz}d gd zd gd zz}t j dd \}}t |||jD]E\}}}|j||f|dd ||j|d||jdG|dj} td| DsJy)Nrrrrr;TFr<rr/rnrowsncolsrstackedr4rRrRrc3^K|]%}|j|jk('ywr)rZr[).0rs r% z(test_hist_step_filled..9 s#G!q AOO$55Gs+-) rlrmrnrr)rrrrr7rr;all) r4n_binsrtypesr/rkg_typer$r;s r%test_hist_step_filledr) sIINN1 a A Ftnvuo~r B1 DF HQJ ~a' 'E||!1-HCVUCHH5 E26>E4>2> t1UG_% 3  $iG GwG GG Gr'zhist_density.pngctjjdtjjd}t j \}}|j |dy)NrbrTdensity)rlrmrnrr)rrrr/r$s r%test_hist_densityr< sEIINN8 99 $ $T *DllnGCGGD$Gr'ctjjd}|jd}gd}t j ||d\}}}tj ||d\}}t||y)Nir)rrrrr;rT)rr)rlrm RandomStaterr)r histogramr)rngrr mpl_heightsr  np_heightss r%test_hist_unequal_bins_densityrD sc ))   &C #A "Dt<KALLt->tQ-J   tQ +X->->tQ-J L MD ##D!Q/1B1B4A1N##D!Q/1JllnGCOJ$?NJAtQJJtSYY%7%7 %CDOJ$?OJAtQJJtSYY%7%7 %CDr'zdata, expected_number_of_histsctj|\}}}tj|}|jdk(rd|k(sJy|j d|k(sJy)Nr;r)r)rrlrJndimr)rexpected_number_of_histshistsr s r%test_hist_with_empty_inputr n sV ((4.KE1a JJu E zzQ,,,,{{1~!9999r'zhisttype, zorderrrrctjj}|jddg||jsJ|jD]}|j |k(rJy)Nr;r<r)r)rrrr; get_zorder)rr}r$rs r%test_hist_zorderr | sb  ! ! #BGGQFXG& :::,!V+++,r'ctj\}}tjtd5|j gdgdddddddy#1swYyxYw)Nzbaseline=None and fill=Truerq)r/rr;rr<)r;r<rr/rrrT)r4rr;)r)rrrrJstairsr.s r%"test_stairs_no_baseline_fill_warnsr sUllnGC k)F G        s AA c`ddlm}tjgd}tjgd}|j ddj }|dj ||d|dj ||dd |dj |||dj ||d |d j |||d j|d j ||d |d jd dd}|j ddj }|dj|tj||dfddi||djtj|d||fddi||dj|tj||dfddi||dj|j|d|dgd|dgfi||dj|j|d|dgd|dgfi||djdd|djtj|d||fddi||dj|jd|dg|d|dgfi||dj|jd|dg|d|dgfi||djdd|d j|tj||dfddi||d j|j|d|dgd|dgfi||d j|j|d|dgd|dgfi||d j|d jtj|d||fddi||d j|jd|dg|d|dgfi||d j|jd|dg|d|dgfi||d jy)Nr)rr%0rrr/) rrrrr@@ @"@rr<rr;rT)rrVrUr/rmiterbuttsolid_joinstylesolid_capstyler drawstyle steps-post)matplotlib.lineslinesrlrNrflattenrsemilogyrrradd_linerrr)r"r#mlinesr5r4 test_axesrref_axess r% test_stairsr( s5% 01A 56A!!!Q'//1I aL1t, aL1tF aL1 aL1,7 aL1 aL aL1,7 aL!(6 BE1%--/HHQKQ !QrU+M|MuMHQKRYYqtQ'LlLeLHQKQ !QrU+M|MuM QK!ad|a1YH%HI QK"qu~1R5zKUKL QKD!HQKRYYqtQ'LlLeL QK1Q4y1Q41,H%HI QK1R5zAbE1R5>KUKL QKD!HQKQ !QrU+M|MuM QK!ad|a1YH%HI QK"qu~1R5zKUKL QKHQKRYYqtQ'LlLeL QK1Q4y1Q41,H%HI QK1R5zAbE1R5>KUKL QKr'c gdgd}}d}|jddj}|dj||d|dj||d d |dj|||d |d j|||d d |jddj}|dj|t j ||ddd|dj dd|dj|t j ||ddd|djdd|dj|t j ||dt jt|dz|zdd|dj |d|d j|t j ||dt jt|dz|zdd|d j|dy)N)r;r<rr/r<rr;r<rr/rrr<rTr;r;rT)rVr;)rr;r)rrVr;rpost)rrK) rr"rrrlrrr-rrr)r"r#rrbsr&r's r%test_stairs_fillr. s1tA B!!!Q'//1I aL4d+ aL4\E aL4"48 aL4",!#1%--/H QKT299Q"#6VJ QKD! QKdBIIa2$7fK QKD! QKT299Q"#6WWSVAX.r11F QKT" QKdBIIa2$7 ggc!fQh/2AG QKT"r'cjd}|j}|jgd}|j||jgd|jt j ddz|jgdt j ddz |jgd|jdt j dt j |jdt j d dsJt j |jd t j dsJ|jd |jjd k(sJ|j}|jgdd }|j|y) N)rr/rrr/r<edges)r;r<r;rr;rr) rrrset_datarlrtallcloseget_datar)r"r#rtest_axrref_axs r%test_stairs_updater7 s9 D""$Gy!A TJJyJJRYYq\!^J$JJy"))A,q.)JJyJJtRYYq\" ;;qzz|A !Q 88 8 ;;qzz|A ! 55 5JJJ ::< B && & "F i" -A OODr'c,tjgd}tjgd}|j}|j||dddd}|j}|j|tj ||dfdd i|y) N)rr<rrr)g|?5^?gV-?g+?r_rrrrrrr)rlrNrrrr)r"r#r4r5r&rr's r%test_stairs_baseline_Noner9 s !"A ,-A$$&I QD) '6 BE""$HHMM!RYYq!B%(JLJEJr'ctjj}|jgdg|j dk(sJ|j dk(sJy)N*)'rrm)r)rrrrrrs r%test_stairs_emptyr= sN  ! ! #BIIb2$ ;;=H $$ $ ;;=M )) )r'ctjtd5tjddgdt j dgdddy#1swYyxYw)NNan values in "edges"rqr;r<r)rrrr)rrlrrr'r%test_stairs_invalid_nanr@ sB z)@ A+ Aq6Arvvq>*+++rctjtd5tjddgddgdddy#1swYyxYw)N Size mismatchrqr;r<r)rrrr)rrr'r%test_stairs_invalid_mismatchrC s; z 9# Aq6Aq6"###s AA ctjddggd}tjtd5|j dt jdgdddy#1swYyxYw)Nr;r<rFr?rqr0)r)rrrrr2rlrrs r%test_stairs_invalid_updaterF sR Aq69%A z)@ A) !RVVQ ()))s $A##A,ctjddggd}tjtd5|j t jddddy#1swYyxYw)Nr;r<rFrBrqrr0)r)rrrrr2rlrtrEs r%test_stairs_invalid_update2rH sO Aq69%A z 9' 1 &'''s &A%%A.ztest_stairs_options.pngc vtjgdtjgdjt}}|j }tj |d<t j\}}|j|dz|ddd|j||dzdz d dd d |j||d ddd|j|dz |dzdz dddd d|j|ddddzdz|dz d dddd|j|ddddzdz|ddddd|j|ddddzdz|dztjdd t|d!dd"d#|j|ddddddzd$z|dddzd%ddd&d'd()|jd*+y),Nr;r<rr/rrr;rrTr)rr;r2r2rTr)rr;rVr2rrFr<r)rrrKr2rrX)rrKrrVr2r E)rrrKrr2rrHrF)rrrrKr2rr,rG)rrrr2r;rGr2r//H)rrrKrr6r2rrB) rlrNrrcopyrr)rrrrrK)r4r5ynr/r$s r%test_stairs_optionsrT s 88O $bhh|&<&C&CE&JqA B FFBqEllnGCIIac1G$cI:IIa1Qe$&c3IIb!8#I>IIbdAaCEdq3&c3IIa"gailAaCu!dIIa"gailA!38IIb2hqjmQqS2;;r2s1v+Ft3T;IIafTrTl1nR3B7tS2II!Ir'ztest_stairs_datetime.pngc  tjd\}}|jtjdtjtj dtj dtj dy)NT)constrained_layout$z 2001-12-27z 2002-02-02r)rotation)r)rrrlrtrdxticks)fr$s r%test_stairs_datetimer[5 s[ LLD 1EArIIbiimii l3 l356JJr'c|j}|jgddd|j}|jgdd}|jdy)Nrr2T)rr;r+)rr set_color)r"r#r5r6sts r%test_stairs_edge_handlingr_> sR""$G NN9EN5 "F yt ,BLLr'ctjddd}tjddd}tj|tj|ddtjfz}|||fS)Nrrr)rlrrfrr)r4r5rs r% contour_datrbJ sY B3A B3A q BFF1Q ]+,,A a7Nr'contour_hatchingc t\}}}tj\}}|j|||dgdtj dddy)Nrc)r4\rPrErrr)rrextendr)rbr)rrrr~rs r%test_contour_hatchingrgQ sKmGAq!llnGCKK1a$:]]6*S*r'contour_colorbargHzG?c t\}}}tj\}}|j|||t j dddt jdddd}|j|||t j d d dd gd d }|j|||t j ddddgd }|j||}|j||j|dy)Ngg7A`?rRdBug333333rr)levelsrrrrfgg^I +r5rr<)rkr linestylesrrr?)rkrrrF)erase) rbr)rrrlrtrr~r rL add_lines) r4r5rr/r$cscs1cs2rOs r%test_contour_colorbarrrZ smGAq!llnGC Q1RYYtUC%@--/"  $B **Q1RYYtVS%A E ' !  #C **Q1RYYsC%= E !  #C <<r< "DNN3NN3eN$r'z hist2d.pngcdtjd<tjj dtjj ddzdz}tjj ddz }tj \}}|j||dd ||d }tj \}}|jd d d|d y)NFrrrr<rrTr rasterizedrr4r5)rrru)r)rrlrmrnrrhist2d)r4r5r/r$rs r% test_hist2drwq s',CLL"#IINN1 Qq A QAllnGCIIaI- DllnGCIIc3RdtIZ y))? TestScatterr=rTrcjtjgdtjgdgdgdgdd}tj\}}|j |ddz |d dz |d |d  |j |ddz|d dz|d |d  |j dd d d |y)Nrr/r<rr<rr<rrHr5r$limerFr)0.50.60.7z0.8)r4r5r?rc2r4rr5r?rr?rr)r?rr)rlrNr)rr=)rxrr/r$s r%test_scatter_plotzTestScatter.test_scatter_plot sXXl+"((<2H,3C24,,.R 49r>49r>T#Y$s) L 49r>49r>T$Z49 M 3sc 5r'zscatter_marker.pngrc Ftjd\}\}}}|jgdgdgdgdgdd |jgdgdgdgdgdtjd d  d \}}||zt j z}t jddt j zd}t jt j||z|z t j||z|z g} |jgdgdgdgdgd| y)Nrrrr)r;rrr5r$r)r'rSrr)r=rHgr$r)r?rrfrrrA fillstylerrr<r) r)rr=rrrlrr column_stackrfr) rxr/rnrrrxryarearrs r%test_scatter_markerzTestScatter.test_scatter_marker s"||!4_c3 L,3&3  L,3&3#//uE  G BBw Aq255y"-!3d!:!#!3d!:!<= L,3&3  "r' scatter_2Dr)rrctjd}tjd}tj||\}}||z}tj\}}|j |||ddy)Nrr<rface)r?rrf)rlrtrr)rr=)rxr4r5rr/r$s r%test_scatter_2DzTestScatter.test_scatter_2D s^ IIaL IIaL{{1a 1 E,,.R 1a1 7r'rctjgd}tjgd}tj|Dcgc] }t|c}}tj|Dcgc] }t|c}}gd}gd} |j} | j |||| |j} | j |||| ycc}wcc}w)NrBrCrrr)rlrNrrr=) rxr"r#rFrGrBr4r5r?rr$s r%test_scatter_decimalz TestScatter.test_scatter_decimal s XX* + XX* + HH"-Qgaj- . HH"-Qgaj- . #      1a1 "     2rQ! $.-s C.Cc4tjt5tjddgddgddgdddtjt5tjgdgdgddddy#1swYJxYw#1swYyxYw)Nr;r<rrrIr)rrrr)r=rxs r%test_scatter_colorzTestScatter.test_scatter_color su ]]: & : KKAAsCj 9 : ]]: & ? KK 9I > ? ? : : ? ?sBBB Brrrrrrrcd}tjt|5tjggfi|dddtjt|5tjddgddgfdgi|dddtjggfdgi|tjddgddgfdddgi|y#1swYxYw#1swYNxYw) Nz"No data for colormapping provided rqr;r<rr/r?r)rrWarningr)r=)rxr warn_matchs r%test_scatter_color_warningz&TestScatter.test_scatter_color_warning s: \\' 4 * KKB )& ) * \\' 4 8 KKAA 7" 7 7 8 B+b+F+ QFQF7q!f77  * * 8 8sB8C8CC c .tjgdgdgdtjddgd}|j j d k(sJt |jgd gd gd gt |jgdy) NrFr;rr<0.1z0.3rrr0rrdr1?r?rr)rr/rrrr;rrrr;rrrr;) r)r=rrget_facecolorsrrget_edgecolorsget_linewidthsrxcolls r%test_scatter_unfilledz!TestScatter.test_scatter_unfilled s{{9i3H"*"6"6sf"M&57""$**f4444..03E3E3E3G H 4..0/Br'rctjgdgdgddgd}t|j|j t|j gdgdgd gt|j gdy) NrFrrr4rrrrr)r)r=rrrrrs r%test_scatter_unfillablez#TestScatter.test_scatter_unfillable ss{{9i3H"%&57 4..0$2E2E2GH4..03E3E3E3G H 4..0/Br'ctjd}tjtd5t j |||dddddtjtd5t j |dd|dd|dddtjtd5t j ||ddddy#1swYxYw#1swYQxYw#1swYyxYw)Nr/zsame size as x and yrqr;zfloat array-liker)rlrtrrrr)r=)rxr4s r%test_scatter_size_arg_sizez&TestScatter.test_scatter_size_arg_size s IIaL ]]:-C D % KK1ae $ % ]]:-C D ) KK!"qua ( ) ]]:-? @ % KK1e $ % %  % % ) ) % %s#C/C0C)CC&)C2ctjgddtjtjgd}t j |j dsJtjgddtjtjdgd}t j |j dsJy)Nrr;rr5rr)r)r=rlrr same_colorr[rs r%test_scatter_edgecolor_RGBz&TestScatter.test_scatter_edgecolor_RGB s{{9q"&&"&&&9&/1!!$"4"4"6 BBB{{tjd}|j}|j||j dd|j dd|j}|j|j dd||j ddy)Nrr<rrI)rlrtrr=r)rxr"r#r4r$s r%test_scatter_different_shapesz)TestScatter.test_scatter_different_shapesC sw IIbM     1aii1o1a 9     199Q?A1a 9r')rNrgby conversion)r2N)r0N)NN)rHrr$r0N)jaunerrr/rrrr)rz0.4rr)rr2rC5)rrrrrr;rrrr2z0.0rrr;rzc_case, re_keycrd}d}ddd}|tjt||nGt|tr$t |dk(rtj dntj}|5tjjj|d i|| dddy#1swYyxYw) NcyNrrrr'r%get_next_colorz2TestScatter.test_scatter_c..get_next_color{ sr'r/z!^'c' argument has [0-9]+ elementsz^'c' argument must be a color)rrrqr(argument looks like a single numeric RGBr2r?rfrxsizeget_next_color_func) rrrrrrr contextlib nullcontextrrhr_parse_scatter_color_args)rxc_casere_keyrrREGEXPassert_contexts r%test_scatter_czTestScatter.test_scatter_cy s 99! MM*F6N ;&$'CK1,<$NO'')  4 HHMM 3 3WRu$2 4 4 4 4 4s 5/B--B6cgdg}gdg}|j}|jtjdt d||jtjddzt d||j}|jtjdt d||jtjddzt d|y)N)r;r皙?)r;rrrrrIr/r<rI)rr=rlrr)rxr"r#rgbrgbarzrys r%test_scatter_single_color_cz'TestScatter.test_scatter_single_color_c s"#!!#rwwqz5837rwwqz!|U1XT:##% E!H4 1 eAh$7r'c tjd}tj\}}t dD]K}|j |tj d|d|dd|dz}|j|dzk(rKJ|j |tj dddddgt ddd}t|jgt ddtjd y) Nrrrr4rr;)r?rrrC3lines.linewidth) rlrtr)rrr=rfrrrr)rxr4r/r$rBpcs r%test_scatter_linewidthsz#TestScatter.test_scatter_linewidths s IIaL,,.Rq 0AArwwq!}!A3s'(1u.B$$&!a%/ // 0 ZZ2771a=D#7U1a[#7$#792,,.JU1a[J#,,7H*IJ Lr'ctjtd5tjgdgdgdddddtjtd5tjgdgdgdd dddtjtd 5tjgdgdgdd dddy#1swYxYw#1swYYxYw#1swYyxYw) NzGGot both 'linewidth' and 'linewidths', which are aliases of one anotherrqr)rr>rr)rr6zGGot both 'edgecolor' and 'edgecolors', which are aliases of one another)#ffffffz#000000z#f0f0f0r)rfr5zGGot both 'facecolors' and 'facecolor', which are aliases of one another) facecolorsr4)rrrr)r=rs r%&test_scatter_singular_plural_argumentsz2TestScatter.test_scatter_singular_plural_arguments s ]]9"#$ Y KK 9TW X Y ]]9"#$ / KK 9#D$- / /]]9"#$ 1 KK 9#D&/ 1 1 1 Y Y  / / 1 1s# C  C" C# CC #C,)!rzr{r|rrrrrrrrmark parametrizerrrrrrcontextrrrrrrrrparams_test_scatter_crrrrrr'r%r~r~ sUykdC6D6+,$?"@"0|n$E7K8L8UG, %- %? [[X%+V$4%+->W->->-@$A%+QK%+QK !"# 8# 8C YYy!C"C%FUG, 8- 8UG, B- B'UG,$-$ UG,:-:  <  $' L! 1l# q$ q$ q' %t, $d+ "L1 d Q Q Q  4  ! W%  ! T"  ! W%  ! yk )40 % '1 % -t4 %i 8'B % )<8 % 0,? %g 6 EQ)V [[-/DE4F4. YYy!UG, 8-" 8 L1r'r~)rfc ||||fSrr)r?rrfrs r%_paramsr s z65 ))r'_resultz c, colorszparams, expected_resultr$rG)r?rrHrIrrIr)rrrr;cd}tjjj|d|i\}}}||jk(sJt ||j y)Ncyrrrr'r%rz5test_parse_scatter_color_args..get_next_color r'r)rrhrrr?rr)paramsexpected_resultrr?r _edgecolorss r%test_parse_scatter_color_argsr sW!XX]]DD 5%35Av{ !! !! !FO223r'zkwargs, expected_edgecolorsrrr0)r5rf)r?r5rf)rr5cd}|jdd}|jdd}tjjj |||d|\}}}||k(sJy)Ncyrrrr'r%rz@test_parse_scatter_color_args_edgecolors..get_next_color rr'r?rfr<)rr)poprrhrr)rexpected_edgecolorsrr?rfr result_edgecolorss r%(test_parse_scatter_color_args_edgecolorsr sm  3AL$/J  // z6 0 PAq   3 33 3r'cd}tjtd5tjgdgdg}t j jj|did|dddy#1swYyxYw)Ncyrrrr'r%rz;test_parse_scatter_color_args_error..get_next_color rr'z&RGBA values should be within 0-1 rangerq)rrr)rr>gffffff?r<rrr) rrrrlrNrrhrr)rr?s r%#test_parse_scatter_color_args_errorr sn zE GM HHo7 8  // tBa^ 0 MMMMs A A22A;zYou passed both c and facecolor/facecolors for the markers. c has precedence over facecolor/facecolors. This behavior may change in the future.)r2rr2rrrrrr)r;r;rz c, facecolorcd}tjtt5tj j j|dd|id|dddtjtt5tj j j|dd|id|dddy#1swYbxYw#1swYyxYw)z.get_next_color rr'rqNrr<rr4)rrrJWARN_MSGrrhrr)r?r4rs r%%test_parse_c_facecolor_warning_directr  s k 29  //D, )B 0 99 k 29  //D+y)A 0 999 99 99s1B5;1C5B>C ctj\}}t|ttfrddgndg}|}t j tt5|j||||dddt j tt5|j||||dddy#1swYGxYw#1swYyxYw)z:Test the warning through the actual scatter plot creation.rr;rq)r?rN)r?r4) r)rrrtuplerrrJr r=)r?r4r/r$r4r5s r%,test_scatter_c_facecolor_warning_integrationr+ sllnGCQu .AQCA A k 24 1a1 34 k 23 1a1 233 4433sB2B>2B;>CcVGdd}|}|}tj|_tjd|}t |t usJtjtjd|}t |t usJtjy)NceZdZdZdZy)#test_as_mpl_axes_api..Polarcd|_yNr) theta_offsetrs r%__init__z,test_as_mpl_axes_api..Polar.__init__> s !D r'c*td|jifS)Nr)rrrs r% _as_mpl_axesz0test_as_mpl_axes_api..Polar._as_mpl_axesA s~t/@/@AA Ar'N)rzr{r|rrrr'r%Polarr= s  " Br'rrGry) rlrrr)rhtyperrlrj)rprjprj2r$s r%test_as_mpl_axes_apir; sBB 'C 7DD ,3 /B 8y  IIK SS )B 8y  IIKr'c>tj\}}tj\}}tj||tjusJ|tjusJtj |tj |yr)r)rscarcgcfrl)fig1rfig2rs r%test_pyplot_axesr$T si ID# ID#GGCL #'')   3779  IIdOIIdOr'cvtj\}}|jtjtj dd|j dd|j|jddd|j|jfD\}}|gdk(sJ|gd k(sJy) Nrrr-@)rrc3K|]J}|jDcgc],}|j|jjf.c}Lycc}wwr) _update_ticksget_loclabel1get_text)rr!rs r%rz"test_log_scales..e sG 6:5G5G5IJ!))+qxx((* +JJsA1A A))rz$\mathdefault{9^{0}}$)rz$\mathdefault{9^{1}}$)g@T@z$\mathdefault{9^{2}}$rrrrrrrr)rr)rr)rr)g2@r)g;@r)gB@r)gF@r)gK@r)gO@r)R@r) )gF]tE?z$\mathdefault{5.5^{-1}}$)rz$\mathdefault{5.5^{0}}$)r&z$\mathdefault{5.5^{1}}$)gF]tE?r)gtE]t?r)gF]tE?r)g]tE?rr,r-r.r/) r)rrrlr-rrrrOr]r_)r/r$rYytickss r%test_log_scalesr2_ sllnGCGGBFF2;;sC( )*MM%cM"OOMM%cM"XXrxx(NFF   &     r'c tj\}}|jdd|jj t j d|j|jcxk(rdk(sJJy)Nr-)rrr;r;r) r)rrr]rrMultipleLocatorrrr s r%test_log_scales_no_datar6 sc LLNEArFF%F&HHw66q9: ;;=BKKM 4W 44 44 4r'c~tj\}}|jdtjt d5|j ddddd|jdtjt d5|jdddddy#1swYQxYw#1swYyxYw)Nr-zAttempt to set non-positiverqrr) r)rrOrrrJrrrr.s r%test_log_scales_invalidr8 sllnGCMM% k)F G BMM% k)F G BsB' B3'B03B<zstackplot_test_image.pngc tj}tjddd}d|z}d|zdz}d|zdz}|j ddd}|j |||||j d|jd ||||d }tj\}}|j d d d d|gd|j d|jd y)Nrrrrr;rr<rrrr))r4rrRy3r4rrRr<)rC1C2)rr) r)rrlrr stackplotrrr)r/r4rrRr<r$rs r%test_stackplotr@ s **,C Ar2A qB q1B q1B Aq !BLLBBKKKK"Bb 1DllnGCLLdD$T:LLMKKKKr'zstackplot_test_baseline.pngctjjdd}|dd}d|dddf<tjdd\}}|dj t d|jd |d j t d|jd |d j t d|jd |dj t d|jd y)Nrc tj||f}t|D]}tdD]}ddtjjzz }dtjjzdz }ddtjjzz }|dd|fxx|tjtj ||z |z |zdz zz cc<|S)Nrr;rr<rr)rlrrrmexprt)rrrrBjr4r5rs r%layersz'test_stackplot_baseline..layers s HHaV q JA1X Jbii..001 ((**R/"ryy//112!Q$1rvv1)9A)=(Bq'H&HIII  J J r'rrrSr<rzerorrsymr;rwigglervweighted_wiggle)rlrmrnr)rr?rr)rErr/rs r%test_stackplot_baselinerK sIINN1 q#AAb!eH||Aq!HCIc ACC&9Ic ACC%8Ic ACC(;Ic ACC2CDr'c0tjddd}d|z}d|zdz}d|zdz}|j}|j||||gdd g |j d |j d tj t|}|j}|j|||d d |j||||zdd |j|||z||z|zdd |j d |j d y)Nrrrrr;rr<)r4rP\\r3)r6rr:r;r4)r6r4rPrM) rlrrr?rrrrr) r#r"r4rrRr<rystack_baselinerzs r%test_stackplot_hatchingrO s Ar2A qB q1B q1B!G aR+>yQ W WXXc!f%N    F >2SGL 2r"uDGD 2b5"R%(&GL OOG OOGr'ctj}|jdd}|D]/}|jdd}|j ddgddggdg1|j |j y)Nr;r<rrr/rlabels)r)r subfiguresrr?rKdraw_without_rendering)r/subfigs_figr$s r%test_stackplot_subfig_legendrW sw **,Cnn1An.G5 ]]!] , aVq!fXse 45JJL r'c|Srr)rs r%rr s1r'ctjjdtjj tjj dddfi|}tj\}}|jdddk(r|jdn|jd|jd d s$tjd tjd <|j||fi|y) Nr_r)rr/)meansigmarrVverticalr- patch_artistFrboxplot.boxprops.linewidth)rlrmrnrcbook boxplot_stats lognormalr)rgetrrOrbxp) stats_kwargstransform_stats bxp_kwargslogstatsr/r$s r%_bxp_test_helperri sIINN3yy&& Rg>PBNPHllnGC~~mZ0J> e e >>.% 0 LL* + 12 BFF?8 $3 3r'zbxp_baseline.pngr)r(rctyrrirr'r%test_bxp_baselinerl s r'zbxp_rangewhis.pngc4ttddgy)Nrrwhisrerirrr'r%test_bxp_rangewhisrr s$QH"56r'zbxp_percentilewhis.pngc4ttddgy)Nr_rnrprqrr'r%test_bxp_percentilewhisru s$QG"45r'zbxp_with_xlabels.pngc"d}t|y)NcJt|tdD] \}}||d< |SNABCDr2rrstatsrr2s r%r3z(test_bxp_with_xlabels..transform .E4<0 HAuAgJ  r')rfrkr3s r%test_bxp_with_xlabelsr s Y/r'zbxp_horizontal.pngr)rr(rrc0ttdy)NrTrUrgrqrr'r%test_bxp_horizontalr! s  >?r'zbxp_with_ylabels.png)r(rrc8d}t|tdy)NcJt|tdD] \}}||d< |Srxrzr{s r%r3z(test_bxp_with_ylabels..transform/ r}r'rTrUrfrgrqr~s r%test_bxp_with_ylabelsr* s  Y $ >@r'zbxp_patchartist.png)rr(rc0ttdy)NT)r^rrqrr'r%test_bxp_patchartistr8 s $ 78r'zbxp_custompatchartist.pngrc Jttdtdddy)NTrr:)r4r5r)r^boxpropsrrqrr'r%test_bxp_custompatchartistr@ s$ GD!FGr'zbxp_customoutlier.pngc Htttdddy)Nr0rrrrmfc) flierpropsrrqrr'r%test_bxp_customoutlierrJ s! &#>!@Ar'zbxp_withmean_custompoint.pngc Jttdtdddy)NTr0rrr) showmeans meanpropsrrqrr'r%test_bxp_showcustommeanrS s" A!r'zbxp_custombox.pngc Htttdddy)NrFr$rrrrK)rrrqrr'r%test_bxp_customboxr^  CA6!89r'zbxp_custommedian.pngc Htttdddy)NrFr$rr medianpropsrrqrr'r%test_bxp_custommedianrg s 4sq9!;.transform s$ "A EE(D ! " r'F) showfliersrrqr~s r%test_bxp_no_flier_statsr s  Y $ 68r'zbxp_withmean_point.pngc2ttddy)NTFrmeanlinerrqrr'r%test_bxp_showmeanr s te DEr'zbxp_withmean_line.pngc2ttddy)NTrrrqrr'r%test_bxp_showmeanasliner s td CDr'zbxp_scalarwidth.pngc0ttdy)Nrrrrqrr'r%test_bxp_scalarwidthr s C 01r'zbxp_customwidths.pngc4ttgdy)N)rrg?g333333?rrrqrr'r%test_bxp_customwidthsr s ,D EFr'zbxp_custompositions.pngc4ttgdy)N)r;rrrcrvrrqrr'r%test_bxp_custompositionsr s | <=r'ctjt5tt dgdddy#1swYyxYw)Nr;rrrrrrirrr'r%test_bxp_bad_widthsr s2 z "6D$45666 ;Actjt5tt ddgdddy#1swYyxYw)Nr<rrvrrrr'r%test_bxp_bad_positionsr s4 z "<DAq6$:;<<C >C Cctjd}tj\}}|j |ddj dk(sJ|j |dddj dk(sJy)Nrboxesrr<r})rlrtr)rr{r )r4rr$s r%test_boxplot_zorderr su " AllnGC ::a= !! $ / / 1Q 66 6 ::a: #G ,Q / : : < BB Br'cdtjd<dtjd<dtjd<tj\}}tjd}d|d <|j |d }d D]!}||D]}|j d k(rJ#|ddj dk(sJ|ddj dk(sJy)Nrr\rrrzboxplot.meanprops.markerrrarT)r)whiskerscapsrmediansrrrmeans)r)rrrlrtr{ get_marker)r/r$ test_data bxp_handle bxp_lines each_lines r%test_boxplot_marker_behaviorrs#&CLL 03CLL,-/2CLL+,llnGC #IIbMI6J=0 #I. 0I'')R/ // 00 h  " - - /3 66 6 g q ! , , .# 55 5r'z&boxplot_mod_artists_after_plotting.pngcgd}tj\}}|j|d}|D]}||D]}|jdy)N)rrrnrnQ?gQ?gQrrr)r)rr{r])r4r/r$bpkeyr{s r%&test_boxplot_mod_artist_after_plottingrsX 4AllnGC A3 B#c7 #C MM' " ##r'zviolinplot_vert_baseline.pngctjjdtdDcgc]"}tjj d$}}t j }|j|tddddd|i}t j\}}|jdtdddd|ycc}w) Nier/rrFrwr showextrema showmediansr)rwrrrr) rlrmrnrror)rh violinplotr)r rr$r/s r%test_vert_violinplot_baseliner sIINN905a 91BII  #  & 9D 9 BMM$%(e#% ;DllnGCMM#qU#$0 :s'Czviolinplot_vert_showmeans.pngctj}tjj dt dDcgc]"}tjj d$}}|j|t ddddycc}w)Niw5+r/rrTFrr)rhrlrmrnrrorr$r rs r%test_vert_violinplot_showmeansr$sk BIINN905a 91BII  #  & 9D 9MM$%(d#% :'B zviolinplot_vert_showextrema.pngctj}tjj dt dDcgc]"}tjj d$}}|j|t ddddycc}w)Nir/rrFTrr"r#s r% test_vert_violinplot_showextremar' sk BIINN905a 91BII  #  & 9D 9MM$%(e#% :r%zviolinplot_vert_showmedians.pngctj}tjj dt dDcgc]"}tjj d$}}|j|t ddddycc}w)Nib}&r/rrFTrr"r#s r% test_vert_violinplot_showmediansr)sk BIINN905a 91BII  #  & 9D 9MM$%(e"$ :r%zviolinplot_vert_showall.pngc 8tj}tjj dt dDcgc]"}tjj d$}}|j|t ddddddgdd gd d gd d ggycc}w)NiOr/rrTr?rrrrr>r)rwrrr quantilesr"r#s r%test_vert_violinplot_showallr-s BIINN905a 91BII  #  & 9D 9MM$%(d"!3Z#sc3Z#sLN :s'Bz#violinplot_vert_custompoints_10.pngc tj}tjj dt dDcgc]"}tjj d$}}|j|t dddddycc}w)Ni$r/rrFrrwrrrpointsr"r#s r%$test_vert_violinplot_custompoints_10r1*sm BIINN905a 91BII  #  & 9D 9MM$%(e#B0 :'B z$violinplot_vert_custompoints_200.pngc tj}tjj dt dDcgc]"}tjj d$}}|j|t dddddycc}w)NiYqVr/rrFrr/r"r#s r%%test_vert_violinplot_custompoints_200r44sm BIINN905a 91BII  #  & 9D 9MM$%(e#C1 :r2zviolinplot_horiz_baseline.pngc tj}tjj dt dDcgc]"}tjj d$}}|j|t dddddycc}w)Ni\dr/rrrTFrwrVrrrr"r#s r%test_horiz_violinplot_baseliner7>sn BIINN905a 91BII  #  & 9D 9MM$%( PU#8 :r2z violinplot_horiz_showmedians.pngc tj}tjj dt dDcgc]"}tjj d$}}|j|t dddddycc}w) Nilo/r/rrrTFTr6r"r#s r%!test_horiz_violinplot_showmediansr9Hsn BIINN905a 91BII  #  & 9D 9MM$%( PU#7 :r2zviolinplot_horiz_showmeans.pngc tj}tjj dt dDcgc]"}tjj d$}}|j|t dddddycc}w) Ni&r/rrrTTFr6r"r#s r%test_horiz_violinplot_showmeansr;Rsn BIINN905a 91BII  #  & 9D 9MM$%( PT#8 :r2z violinplot_horiz_showextrema.pngc tj}tjj dt dDcgc]"}tjj d$}}|j|t dddddycc}w) Nie!r/rrrTFTr6r"r#s r%!test_horiz_violinplot_showextremar=\sn BIINN905a 91BII  #  & 9D 9MM$%( PU"7 :r2zviolinplot_horiz_showall.pngc :tj}tjj dt dDcgc]"}tjj d$}}|j|t dddddddgd d gd d gd dggycc}w)Ni"r/rrrTTrr+rrrrr>r)rwrVrrrr,r"r#s r%test_horiz_violinplot_showallr?fs BIINN805a 91BII  #  & 9D 9MM$%( PT"!3Z#sc3Z#sLN :s'Bz$violinplot_horiz_custompoints_10.pngc "tj}tjj dt dDcgc]"}tjj d$}}|j|t ddddddycc}w) Ni 0r/rrrTFrrwrVrrrr0r"r#s r%%test_horiz_violinplot_custompoints_10rBqsq BIINN905a 91BII  #  & 9D 9MM$%( PU#rC :'B z%violinplot_horiz_custompoints_200.pngc "tj}tjj dt dDcgc]"}tjj d$}}|j|t ddddddycc}w) Ni<9!r/rrrTFrrAr"r#s r%&test_horiz_violinplot_custompoints_200rE{sq BIINN905a 91BII  #  & 9D 9MM$%( PU#sD :rCzviolinplot_sides.pngc ptj}tjj dtjj dg}t gdgdD]\}}|j||gdddd|  t gd gdD]\}}|j||gd ddd|  y) Nrbrr)rrr)rlowhighrTFT)rwrVrrrside)r/r@r])r)rhrlrmrnrorr)r$rrrIs r%test_violinplot_sidesrKs BIINN8 II  #  & 'D)@AE T dseQV"&Dt  EE(?@E T dseu"&Dt  EEr'cttj}tjj dt dDcgc]"}tjj d$}}tjt5|j|t ddddycc}w#1swYyxYw)Ni@3r/rrrrv r)rhrlrmrnrrorrrrr#s r%test_violinplot_bad_positionsrNs BIINN905a 91BII  #  & 9D 9 z "0 deAh /00 :00s'B)B..B7cztj}tjj dt dDcgc]"}tjj d$}}tjt5|j|t dgddddycc}w#1swYyxYw)NiA#r/rrr)rwrrMr#s r%test_violinplot_bad_widthsrPs BIINN905a 91BII  #  & 9D 9 z "B deAhy ABB :BBs'B, B11B:c:tj}tjj dtjj dg}t jt5|j|ddgddggdddy#1swYyxYw) Nil rrrrrrr, r)rhrlrmrnrorrrrr$rs r%test_violinplot_bad_quantilesrUs{ BIINN9 II  #  & 'D z "@ dSzC:&> ?@@@s .BBctj}tjj dtjj dg}t jt5|j|gdgdddt jt5|j|gdgdddy#1swYBxYw#1swYyxYw)Niq4rr)rrr?rR)皙rrr^rSrTs r%$test_violinplot_outofrange_quantilesrYs BIINN9 II  #  & 'D z "? d'<&= >? z "A d'>&? @AA ??AAs.C&CCCctjjdtjjdg}|j }|j |gd|j }|j |gdgy)N+rr)rrr+rR)rlrmrnrorr)r"r#rr$s r%%test_violinplot_single_list_quantilesr\sqIINN9 II  #  & 'D    BMM$/M2    BMM$?"3M4r'c>tjjd|jtjj dgd}|jtjj dt d}|jtjj d}|j j|||g|j j|j|j|jgy) Nr[rcr)ror~rcrrr/rrro ABCDEFGHIrG) rlrmrnrrorrrr )r"r#r|s1s2s3s r%test_violinplot_pandas_seriesrbsIINN9 299###+3H IB 299###+4 3D EB 299###, -B ""BB<0 !!299bii"CDr'ctj\}}|jdd|j}tj j dtj jddd}tj jddd}|j||gddgd |j}t||y) Nrr/rrr}r;r<F)rw manage_ticks) r)rrrrlrmrnror{r)r r$old_xlimrrRnew_xlims r%test_manage_xticksrgs LLNEArKK1{{}HIINN1   "a $B   !Q #BJJBxAq6J>{{}Hx*r'ctj\}}|jtjj ddg|jtjj ddg|j j|jdk(sJt|jddgk(sJ|jDcgc]}|jc}ddgk(sJycc}w)Nrrrvr)r<r&r5) r)rr{rlrmrrrrr get_xticksrr+rks r%test_boxplot_not_singlerksllnGCJJryy~~c"qcJ2JJryy~~c"qcJ2JJOO ;;=J && &   QF ** *"$"4"4"6 7QAJJL 7C: EE E 7sC=ctjddgddgtjj ddit j }tj|ddy)Nrr;z font.sizePraw)r&format)r)rrYrupdateioBytesIOsavefigr$s r%test_tick_space_size_0rusNHHaVaV Q/0 AKKr%(r')errorbar_basic.pngzerrorbar_mixed.pngrvc ptjdddtj}tj| }ddtj|zz}d|z}t j }|j}|j||dd|jdt jd d d \}}|d }|j|||d |jd|jd|d}|j|||d d|jd|d}|j|||d |zg|d |zgd|jd|d}|jdtjd||z }||z }|j|||d |zg|d dd |jd|jdd|jd||d } t j }|j}|jd!d"dd| #|jdy)$Nrr/rrrr>rNz&Simplest errorbars, 0.2 in x, 0.4 in yr<T)rrrrrrPrzVert. symmetricnbinsr)rOrrzHor. symmetric w/ alpharHz--orPrOrzH, V asymmetricrvr-rr)rPrOrecolorcapthickzMixed sym., log yr/zVariable errorbarsrr4r5rOrPr)rlrt longdoublerCrr)rrcrKr7rlocator_paramsrmaximumrsuptitle) r4r5rPrOr/r$rylower yerr_lowerrs r% test_errorbarrs #q#R]]3A r A RWWQZ D :D **,C BKK13SK)LL9:||!1T:HC TBKK14SK)LL"#A TBKK14SK4LL*+ TBKK1D!D&>qvEKJLL"# TBMM% ZZa$h 'FVJKK1J$/da1LL$%KKcLL%& D **,C BKKSs4K8LL9:r'zmixed_errorbar_polar_caps.pngc`tj}tjdd}gd}dgdz}|j||ddd tj d z d ztj d zg}d dg}|j||dtj zdd dtj zdz d zdtj zdz d zd tj zd z g}dgdz}gdgdg}gdgdg} |j|||| d dg} dg} |j| | ddd y)z Mix several polar errorbar use cases in a single test figure. It is advisable to position individual points off the grid. If there are problems with reproducibility of this test, consider removing grid. rr%rrr+rffffff?rrrOrPrr<rg?rrrr/rrd)rrr)rrr)rrr)rrr@@rN)r)rrjrKrlr) r/r$th_symr_symth_longr_longth_asymr_asymrOrPth_overr_overs r%test_mixed_errorbar_polar_capsr0s# **,C SW -BF E!GEKKDsK<uuQw|RUURZ(G3ZFKKcBEEk#KFwqy2~qwqy2~qws{;GU1WF , 'D = )DKKd3K?eGUFKKbrsK;r'c\tj\}}tjd}d|z}|j ||d\}}}|j |d|zd\}}}|j |d|z\}t j|jt jdk(sJt j|jt jdk(sJt j|jt jdk(sJy)Nrr<rIr/rr=r>) r)rrlrtrKrrto_rgba get_color)rZr$r4r5rr rln1s r%test_errorbar_colorcyclerRs LLNEAr " A !A{{1a4{(HB1{{1acT{*HB1 771ac?DC ??2<<> *good.C CC C ??2<<> *good.C CC C ??3==? +wt/D DD Dr'c ptjddd}tdDcgc]}tj| |z}}|j }|j }t |gdD]:\}}|j |||dzddd |j |||dzdd|d <ycc}w) Nrr/r)rr=r>rrrErr2)rPrrr|)rPrrrr|)rlrtrrCrrrK) r"r#r4rr5axtaxryirs r%test_errorbar_cycle_ecolorras #q#A$Qx(!1(A(    C    C45> E Q"t)  1 Q"t)uW  >> )s B3ctj}|j}tjddd}tj | }ddtj |zz}tj|d|zfj}d|z}tjt5|j|||ddddtjt5|j|||ddddtjt5|j||||d dddy#1swYyxYw#1swYNxYw#1swYyxYw) Nrr/rrr<rrx)rOrr{) r)rrcrlrtrCrvstackrrrrrK)r/r$r4r5yerr1rPrOs r%test_errorbar_shaperps **,C B #q#A r A #bggaj. E 99eQuW% & ( (D :D z ". Aqt -. z ". Aqt -. z "9 Aqt$C 899 ....99s$/D=&E E=E EEzerrorbar_limits.pngctjddd}tj| }d}d}d}tj\}}|j |||||dtj |}d|gd <|j ||dz||||d tj |}d|gd <|j ||d z||||d|j ||dzdd|||||d d}tj|d}d|ddg<|} |} tj |}tj |}d|dg<d|dg<|j ||dzdd||| | ||dddd|jd|jdy)Nrr&rrdottedr)rOrPrrT)r;rror)rOrPuplimsrr)r<r/r~rr2)rOrPlolimsrrrrr~magenta)rrrOrPrrrrrrrrr0rcyan) rrrOrPxlolimsxuplimsrrrr/capsizer)rr&zErrorbar upper and lower limits) rlrtrCr)rrK zeros_like full_likerr7) r4r5rOrPrr/r$rrrrs r%test_errorbar_limitsrs #sC A r A D D BllnGCKK14drK@]]1 FF9KK1S5t$v"]]1 FF9KK1S5t$v"KK1S5Df9F D <<3 DD!QLGG ]]1 F ]]1 FFA3KFA3KKK1S5D&faKKLL23r'c tjd}tjd}tj||ddd\}}}|J|D]=}tj|j t jdk(r=Jy)Nrr;r0rr)rlrtr)rKrrrr)r4r5plotliner barlineserrbars r%test_errorbar_nonefmtrs ! A ! ALLAAA6JHa   Cvvf&&(GOOD,AABBBCr'ctjd}tjd}tj\}}|j ||dd}t |j dk(sJt |jdk(sJt |jdk(sJ|j|j rJ|jrJ|jrJy)Nrr;rNr<) rlrtr)rrKr containersr!rri)r4r5r/r$ecs r%test_errorbar_removers ! A ! AllnGC Q *B r}}  "" " rxx=A   r~~ ! ## #IIK}} xx<~~ ~r'ctjd}tjd}tj||ddddddddd d \}}}|j dk(sJ|j dk(sJy) Nrr;Nonerrfz steps-midroundrrbevel) rOrPrrrr dash_capstyledash_joinstylerr)rlrtr)rK get_fillstyle get_drawstyle)r4r5rr s r%"test_errorbar_line_specific_kwargsrs ! A ! A\\!QQQ6),,707181729 ;NHa  ! ! #v -- -  ! ! #{ 22 2r'c "|j}|jgdgddddd|jgdgddd d dd |jgdgd ddddd|jddtgdgdgdgd}t j d||j}|jgdgdd|jgdgddd |jgdgd dd|jddy)N)r<r/rrFrrFrr=)r4r5rPrrrr<rr/z tab:greenrr5)r4r5rPrrrrr/rrztab:bluerrr?)r4r5rPrrrrr;rG)rFrr)rrr)r=r5r?r$rrH)rrrrrh) prop_cycler4r5rP)r4r5rPr)r4r5rPr)rrKrr r)rc)r"r#r$_cycles r%test_errorbar_with_prop_cyclers    BKK* .KK* ;s-KK* .KK2 ('@FFF6f%    BKK* K4KK* ;KGKK* KDKK2r'ctjddd}|d|z z}|dz }tjj }t j td5|j|||ddddt j td5|j|||d dddt j td 5|j|||d d gdddt j td 5|j|||ddddy#1swYxYw#1swYxYw#1swY[xYw#1swYyxYw)Nrr;rrznot a tuple of two integersrqr) errorevery)rrznot a valid NumPy fancy indexFTznot a recognized valuefoobar) rlrr)rrrrrrK)r4r5rPr$s r%test_errorbar_every_invalidrs' Aq"A QqS A Q3D    B z)F G6 Aq$9 56 z)F G5 Aq$8 45 z)H I: Aq$E4= 9: z)A B5 Aq$8 455 6655::55s0"D.D:EE.D7:EEEc Htjj}tjt d5|j dgdgdgdggdgdggdddtjt d5|j dgdgdgdggdddtjt d5|j dgdgdgdgg dddtjt d5tjd }|Dcgc]}tjd d |d zdz!}}|j ||tjd dddy#1swYxYw#1swYxYw#1swYxYwcc}w#1swYyxYw)Nz''xerr' must not contain negative valuesrqrrr;r4r5rOrPrVz''yerr' must not contain negative valuesrrrror<rr) r)rrrrrrKrlrtr7r)r$r4rBr5s r%test_xerr_yerr_not_negativers    B zF HJ qcaS}TFQC= IJ zF H6 qcaS} 56 zF H6 qcaS} 56 zF H7 IIaL<= >qX  tQA 2 > > a!++5  7 77JJ6666 ?77sA E.E;?F=F$F;*F.E8;FFFF!ctjj}tjt d5|j dgdgdgdggdgdggdddtjt d5|j dgdgdgdggdddtjt d5|j dgdgdgdggdddy#1swYxYw#1swYTxYw#1swYyxYw) Nz'xerr' must not contain Nonerqrr;rrVz'yerr' must not contain Noner)r)rrrrrrKrs r%test_xerr_yerr_not_noners    B z; =J qcaS}TFQC= IJ z; =6 qcaS} 56 z; =6 qcaS} 566 JJ6666s# C#C/?C;#C,/C8;Dc tjddd}|d|z z}|dz }|j}|j}tdgdD]a\}}|dz }|j ||||dfd| |j |||d |j ||dd||dd||ddd|d c|j ||dz|ddd|j |ddd|ddddzdd |j ||dz|dd |j ||dz|t dddt dddddd|j |ddd|ddddzddd |j |ddd|ddddz|dddddd |j ||dz|gddzgddzddd|j |ddd|ddddzddd |j |ddd|ddddz|dddddd y)Nrr;rrrgbk)rrr<rcrr/)rrr?r)r?r}r0)rr?rr)r;r/r)rrrr )rrrr<rr)rrrr?rrrr=)rlrrrrKrr) r"r#r4r5rPrzryrshifts r%test_errorbar_everyr(s Aq"A QqS A Q3D    F!GFL1 8 u S At !"e  -  AqE# .%(( Quxax[$uxax. !U  8 8 QCL KK!$Q$14a43CK8 OOAq3waVO< QC%42C$Qa0$C1 KK!$Q$14a43tCK@ OOAaddGQqt!tWs]DAJ63 QC2F2J3a7$C1 KK!$Q$14a43tCK@ OOAaddGQqt!tWs]DAJ63r' elinewidthrcBtjgdgdgd|y)Nr)rPr)r)rK)rs r%test_errorbar_linewidth_typerTsLLII*Mr'c|j}td}tjddtjtjdg}tjddtjtjdg}|j ||||j}|j ddgddgddg|j dgdgdgd y) Nrr;r<rr/rrPrrrx)rrrlrNrrK)r"r#r$xsysess r%test_errorbar_nanr[s    B qB 1a+ ,B 1a+ ,BKKBRK    BKKAAaVK,KKaSsK-r'c|j}td}tjgd}tjjgd|}tjjgd|}|j ||||j}|j ddgdd gd dg|j d gd gd gd y)Nr)FFTTF)r;r<r<r<rr)r/rrrrrrr;r<r/rrrrx)rrrlrNr rK)r"r#r$rrrrs r%test_errorbar_masked_negativergs    B qB 885 6D _4 0B 'd 3BKKBRK    BKKAAaVK,KKaSsK-r'zhist_stacked_stepfilled.pngctjddd}tjddd}tj\}}|j ||fdd d ||fi}tj\}}|j d dd| y) Nr;rr}rrrSrTrr4)rrrrlrr)rr)d1d2r/r$rs r%test_hist_stacked_stepfilledrts Q2 B QB BllnGCGGRH|TG: "b?DllnGCGGC,4G@r'zhist_offset.pngctjddd}tjddd}tj\}}|j |d|j |d y) NrrrSr;rr}rrrrrrr/r$s r%test_hist_offsetrsW QB B Q2 BllnGCGGBqGGGBrGr'z hist_step.pngctjddd}tj\}}|j |d|j dd|j dd y) Nr;rr}rrrrrr)rlrr)rrrrrr/r$s r%test_hist_steprsQ Q2 BllnGCGGBG KK2KKAr'zhist_step_horiz.pngctjddd}tjddd}tj\}}|j ||fdd y) NrrrSr;rr}rrT)rrVrrs r%test_hist_step_horizrsM QB B Q2 BllnGCGGRHv._assert_equalsE422;;=>1HQKHQKr'r;rrror~rcrF)rrLrzb--)rrN)r)rrrrrrr/r$r4r5s r%test_stem_argsrsE llnGCAA"''!* 1~6"''!Q-1a&1"''!Q'.!Q@"''!Q&!Q8"''!Qu'=AO"''!U'+y!nE"''!U#y!n= z " ! z " !qs EE+E(+E4cZ dd}tj\}}gd}gd}||j||dd||j||d dd||j||d d d||j||d d d d ||j||d d d d ||j||d d d d d ||j||d d d d d ||j||d d d d d ||j||d d d d d ||j||d d d d d ||j||d d d d ||j||d dd d d ||j||d dd d d y)zATest that stem(..., markerfmt=...) produces the intended markers.NcL|0tj|jj|sJ|0tj|jj|sJ||jj |k(sJ|jj dk(sJy)zl Check that the given StemContainer has the properties listed as keyword-arguments. Nr)rr stemlinesrrr get_linestyle)r linecolor markercolorrs r%rz*test_stem_markerfmt.._assert_equals  %%((224   "%%))335   !,,779VC CC((668FBBBr'rrrr)r rr4)rrrH)r r rrgxrrrr)rr)NNN)r)rrrs r%test_stem_markerfmtrsBF!C$llnGCAA"''!Q-T#>"''!Q#'.DM"''!Q$'/SM 1c3s4 1d3s4 1cS)3s4 1cS)3s4 1cT*3s4 1cS)3v7 1cR(3v7  1c"3s4 1cS13s4 1cT23s4r'ctjdd\}}tjj dtjj dg}ddg}|j ||y)Nr;z2013-9-28 11:00:00z2013-9-28 12:00:00rr)r)rdateutilparserparser)r/r$rrs r%test_stem_datesrsYll1a GC //   4 5 //   4 5 7B sBGGBOr'zstem_orientation.pngctjddtjzd}tj\}}|j |tj |ddddy) Nrr<rSrkxrrT)rrrrV)rlrrr)rrrfr0s r%test_stem_orientationrsR C255"%AllnGCGGArvvaydF$ &r'z!hist_stacked_stepfilled_alpha.pngctjddd}tjddd}tj\}}|j ||fddd y) Nr;rr}rrrSrTr)rrrrrs r%"test_hist_stacked_stepfilled_alphar$sO Q2 B QB BllnGCGGRH|TGEr'zhist_stacked_step.pngctjddd}tjddd}tj\}}|j ||fdd y) Nr;rr}rrrSrTrrrs r%test_hist_stacked_stepr-sM Q2 B QB BllnGCGGRHvtG4r'zhist_stacked_normed.pngctjddd}tjddd}tj\}}|j ||fddy) Nr;rr}rrrST)rrrrs r%test_hist_stacked_densityr6sM Q2 B QB BllnGCGGRHdDG1r'zhist_step_bottom.pngctjddd}tj\}}|j |tj ddy)Nr;rr}rr)rRr)rlrr)rrrtrs r%test_hist_step_bottomr?s? Q2 BllnGCGGBryy}|G>+R01r'c gd}gd}ddgddgddgddgddgddgddgdd gg}dd gddgddgddgddgg}d |fd ||zffD]@\}}tj||gd | \}}\}t|j|By)Nr!r"rr;rrr<r<rrrr;r<r)rrRrr$r&s r%test_hist_step_bottom_geometryr+Rs D D q6Aq6Aq6Aq6Aq6As8aX3x PC#hAAAA 7F #sV|(DE1 "HHT[.681kw7>>+R01r'c $gd}gd}gd}ddgddgddgddgddgddgddgddggddgddgddgddgddgddgddgddggg}ddgddgddgddgddggddgddgddgddgddggg}t||Dcgc] \}}||z }}}d |fd |ffD]|\}} tj||g|d | \} } } t| dk(sJ| d\} t | j | d| d\} t | j | d~ycc}}w) Nr!r"rFrr<r;rr/rrT)rrrrr)rrrr% rdata_1data_2topsbottomsrr$combinedrrr r;r's r%test_hist_stacked_step_geometryr4^s D F F Q!Q!Q!Q!Q!Q!Q!QH Q!Q!Q!Q!Q!Q!Q!QH D Q!Q!Q!Q!Q0 Q!Q!Q!Q!Q0G#&dG"45$!QA5H5 $,)AB4 "&&!1d*24 1g7|q   1:7>>+RU31:7>>+RU346s2D c *gd}gd}gd}ddgddgddgddgddgdd gdd gdd ggddgdd gdd gdd gdd gdd gdd gdd ggg}dd gddgddgddgddggdd gddgddgddgddggg}t||Dcgc] \}}||z }}}d|fd|ffD]\}} tj||g|dgd|\} } } t| dk(sJ| d\} t | j | d| d\} t | j | dycc}}w)Nr!r"rFrr;rrr<r<rr/rrrrTr*)rrrRrr-r.s r%&test_hist_stacked_step_bottom_geometryr6vs D F F Q!Q!Q!Q!Q!SAs8aXN Q!Q!Q!Q!Q!SAs8aXN D SAq6Aq6Aq6Aq62 SAq6Aq6Aq6Aq62G#&dG"45$!QA5H5 $,)AB4 "&&!1d(3hH 1g7|q   1:7>>+RU31:7>>+RU346s2Dzhist_stacked_bar.pngcgdgdgdgdgdgdg}gd}gd}tj\}}|j|d d d || |jd ddy)N) rrrrr@irmr}rA6r@)r}rSrGri)rrrrrra) r'r'r'r'rrrrrrrr)+r<r<rrrrrrrrrrr) rrrrrrrrrrrr))gXxn?rr)rrg`p?)rrgǟ?)rgˢ`?r)gC?rr)gK?rr)rrz yellowrr2rrmid)rrr4rr2z upper right)rrr;)rCbbox_to_anchorr)r)rrrK)rrrRr/r$s r%test_hist_stacked_barr?sn D #%H 8 H A  CA OF@FllnGCGGABU& II- !IDr'rr4rr5r6)r4rerr)rErFrr6)r;rr<rc .tjjddDcgc]!}tjj|#}}|j d\}}|j d\}}d||fd||ffD]\} } } | j |fd| d|\} } } t t|j\}}tt||D]3\}\}}| j |f| | d||idt||z dz i5ycc}w) Nrb)r}rSrr<rrrr#r}) rlrmrnrrrnextiteritemsrrr)r"r#rrraxt1axt2axr1axr2rrrr rkwr rBr4r=s r%test_hist_vectorized_paramsrIsIINN8&3 4"))//!  4B 4$$Q'LT4##A<4 ,dD9FD$;OP+#sSXXbGrHGG 4$v||~./ F&s2v7 +MAz5 CHHQ +TH +U  + WQYM + + + 5s&Dcbd}gd}d}tjjd}tj||||\}}}t j |dj|sJt j |dj|sJ|dj|k(sJy)N)rHrrrr)rrvrSr)r4r5rr) rlrmuniformr)rrrrZr[r )r4r5rarrr rs r%test_hist_sequence_type_stylesrNsIII ))    $C#i$-/JAq$   d1g335y AA A   d1g335y AA A 7 "i // /r'ctjjd}tj|dd\}}}|dj sJd|dj sJdy)NrSrr0)r4r5rrW)rlrmrLr)rrZr[)rMr rs r%test_hist_color_nonerPsg ))    $C#6BJAq$ 7 "0L0 " 7 "0L0 "r'zkwargs, patch_face, patch_edger5)rrr4r5)r5r)rrr5)rHr)rrr4r=)rr4r5)rr)rr4r)rr5)rrrctjjjgdfi|\}}}t fd|DsJy)Nrc3K|]:}tj|j|jgg<ywr)rrrZr[)rr patch_edge patch_faces r%rz,test_hist_color_semantics..sCN@A!!1??#4aoo6G"H#-z":<NsAA)r)rrrr)rrTrSr r;s `` r%test_hist_color_semanticsrUsU<1CJJL))+00EfEMAq' NELN NN Nr'ctjddg}tjddgddggdd||j ddgk(sJy)Nrr}rr;r<r)rrR)rlrNr)rtolistrts r%%test_hist_barstacked_bottom_unchangedrXsK "bAHHq!fq!f q<B 88:"b !! !r'ctj\}}|jgtdtdgdy)Nrrr)r)rrrr.s r%test_hist_emptydatarZs0llnGCGGRrE"I &G8r'ctj\}}|jgdggd|j\}}|dgk(sJy)Nr)r unusedz also unusedrr )r)rrget_legend_handles_labels)r/r$r rRs r%test_hist_unused_labelsr^sHllnGCGGYKBGC,,.IAv hZ  r'ctj\}}|jddgd\}}}|djdk(sJ|jddgdg\}}}|djdk(sJ|jddgd\}}}|djdk(sJ|jddgd\}}}|djdk(sJ|jddgd\}}}|djdk(sJy)Nrr;rr"r00)r)rrr)r/r$r rs r%test_hist_labelsras&llnGC!Qq)JAq$ 7   # %% %!Qs+JAq$ 7   # %% %!Qt,JAq$ 7   , .. .!Qs+JAq$ 7   # %% %!Qt,JAq$ 7   $ && &r'transparent_markersctjjdtjjd}tj\}}|j |dddy)NrrSrXr0r)rrrlrmrnr)rrrs r%test_transparent_markersresIIINN1 99  B DllnGCGGD#6cG2r' rgba_markersc tjd\}}ddg}ddg}ddg}tdd }t|D]n\}}t|D][\}} t|D]H\} } ||j|d z| d zd f| | |d |||j|d z| dzdf| |d|J]p|D]} | j gdy)Nr<rrrrG)rrr;rrrr})rr.r;r)rr/rrr4)r/r)rr/rr)r)rrrrr!) r/rrcolorsbcolorsalphasrHrBrrDrcolorr=bcolorr$s r%test_rgba_markersrms||!$HC^,G^,GC[F " Bf%J5"7+ JIAv&w/ J 6A AaC1c/v6"'/+-/A AaC1cIvUIbI J JJ   r'zmollweide_grid.pngcptj}|jd}|jy)N mollweider)r)rrrr.s r%test_mollweide_gridrp,s( **,C K 0BGGIr'ctj}|jd}tjtj tj d}tjtj dz tj dz ddd}tj ||\}}tj|j|jfj}|jj|}|jjj|}tjj||dy) Nrorrrr;r;rr)r)rrrlrrrrr"rtransProjectionr3invertedrr)r/r$lonlatllrll2s r%&test_mollweide_forward_inverse_closurerx5s **,C K 0B ++ruufbeeS )C ++ruufslBEECK 5a ;C{{3$HC CKKM3;;=1 2 4 4B   % %b )B   % % ' 1 1" 5CJJ((S!4r'ctj}|jd}tjddd}tj ||\}}tj |j|jfj}|jjj|}|jj|}tjj||dy)Nrorrr;rr)r)rrrlrrrr"rrrrsr3rr)r/r$r4r5rrvxy2s r%&test_mollweide_inverse_forward_closurer{Ls **,C K 0B Aq#A ;;q! DAq AIIK- . 0 0B   $ $ & 0 0 4B   & &r *CJJ((S!4r' test_alphac tjjdtjjd}tj\}}|j |dgdgddd|j |d zdgdgdddd |j |d zdgdgdddd |j |dzdgdgddd|j |dzdgdgdddy)NrrSz-Drrr}r)rrrrKr<r;)rrrrKrr/rrr~rdrs r%r|r|asIINN1 99  B DllnGCGGD$i]b "GGD1Hd-]b  GGD1Hd)b  GGD1Hd-]b "GGD1Hd-Yb "r'z eventplot.pngcVtjjdtjjddgj}tjjddgj}||z}t |}gdgt |z}gdgdgdgd gd gd g}||z}d tj dt |d zz}gd}|j|z} d gt |z} gd} | | z} t j} | j}|j||| | }t |}||k(sJ||| | d}t j} | j}|jdddd|}t |}||k(sJy)Nrrr}r)rr;rrrr)r;r^r)r;rr;)rr;r;rQ?)irr;rrr)rr<r;r;rr)r lineoffsets linelengths)rr?lorvrr?rrv)rrrr) rlrmrnrWrrtr)rr eventplot)rhdata2r num_datasetscolors1colors2r lineoffsets1 lineoffsets2r linelengths1 linelengths2rr/axobjcollsnum_collectionss r%test_eventplotrsIINN1 II  b"X & - - /E II  aW % , , .E 5=Dt9LlSZ'G G w F !SZ0366L+L%%',6K53u:%L'L-K **,C OO E OOD[(3  5E%jO l ** *fK{ KD **,C OO E OOE#4(,4  9E%jO l ** *r'ztest_eventplot_defaults.pngcrtjjdtjjddgj}tjjddgj}||z}t j }|j }|j|y)zf test that eventplot produces the correct output given the default params (see bug #3728) rrr}rN)rlrmrnrWr)rrr)rhrrr/rs r%test_eventplot_defaultsrs IINN1 II  b"X & - - /E II  aW % , , .E 5=D **,C OO E OODr'r))r)z tab:orangeztab:pinkztab:cyanbLacK)r2rN)r;rr;rcdgdgdgdgg}|Dcgc]}||nd }}t|dk(r|d}tjtj|t|df}t j \}}t|dk(r|d}|j||}t||D]\}}t|j|!ycc}w) zBTest the *colors* parameter of eventplot. Inspired by issue #8193.rr;r<rNrr/r) rrlrr to_rgba_arrayr)rrrrr) rrr?rr/r$rrrs r%test_eventplot_colorsrsC!qcA3 D7==Q],=H= 8}A;w44X>TAOHllnGC 6{a,,tF,3K;11 e(%01>s Cc~tj\}}|jgdgdgd}|djdk(sJ|djdk(sJ|jgdgdgddg}|djdk(sJ|djdk(sJt j t d 5|jgdgdggd dddt j t d 5|jgdddgdddy#1swYExYw#1swYyxYw) N)rr<r/)r;rrrcrrrr;rzalpha and positions are unequalrq)rrr+)r)rr get_alpharrr)r/r$rs r%test_eventplot_alphars/llnGC,, <8,DK q> # # % ,, , q> # # % ,, ,,, <8c ,KK q> # # % ,, , q> # # % ,, , z)J KG i.o FG z)J K2 YsCj 122GG22sD'D3'D03D<z!test_eventplot_problem_kwargs.pngc tjjdtjjdgj}tjjdgj}||g}t j }|j }|j|ddgddgdd gd dgd d gd d gt|dk(sJtd|DsJy)z test that 'singular' versions of LineCollection props raise an MatplotlibDeprecationWarning rather than overriding the 'plural' versions (e.g., to prevent 'color' from overriding 'colors', see issue #4297) rr}rrHr$r?rr<r;rdasheddashdotr)rrrr6rlrrc3dK|](}t|jtj*ywr) issubclasscategoryrre)rwis r%rz0test_eventplot_problem_kwargs..s)""++s'G'GH"s.0N) rlrmrnrWr)rrrrr)recwarnrhrrr/rs r%test_eventplot_problem_kwargsrsIINN1 II  bT " ) ) +E II  bT " ) ) +E 5>D **,C OO E OOD:* !1v !f '2((3 5 w<1   " " "" "r'ctjdd\}}|jggdgtjy)Nr;)rrrrrr)rrrr.s r%test_empty_eventplotrs5ll1a GCLL"34L5HHJr'rrV)Nr]rTc|ind|i}tjdd\}}|j|fi|tjy)z#Introduced when fixing issue #6412.NrVr;r)rrVoptsr/r$s r%test_eventplot_orientationr sE$2=+*FDll1a GCBLLHHJr'ctjdddtjdddtjdddg}tjdddtjdddg}|j}|j|d|j|d|j}|j||gy) Nrr;r<rrr|r)r)r7rr)r"r#ts_1ts_2r$s r%test_eventplot_units_listrs   dAq )8+<+..s3tAw<A#6r')rr0r<rrr)rrrr2) r)rsortedrYmarkersrrirrrlrtr)r/r$rr5rs r%test_marker_stylesr&sllnGC Z''33;;68G NN6  Gw'@ 6 Q BIIbM",,bggbk"nQ.>""QqS&  @@r'zrc_markerfill.pnggl?ctj\}}tjd}t gdD]1\}\}}|t j d<|j||z|3y)Nrc))rAr)rRr)r0rzmarkers.fillstylerD)r)rrlrtrrYrr)r/r$r4idxrrs r%test_markers_fillstyle_rcparamsr6sellnGC ! A ) :!<&_eV38 /0 #f%&r'zvertex_markers.pngcttd}d}gd}tj\}}|j |d|d|j |dddd|d|j ddg|j ddgy)Nr))rrrkrvrlrr=rrr$)rrr)rrrr)rmarker_as_tuplemarker_as_listr/r$s r%test_vertex_markersrAsx b ?D:O9NllnGCGGDBCG@GGD2J"^GEKKRKKRr'zvline_hline_zorder.pngzerrorbar_zorder.pngg9v?cttd}tj}|j }|j |dd|j dddd|j dddd|jdd dd|jd d dd |jd tj}|j }ttd}tjd}ttd}|j|||dddtdD]-}|j |dd ||j | dd |/|jdy)Nrr)rKr}r;r2)rrKr}rrcrr<r=rzaxvline and axhline zorder testrH)rPr}rKr)rKrr}zerrorbar zorder test) rrr)rrcrrvaxvliner7rlrrK)r4r/r$r5rPrDs r%test_eb_line_zorderrMs; U2YA **,C BGGA"QGJJq"QJ/JJqBrJ2JJq1J-JJq1J-LL23 **,C B U2YA  A b ?DKK14asK; 2Y2 1#a 0 A2!3q 12LL'(r'cD|j}|jdd|jddgddgd|jddd |j}|jdd|jddgddgd|jd d gd dgd y)N)rr)rTr;rprrz.-)r;rT)rrr=rIr;rrTr)rrraxliner!s r%test_axline_loglogrks    BFF F*IIr2hR$'IIisI+    BFF F*IIr2hR$'IIq"gd|sI+r'c|j}|jdd|jdd|jddd|jdd d |jd d d |jddd|jdtdd|j}|jdd|j ddgddg|j d d|j dd |j dd |j ddgddgd|j ddy)NrlrprrvrHr=rI)rrr;rr>)gffffffrrr)sloper)r;rrC4)rr;infrrr;r)rrrrrrvrr!s r% test_axlinerxs    BFFgF&IIffIIffDI)IIhI-IIl!4I0IIit4I0IIiuU|4I8    BFFgF&GGRGb!WJJqJJJs$JJJt4J GGRGc4[G-JJt4J r'cB|j}|jdd|jdd|j|jddd|j|jd d d |j|jd d d|j|j}|jdd|j ddgddg|j d dgdd gd|j ddgd d gd |j d d gddgdy)Nrlrprr;rr3rr=rrr3rrrr>)rr)rr;r)rr3rrI)rrrr?rr!s r%test_axline_transaxesrs    BFFgF&IIfAI6IIhatr||IDIIjIFIIh IE    BFFgF&GGRGb!WGGQFRG4G(GGRGaV4G(GGQFRG4G(r'cB|j}|jdd|jdd|j|jddd|j |jdd d |j |jd d |j dd|j}|jd d |j dd|j d dgd dg|j d dgd dgd|j d dgddgd y)Nrlrprr;rrr<r=rrr>)rrr:rrrrI)rrrr?set_size_inchesrr!s r%test_axline_transaxes_panzoomrs    BFFgF&IIfAI6IIjIFIIjIFFFWF% Q"    BFFWF% Aq!GGQFQFGGQFQG4G(GGQFQF$G'r'cltj\}}tjt5|j ddddtjt5|j dddddd|j dtjt5|j ddddd|j d|jdtjt5|j ddddd|jdtjt5|j ddtjdddy#1swY7xYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw)z3Exactly one of *xy2* and *slope* must be specified.rNrvr;)rr-rN) r)rrrrrrOrrrr.s r%test_axline_argsrs@llnGC y ! & y !+ && *+MM% y !# & "#MM(MM% y !# & "#MM( z " &&!  ++####s;E8$F+FF'F*8FFFF'*F3) vlines_basicvlines_with_nan vlines_maskedc>gd}gd}tj\}}|j|d|ddgd}dd d d tjdg}tjd d \}\}}} |j|d|ddgd} tjdd d d dg} |j| d| dd dgd} tjdd d d tjg} | j| d| dd|||| fD]}|j dd|j |j k(sJ|j |j k(sJ|j | j k(sJtj\}}tjjgdd }tjjgdd}tjjgdd}|j|||dd|j ddyN)r<rr/rrc)r<rr~r<rrrrr6)r<rr/rrrcr<rrr~)r/r~)rrrHrF)rr6rr=r)r<r/rr~rr)rr;rrr<r;)rKrrr|rErEr) r)rrurlrrrr masked_equal)r.rr"rrQrRr#rrr@x3r<x4y4r$fig3ax5x5ymin5ymax5s r% test_vlinesr B B ID#JJr1bJ2 B RArvvq !BLLq&AD/3SJJr1bJ2 B &&!RAq !BJJr1bTJB B &&!RArvv &BJJr1bJ2Cc" Ar <<>S\\^ ++ + <<>S\\^ ++ + <<>S\\^ ++ + ID#   0! 4B EE  2A 6E EE  7 >>??? AA==B) hlines_basichlines_with_nan hlines_maskedc>gd}gd}tj\}}|j|d|ddgd}dd d d tjdg}tjd d \}\}}} |j|d|ddgd} tjdd d d dg} |j| d| dd dgd} tjdd d d tjg} | j| d| dd|||| fD]}|j dd|j |j k(sJ|j |j k(sJ|j | j k(sJtj\}}tjjgdd }tjjgdd}tjjgdd}|j|||dd|j ddyr) r)rhlinesrlrrrr r)rr.r"rrRrQr#rrr@r<rrrr$rry5xmin5xmax5s r% test_hlinesrrr'ctj\}}tjddi5|j ddd}tj j |jdsJ dddy#1swYyxYwr)r)rrr rrrrrs r%test_hlines_defaultrrrrrJr/cTgd}|jdddj|dd|d|jdddj|dd|dgd}gd}|jdddj|dd|d|jdddj|dd|dy) N)r2rrrrr<r;rrr)r;r<rr)r2rrr)rrur)r"r#r test_colors expect_xy expect_colors r%test_lines_with_colorsr&s?K Aq!((q!0;q)J Aq!((q!0;q)JI5L 1a '' 1a/;q(J 1a '' 1a/;q(Jr'vlines_hlines_blended_transform)rrctjddd}tj| tjdtjz|zzdz}t j ddd\}\}}|j||d |jdd gd d |jd |j||d |jddgd d|jd y)Nrr/rr<rr;rrr<rrorrrH)rjrkr3rrrcr)yminymaxr3r) rlrtrCrrr)rrrget_yaxis_transformruget_xaxis_transform)rrr/haxvaxs r%$test_vlines_hlines_blended_transformr 8s #tS!A r RVVAIM**R/All1a8OC#sHHQ3JJAwQS0023@HHQ3JJ1vADC4K4K4Mr'step_linestylerc tjdx}}tjdd\}}|j }gd}t ||D]s\}}|j ||d|d|j ||dzd|d|j ||dzd|d |jd dg|jd d gu|||dz|dzd }tjdd\}}|j }gd}t ||D]p\}}|j d dd|d||j d dd|d||j d dd|d ||jd dg|jd d gry)Nrr<)rErFrrrpre)rKrr5r;r=r,rrc)rY0Y1Y2rr )rKrr5rr r ) rlrtr)rr"rrrr)r4r5r/ax_lst ln_stylesr$rrs r%test_step_linestyler Fs IIbMA,,q!$KC ^^ F&Ifi(B 1b6 1q5Q"E: 1q5Q"F; RG RG !1Q3ac 2D,,q!$KC ^^ F&Ifi(B Ta2UF Ta2UF Ta2V$G RG RG r'mixed_collectionctj\}}tjdddd}tj j |gd}|jddgd d gg|jd d gtj j |gd}|jd dgd dgg|jd d g|jgdgdg|jjd|j||j||jdd|jddy)Nr~r~r/r0rradiusr4r5T)match_originalrrFr;rrii)rrrr)rrrrrr|)r)rrCirclerrPatchCollection set_offsetsset_linewidthsset_edgecolorsrr]rrr)r/r$r?r#r$s r%test_mixed_collectionr gsllnGCqFgNA  ( (!T ( BBNNQFRH%&q!f  ( (!T ( BBNNRGc3Z()q!f')9:;HHubbKK2KK2r'ctjtjdtjdd}|j |j jdk(sJy)Nrr;)rr;rr)r)rjrlint32rrget_subplotspec get_geometryrs r%test_subplot_key_hashr sM RXXa["((1+q 1BHHJ    , , ., >> >r')zspecgram_freqs.pngzspecgram_freqs_linear.pngzspecgram_noise.pngzspecgram_noise_linear.pngQ?)rrrc dtjd<d}d}|dz |dz |dz g|dz |d z |d z gg}td |ztj|z }tj d |d |z }tj tjdtjztjj||zjd }td |zdz }tjjd tj tjj|tjj|g}gd}||f||ffD]\} } | dz} tdtj tj"| z} t%t'j(j+d|D]\} }| j-| | || | |t%t'j(j+d|D]:\} }| j-| | || | |dtj.j1<y)z)Test axes.specgram in default (psd) mode.rrrr/r/rrG@ffffff@'@rrr;r<rronesidedtwosidedr)NFFTFsnoverlappad_tosidesrN)r% r& r' r( r) r,rN)rYrintrlrkrtrrrmultiplyouterrrmrnrrrlog2rr)rrspecgramrr)rr& fstims NFFT_freqsr4y_freqs NFFT_noisey_noise all_sidesr5r% r' r( r$r) s r% test_specgramr5 s2;J-. A B!tRT2b5!BsFBsFBtG#< =FR"Wrvvf~-.J !Q"Ann q255y2;;,,VQ778<->-F-F-H  J J Jr')zspecgram_magnitude_freqs.pngz#specgram_magnitude_freqs_linear.pngzspecgram_magnitude_noise.pngz#specgram_magnitude_noise_linear.pngcdtjd<d}d}|dz |dz |dz g|dz |d z |d z gg}td |ztj|z }tj d |d |z }tj dtjztjj||zjd }d |dddf<tj|}td|zdz }tjjd tjtjj|tjj!|g}gd} ||f||ffD]\}} | dz} tdtj"tj$| z} t't)j*j-d| D]\} }| j/|| || | |dt't)j*j-d| D];\} }| j/|| || | |ddtj0j3 =y)z%Test axes.specgram in magnitude mode.rrrr/r/rrGr r r! rrr;r<rNrrr" r magnituder% r& r' r( r) rhrN)r% r& r' r( r) rhr,r)rYrr* rlrkrtrrr+ r, rrrmrnrrrrr- rr)rrr. rr)rr& r/ r0 r4r5r1 r2 r3 r4 r% r' r( r$r) s r%test_specgram_magnituder9 s)2;J-. A B!tRT2b5!BsFBsFBtG#< =FS2Xv./J !Q"A q255y2;;,,VQ778<->-F-F-H  J J Jr')zspecgram_angle_freqs.pngzspecgram_phase_freqs.pngzspecgram_angle_noise.pngzspecgram_phase_noise.pngcdtjd<d}d}|dz |dz |dz g|dz |d z |d z gg}td |ztj|z }tj d |d |z }tj dtjztjj||zjd }d |dddf<tj|}td |zdz }tjjd tjtjj|tjj!|g}gd} ||f||ffD]\}} | dz} tdtj"tj$| z} dD]} t't)j*j-d| D]X\}}|j/|| || | || t1j2t45|j/|| || | || ddddZy#1swYixYw)z,Test axes.specgram in angle and phase modes.rrrr/r/rrGr r r! rrr;r<rNrr" )rphaserr8 dB)r% r& r' r( r) rhr,)rYrr* rlrkrtrrr+ r, rrrmrnrrrrr- rr)rrr. rrr)rr& r/ r0 r4r5r1 r2 r3 r4 r% r' r( rhr$r) s r%test_specgram_angler= s2;J-. A B!tRT2b5!BsFBsFBtG#< =FR"Wrvvf~-.J !Q"A q255y2;;,,VQ778<>?CCCKHTBY^$JIINN1 ))!,biinnQ.?@HI&&u=&t<>J +h -CD )D19Q"''"''$-001cjjl33A6 C )JB"&&+E$2"*6E=CECs8q6::mU#CCC CC FF"RF (  ) cjjl33A6 C )JB"&&"4B"*6E=CECs8q6::mU#CCC CC FF"RF (  ) )r')z#magnitude_spectrum_freqs_linear.pngzmagnitude_spectrum_freqs_dB.pngzangle_spectrum_freqs.pngzphase_spectrum_freqs.pngz#magnitude_spectrum_noise_linear.pngzmagnitude_spectrum_noise_dB.pngzangle_spectrum_noise.pngzphase_spectrum_noise.pngcd}d}|dz |dz |dz g}td|zt|z }tdtjtj|z}tj d|d |z }tj dtjztj||zd tj d zzjd }tjjdtjtjj|tjj|gd z }gd}||d} ||fD]} tt!j"j%d |D]1\} } | j&| fd| i| \} }}| j)dd3tt!j"j%d |D]5\} } | j&| fd| i| ddi\} }}| j)dd7tt!j"j%d |D]1\} } | j*| fd| i| \} }}| j)dd3tt!j"j%d |D]1\} } | j,| fd| i| \} }}| j)dd3y)NrrM r/rrGrr<rr;rrrrr" )r& r( r) rrO r,r< )r* rkrlrr- rtrrr, rrmrnrrrrr)rrmagnitude_spectrumrangle_spectrumphase_spectrum)rr& fstims1r% r( r4r1 r3 r4 rr5r$r) rA rB rs r% test_spectrumr^ :s A B!tRT2b5!G tby3w<' (D bggbggdm,, -F !Q"Aq255y288Aw#7782ryy|;KK  IINN1ii2215ryy~~a7HIJROG3I& )Fw  )SZZ\2215yA )IB 5 5 5a Ou O O D% FF"RF ( )SZZ\2215yA )IB 5 5 5a!Bu!B!B<@!B D% FF"RF ( )SZZ\2215yA )IB 1 1 1! K5 KF K D% FF"RF ( )SZZ\2215yA )IB 1 1 1! K5 KF K D% FF"RF ( ) )r'ctjjd}|D]}|jj d t j d5|djt jd|djt jdt jddddy#1swYyxYw) Nr<T)rsrrrrr;) r)rrr_rrlrrR rrS rr$s r%test_psd_csd_edge_casesra ds **,   "C$  d #$ H %- A 288A; A 288A; ,---s A#C  Cc,|j}|j}|j}|j|j|j}|jj |j jyr)rrr rir] tick_bottomr_ tick_left)r"r#ryax_twinxax_twinyrzs r%test_twin_removerg nsj""$G}}H}}H OO OO  "F LL LLr'ztwin_spines.pnggI +?cd}tjd}|jd|j}|j }|j }|j j jd|||j j jd|jgdgdd \}|jgdgd d \}|jgdgd d \}|jdd|jdd|jdd|jdd|jjj|j|jjj|j|jjj|jt!dd}|j"dd|jd||j"dd|jd||j"dd|jd||j"dddi|y)Nc|jd|jjd|jddjdy)NTF) set_frame_onrr spinesrs r%make_patch_spines_invisiblez5test_twin_spines..make_patch_spines_invisibles6  U# !   'r')r/rr<r^)rE)rhr1TrFzb-)rrr<zr-)rSrrzg-rr<r/r;Ar)rrr5)r!rr!r4r)r)rrrrrk rE set_positionr rrrr_r2r]rr tick_params) rl r/hostpar1par2r#r$p3tkws r%test_twin_spinesru }s( **V $Cd# ?? D ::.+0}}((*m;0'*c3XK|]!}|jjk(#ywrr{ )rr} minor_visibles r%rz*test_rcparam_grid_minor..r r ) rrrpr)rrrrr] majorTicks minorTicks) grid_whichr~ r r/r$s `` r%test_rcparam_grid_minorr s LLdzJKllnGCJJOO 088..0 00 0 088..0 00 0r'c"tj\}}|j|jj |j j djjsJ|jd|jj |j j djjrJ|jd|jj |j j djjsJ|j|jj |j j djjrJy)NrFvisibleT) r)rrrrr]r r| rr.s r% test_gridr sllnGCGGIJJOO 88  q ! * * 6 6 88 8GGEGJJOOxx""1%..::<< <GGDGJJOO 88  q ! * * 6 6 88 8GGIJJOOxx""1%..::<< <rrrF) directionlengthrrpadr labelcolor labelrotation grid_color grid_alphagrid_linewidthgrid_linestyle)rrro rTrhr] reset_ticksr_)r"r#r/r$s r%test_reset_ticksr s"% __    2QdTA  ! ""$%mm  r'c ltjdddddddddd 5tj\}}dddjjj d }|jj d dD]}|j |j k(sJ|j|jk(sJ|j|jk(sJ|j|jk(sJ|j|jk(sJ|j|jk(rJy#1swYxYw) Nr rrrrTrr=) xtick.directionzxtick.major.sizezxtick.major.width xtick.colorzxtick.major.pad xtick.bottom xtick.topxtick.labelsizextick.labelcolorrr;) r)r rrTr]r _size_width _base_pad_labelrotation_zorder_tickdir)r/r$ first_tickr} s r%test_context_ticksr s$ #RSB t!t = >! ,,.R ! $$Q'J##AB'4zzZ-----{{j/////~~!5!5555""j&?&????||z11111}} 3 3333 4!!s D**D3ctj}|j}|jd|j gdt |j dy)Nr)rWrrr)rWr)r)rrcrrrrr.s r%test_vline_limitr s@ **,C BJJsOGG  BKKM9-r'z fv, fh, args)r;rvc tjjd}tjt d5|||dddddtjt d5||d|ddddtjt d5|||dddddtjt d5||d|ddddy#1swYxYw#1swYpxYw#1swYOxYw#1swYyxYw) Nr;z"ymin must be a single scalar valuerqrrz"ymax must be a single scalar valuez"xmin must be a single scalar value)rjrkz"xmax must be a single scalar value)rYrnum2daterrr)fvfhargsbad_lims r%test_axline_minmaxr (s''*G z)M N( DwQ'( z)M N( Dqw'( z)M N( DwQ'( z)M N( Dqw'((((((((((s/ C( C! C- C9C!C*-C69Dctjdddd\}}|djgdgd|dj\}}|dj \}}|dksJ|dk\sJ|dksJ|d k\sJy) Nr;r<T)rrrrbrr)r<r/rrr)r)rrrr)r/rrFr.rGrs r%test_empty_shared_subplotsr 8s||!1T$GHCFKK 9% V__ FB V__ FB 7N7 7N7 7N7 7N7r'cddD]}tjdd\}}|djd|d|djdk(sJ|dj |k(sJtjdd\}}|djd||djd k(rJy) Nboxdatalimr<T)rrr) adjustablesharer;r r)r)r set_aspect get_aspectget_adjustable)r r/rs r%test_shared_with_aspect_1r Ds(- <HCFat$FKKAAFKKAAHHJ q6?? A 1 11 1 q6?? A 1 11 1r'cHdD]}tjdd\}}|djd||djd||djddgd d g|djd d gddgtj|dj |dj k7sJ|dj |dj k(sJ|jj|jjz }|D]}|j}|j|jz }|jj|jjz }||z|z }t|d t|jd k(rJy) Nr r<T)rrbrr r;rrr/)r)rr rrrr bbox_inchesrr get_positionviewLimrr ) r r/r fig_aspectr$r box_aspect lim_aspectrs r%test_shared_with_aspect_3r \sv(C <arc3) arrowstyleconnectionstylesquare lightgrey)boxstyler4)rrrr r)r)r rrr!rRr rr s r%test_pie_center_radiusr sz-F E BFGGGE76&dr#Q'sDLLF8 D179H DF HHWr'zpie_linewidth_2.pngc d}gd}gd}d}tj||||ddddd i tjd y) Nr r r r r Tr4r6r<r rr)r r!r s r%test_pie_linewidth_2r sI-F E BFGGGE76&dr#Q')HHWr'zpie_ccw_true.pngc d}gd}gd}d}tj||||ddddtjd y) Nr r r r r Tr4)r rRrr r r counterclockrr r s r%test_pie_ccw_truer &sD-F E BFGGGE76&drHHWr'zpie_frame_grid.pngc $d}gd}gd}d}tj||||ddddd idd tj|ddd |||ddddd idd tj||ddd ||ddddd idd tjdy)Nr r r r r Tr4r6rrw) r rRrr r r r framer\r)rr<)rrrr r s r%test_pie_frame_gridr 5s-F E BFGGGE76&dr#Q'v' GGE$B$Kdr#Q'v' GGE74R4=dr#Q'v' HHWr'zpie_rotatelabels_true.pngc d}gd}gd}d}tj||||ddddtjd y) N)Hogwartsr r r r r r r Tr4)r rRrr r r rotatelabelsrr r s r%test_pie_rotatelabels_truer PsD1F E BFGGGE76&drHHWr'zpie_no_label.pngc d}gd}gd}d}tj||||ddddd tjd tjd d tjy) Nr r r r r Tr4)r rRrr r r labeldistancer rg333333r1)r)r r!rrKr s r%test_pie_nolabel_but_legendr _s[ ,F E BFGGGE76&drHHWHHT3JJLr'zpie_shadow.pngc Tgd}gd}d}tjdd\}}|ddj|||ddddi |dd j|||d dddi |d dj|||d d d dddddi |d d j|||dddddddi y)Nr r r r<rTr4r6)r rr r r r;FrXr+r0)oxoyshader5rr)r! r6r# r )r rr r rhs r%test_pie_shadowr$ ms E BFGll1a GAtGAJNN5'&2*A.0 GAJNN5'&B*A.0 GAJNN5'&!&ecPVW k1-=? GAJNN5'&!%AD k1-=?r'cgd}gd}tdddddd }tjj||d | \}}}||fD]}|D]}|j |d k(sJ|j |d k(sJ|j |dk(sJ|j|dk(sJ|j|dk(sJ|j|dk(rJy)N)r:"r)z Long name 1z Long name 2z Long name 3r\rAr4anchorrr2)horizontalalignmentverticalalignmentrX rotation_moderr%.2f)rRr textpropsr( r) rXr* rr) rr)rcr get_haget_va get_rotationget_rotation_modeget_sizer)rrRr, r textsr txs r%test_pie_textpropsr4 s D :F', #+E +I  d6609&;Aug'"8 8B99;),A"BB BB99;),?"@@ @@??$ *(== =='')Y-GG GG;;=If$55 55<<>Yw%77 77  88r'ctj\}}tjt5|j gdgddddy#1swYyxYw)N)rrr)rrrr r)rrrrr r.s r%test_pie_get_negative_valuesr8 sBllnGC z "0 z;/000 AActj\}}tjt5|j gdddgdddy#1swYyxYw)Nrrr6 r7 r.s r%test_pie_invalid_exploder; sFllnGC z ". y3*-...r9 ctj\}}tjt5|j gdddgdddy#1swYyxYw)NrOneTworQr7 r.s r%test_pie_invalid_labelsr? sFllnGC z "1 y%0111r9 ctj\}}tjt5|j gdddddy#1swYyxYw)Nrr)r r7 r.s r%test_pie_invalid_radiusrA sBllnGC z "% y$%%%s AActj\}}gd}|j|d}t|ddjdz dksJ|j|d}t|ddjdz dkDsJy) NrrrT)r4 normalizerrgv@rTF)r)rr rRr)r/r$r4t1t2s r%test_normalize_kwarg_pierG sllnGCA !t $B r!uRy$& '$ .. . !u %B r!uRy$& '$ .. .r'cgd}d}|jj|||jj|\}}|Dcgc]}|j|c}ycc}w)NrC rr)rr set_hatch)r"r#r4r6wedgesr rgs r%test_pie_hatch_singlerK s_A E AU+  "&&q)IFA!'(AQ[[((sA*cgd}gd}|jj|||jj|\}}t||Dcgc]\}}|j|c}}ycc}}w)NrC )r4rrr)rr rrI )r"r#r4r6rJ r rghps r%test_pie_hatch_multirN siA E AU+  "&&q)IFA"%fe"45BQ[[_55sA;zset_get_ticklabels.pngg?cDtjd\}}ddg}|djtjd|dj |d|djtjd|dj |d|dj td|djtd|djgddd gzz|djgd dd gzz|dj |dj|dj|dj|dj|dj|dj|djy) Nr<rozset_x/yticklabelsrrr;rr$r?rrr)11121314)r)rrrlrtr7 set_xticksr set_yticksset_xticklabelsset_yticklabelsrj get_yticksrget_yticklabels)r/r$rHs r%test_set_get_ticklabelsr[ s`ll1oGC ' (BqEJJryy}qEOOBqEqEJJryy}qEOOBqEqEU2YqEU2YqE.bT9:qE2Q"X=>qERU%%'(qERU%%'(qE"Q%//12qE"Q%//12r'ctj\}}gd}tjtd5|j j |ddddy#1swYyxYw)z] When labels=None and any kwarg is passed, axis.set_ticks() raises a ValueError. rz)Incorrect use of keyword argument 'alpha'rqrrN)r)rrrrr] set_ticks)r/r$tickss r%0test_set_ticks_kwargs_raise_error_without_labelsr_ sS llnGC E z)T U- 5,---s AA'c|j}|jgd|jgdd|jgd|jddgd |j d d gd |j}|jgdgdd|jgd|jddgd d gd y ) z Test that these two are identical:: set_xticks(ticks); set_xticklabels(labels, **kwargs) set_xticks(ticks, labels, **kwargs) )r;r<r/rrP bold) fontweightrr<r/T)rrrN)rrU rW rV rX r!s r%test_set_ticks_with_labelsrc s    BMM,+?MM)MM1a&M%Sz.    BMM, 4MHMM)MM1a&3*DM1r'c8tjj}tjt d5|j ddgddddtjtd5tjtjdjddddtjtd5tjtjdjd dddtjtd5tjtjdjdtd dddtjtd5tjtjdjd td dddy#1swYxYw#1swY?xYw#1swYxYw#1swYxYw#1swYyxYw) Nzmust be a sequencerqr<rorz must be 1Dr/rlrkrQ) r)rrrrrrU rrYrlrtrrrs r%test_xticks_bad_argsre sn  ! ! #B y(< =# q!fc"# z 62 299Q<''012 z 62 299Q<''012 z 6C 299Q<''0qBC z 6C 299Q<''0qBCC##2222CCCCs=G68G+8G8,AHAHG(+G58HH Hc tj\}}|jtjd|j j tjddz|jd|j jdDcgc]}|c}tj|j jDcgc]}|j}}|gdk(sJycc}wcc}w)Nrrrry bcdefghijk)r$rrZrrD) r)rrrlrtr]r] rset_ticklabelsrget_ticklabelsr+)r/r$r?rrRs r%test_subsampled_ticklabelsrj sllnGCGGBIIbMHHryy}s*+AHH 51Q56HHJ$&HH$;$;$= >qajjl >F > . .. .6 >s  C;DcJtj\}}|jtjd|j j ddgtjt5|j jgddddy#1swYyxYw)Nrrr<r) r)rrrlrtr]r] rrrrh r.s r%test_mismatched_ticklabelsrl (snllnGCGGBIIbMHHSz" z "1 0111s 2BB"ctj\}}|jddgddg|jddg|j gy)Nr;r<)r)rrrU rW r.s r%test_empty_ticks_fixed_locrn 0sEllnGCFFAq6Aq6MM1a&rr'zretain_tick_visibility.pngctj\}}tjgdgdtj|j d|j dddy) NrF)rrr/Fr r5rrr!rr )r)rrsetprZ ro r.s r%test_retain_tick_visibilityrr 8sHllnGCHHY #HHR   !51NN6!N4r'ctj\}}tjtd5|j ddgdddtj\}}|j gdtjtd5|j ddgdddy#1swYkxYw#1swYyxYw)Nz:set_ticklabels\(\) should only be used with a fixed numberrqr"rrEz$The number of FixedLocator locations) r)rrrrJrW rU rrr.s r%test_warn_too_few_labelsrt @sllnGC  N P) C<() llnGCMM+ zC E) C<())))))sB1B=1B:=Cctj\}}d}|jjtj||j gd|j dd|jj|jjDcgc]}|j}}|gdk(sJycc}w)Nc|dk(rdSdS)Nr; unit valuerrrs r%formatter_funcz.test_tick_label_update..formatter_funcUs Av|-2-r')rrr;r<rrr<)rrrw rr) r)rr]rrrU rrrri r+)r/r$rx r} tick_textss r%test_tick_label_updaterz OsllnGC.HH  !2!2>!BCMM"#KKcJJOO.0hh.E.E.GHd$--/HJH 7 77 7Is$Czo_marker_path_snap.pngHcbtj\}}|jdtddD]/}|j ddgt j d|zd|1t jdddD]/}|j d d gt j d|zd|1y) Nrr;rr<r)rrrNrr/)r)rrPrrrlrr)r/r$rs r%test_o_marker_path_snapr} bsllnGCJJrNArl7 A"''!*r/3267kk!R$7 A"''!*r/3267r'c*ddg}d}t|dz }t|}t|}tjdd\}}|j ||j d|j dk(sJ|j|||z dzz |||z dzzfk(sJ|j|||z dzz |||z dzzfk(sJtjdd\}}|j ||j dd|j dk(sJ|j|||z dzz |||z dzzfk(sJ|j|||z dzz |||z dzzfk(sJtjdd\} } | j || j d d | j d k(sJ| j|||z d zz |||z d zzfk(sJ| j|||z dzz |||z dzzfk(sJy) Nr;rrrrvrr<)rr<皙ɿr)r r) rrkrr)rrrPrr) rrjrkrrr"rr#rrrs r% test_marginsr msi r7D D t9s?D t9D t9D Q"ID#HHTNKKN ;;=F "" " <<>ddTkQ%66"dTkQ%668 88 8 <<>ddTkQ%66"dTkQ%668 88 8 Q"ID#HHTNKKQ ;;=H $$ $ <<>ddTkS%88"dTkS%88: :: : <<>ddTkQ%66"dTkQ%668 88 8 Q"ID#HHTNKK$#K ;;=K '' ' <<>ddTkT%99"dTkT%99; ;; ; <<>ddTkS%88"dTkS%88: :: :r'ctj}|j}|jdd|j dk(sJ|j dk(sJy)Nrr)r)rrrP get_xmargin get_ymarginr.s r%test_margin_gettersr sQ **,C  BJJsC >> s "" " >> s "" "r'ctjjdtj\}}|j ddgddg|j dd|jdk(sJy)Nrr;r<r-r)rxmarginr.)rrrr)rrrrr.s r%test_set_margin_updates_limitsr s[IIMM)llnGCGGQFQFFF%F# ;;=F "" "r')rz!margin must be greater than -0\.5rkrz@Cannot pass both positional and keyword arguments for x and/or yrz&Must pass a single positional argumentctj||5tj}|j }|j |i|dddy#1swYyxYwr )rrr)rrrP)r r rrrr/r$s r%test_margins_errorsr sQ s% ($jjl __  D#F#$$$s 7AA!cxtj\}}|jd|jdgyNr;)r)rrr.s r%test_length_one_histr s)llnGCGGAJGGQCLr'ctj}|j}|jdd|j dk(sJ|j dk(sJ|jd|j dk(sJ|j dk(sJ|jd|j dk(sJ|j dk(sJ|j dd|jdk(sJ|jdk(sJ|j d|jdk(sJ|jdk(sJ|j d|jdk(sJ|jdk(sJy) Nrr)rrr)rG )rr)r)rr) r)rrr get_xboundrr get_yboundrr.s r%test_set_xy_boundr s] **,C  BMM#s ==?j (( ( ;;=J && &MMM ==?j (( ( ;;=J && &MMM ==?j (( ( ;;=J && &MM#s ==?j (( ( ;;=J && &MMM ==?j (( ( ;;=J && &MMM ==?j (( ( ;;=J && &r'cdgdz}tjdd\}}|j|||jt j y)Nrrr;)r)rrrsrqrr)mylistr/r$s r%test_pathological_hexbinr sATCZFll1a GCIIffKK r'cbtj\}}|jddgddgdy)Nr;r<rIrr.s r%test_color_Noner s+llnGCGGQFQF$G'r'ctj\}}|jddgdd}d|jk(sJy)Nrr;rrI)r)rrrr/r$rs r%test_color_aliasr sAllnGC 77Aq6V7 $Q 'D T^^% %% %r'ctj\}}|jtdgdztd|j y)Nrrr)r)rrrrKr.s r%test_numerical_hist_labelr s8llnGCGGU2YK!O58G,IIKr'ctj\}}d}d}|jdd|jdg}|jt dgdz||j y)Ns 很漂亮, römän chäráctèrssשלוםzutf-8z hi aardvarkrrr)r)rdecoderrrK)r/r$rr$rRs r%test_unicode_hist_labelr sellnGC @A+AhhwhhwF GGU2YK!O6G*IIKr'ctjjddz}tj\}}|j ||j j |jjj}|jjjdk(sJ|jj|j j |jjj}|d|dkDr |d|dk(sJ|jjjdk(sJtj\}}|j ||j j |jjj}|jjjdk(sJ|jj|j j |jjj}|d|dk(r |d|dkDsJ|jjjdk(sJy) Nrg^ 9^;rSrr;rErArR)rlrmr)rrrrr_ offsetTextr r^ tick_rightr]get_verticalalignmentr)rr/r$beforeafters r%test_move_offsetlabelr s 99  B % 'DllnGCGGDMJJOO XX - - /F 88   6 6 8F BB BHHJJOO HH   , , .E 8fQi E!Hq $99 9 88   6 6 8G CC CllnGCGGDMJJOO XX - - /F 88   4 4 6% ?? ?HHJJOO HH   , , .E 8vay U1Xq %99 9 88   4 4 6( BB Br'z rc_spines.pngcddddd}tj|5tjdddy#1swYyxYw)NF)zaxes.spines.leftzaxes.spines.rightzaxes.spines.topzaxes.spines.bottom)rYr r)r)rs r%test_rc_spinesr sE"" # %G   w ' s ;Az rc_grid.pngctj}ddd}ddd}ddd}|||g}t|dD]6\}}tj|5|j dd|ddd8y#1swYCxYw)NTr)r]zaxes.grid.axisr4r5r;r)r)rrrYr r)r/rc_dict0rc_dict1rc_dict2rrBrs r% test_rc_gridr s **,C H H H8X.I 1-% 7  " "7 + % OOAq! $ % %% % %s A//A8 cddddd}tj|5tj}|jddd}|j}|j }|j drJ|j dsJ|jdrJ|jdsJ|j dsJ|j drJ|jdsJ|jdrJ dddy#1swYyxYw)NFT)r r ytick.left ytick.rightrr;tick1Ontick2Onr)r rrr]r__major_tick_kw_minor_tick_kwrr/rxaxyaxs r% test_rc_tickr 5sTE 3A 1 1jjlooaA&iiii%%i000!!),,,%%i000!!),,,!!),,,%%i000!!),,,%%i0000111s CC00C9c ddddddddd}tj|5tj}|jddd}|j}|j }|j drJ|j dsJ|jdrJ|jdsJ|j drJ|j dsJ|jdrJ|jdsJ dddy#1swYyxYw)NTF)r r r r zxtick.minor.bottomzxtick.major.bottomzytick.major.leftzytick.minor.leftr r;r r r r s r%test_rc_major_minor_tickr Is4T$E"  ?A 1 -jjlooaA&iiii%%i000!!),,,%%i000!!),,,%%i000!!),,,%%i000!!),,,---s CC44C=c.tjd}tjgd}tj\}}|j ||d|j d|j|j}}tj|tj|k(sJ|jdk(sJt|jdjdt|jd jd y) Nr/)rrrrmor r;T)originalg?rr+r+F)g333333?rg?r+)rlrtrNr)rrr!rrrr rr r )r4r5r/r$rrs r%test_square_plotr `s ! A !"AllnGCGGAq$GGH $D 774=BGGDM )) ) ==?a   &..0FH '//1KMr'ctjt5tjddddtjt5tjdddddtjt5tjt j dt j ddddtjt5tjt jdjdt jdjddfdddy#1swYxYw#1swYxYw#1swYxYw#1swYyxYw)Nrwrrrkrr;) rrrr)rrlrrtrrr'r%test_bad_plot_argsr os z "  z " t z "5 &!288F#345 z "O "))A,&&w/11E1Eb!1LMNOO 55OOs0E E =E&'AE2 EE#&E/2E;zxy, clsr))rrc)r<r)r;r<r/r~r|r!)r/rr)rr/cvtj\}}t|jg|||k(sJyr)r)rrr)rrclsr/r$s r%test_pcolorfastr zs9llnGC   (r(4( )S 00 0r'c*tj\}}tjtd5|j t jdt jdt jddddy#1swYyxYw)Nz)the given X was 1D and the given Y was 2Drqr)r/rcr )r)rrrrrrlemptyr.s r%test_pcolorfast_bad_dimsr sgllnGC  I LG bhhqk288F#3RXXf5EFGGGs A B  Bc Ntj\}}tjtd5|j t jdt jdt jjdddddtjtd5|j t jd t jdt jjdddddy#1swYxYw#1swYyxYw) am Test that the sizes of X, Y, C are compatible for regularly spaced X, Y. Note that after the regualar-spacing check, pcolorfast may go into the fast "image" mode, where the individual X, Y positions are not used anymore. Therefore, the algorithm had worked with any regularly number of regularly spaced values, but discarded their values. zKLength of X \(5\) must be one larger than the number of columns in C \(20\)rqrrGrr}NzHLength of Y \(5\) must be one larger than the number of rows in C \(10\)r) r)rrrrrrlrtrmrr.s r%,test_pcolorfast_regular_xy_incompatible_sizer sllnGC  ? @K biilBIIbM299>>"b3IJK  < =K biimRYYq\299>>"b3IJKK KK KKsAD.ADDD$ctjdddd\}}|djd|djd|jD],}|j dk(sJ|j dk(r,J|djd|djd|jD],}|j dk(sJ|j dk(r,Jy)Nr<Tr rr-rvrN)r)rrOrr get_yscale get_xscaler/rr$s r%test_shared_scaler s||Aqd;HCIIhh(}}%'''}}%'''(I"I"hh+}}(***}}(***+r'ctjt5tjddddtjt5tjddddy#1swYBxYw#1swYyxYw)NTrra)rrrr)rjrr'r%test_shared_boolr sa y !! 4 ! y !! 4 !!!!!!sA2A>2A;>BcXtjtjddgy)z4Violin plot should handle point mass pdf gracefully.rN)r)rrlrNrr'r%test_violin_point_massr sNN288QF#$r'c tdtjdgtdtjdgz}tddgdgdgdgtjdtjddg}td|}td |}tdggtdggztdgdgztd gdgz}||z}||z}||z|z}g||||S) Nr4rr5r r;)r;r;r;r;r;)r<rrOrP)r rlrtr)base_xy err_cyclerxerr_cyyerr_cyr xerr_only yerr_onlyboth_errs r%generate_errorbar_inputsr sS299Q<.)F3 ,EEG /!0!0!2 " " $  "#JVZ(GVZ(GS2$&rd"33 FRJ '(*0"d*DEE'!I'!I 7*H 6Y 6 6X 6 66r'cptj}|jdi|}|jy)Nr)r)rcrKri)rr$ebs r%test_errorbar_inputs_shotgunr s) B  v BIIKr' dash_offsetctj\}}tjdd}tj|}t dddD]}|j |||z|dfddy) Nrrrr<rrrr=)rrKr)r)rrlr ones_likerr)r/r$r4r5rDs r%test_dash_offsetr sdllnGC ArA QA 1c1 ; 1Q3Ax=Qc:;r'ctj\}}|jdd|jj }|dd|j zk(sJ|jdd|jj }|ddk(sJ|jdd|jj }|dt jddz |j zk(sJy) Naardvarkr-r rkg?rz axes.titlepadr0)r)rr7titleOffsetTrans get_matrixr&rYr)r/r$rs r%test_title_padr sllnGCLLL% &&(A U8 CGG+ ,, ,LLL$ &&(A U8r>>LLL& &&(A U8 ++O._helper_x^Khhj  Ar (BHH & & ( *urzzr'c|j}|j|jdd|jj }|ddkDsJyr )r rirr_r r s r% _helper_yz&shared_axis_remover.._helper_yer r'r)param)requestr r s r%shared_axis_removerr \s" +GMM ::r')rcrsubplots_sharedrOc|jdk(r(tj}|j}||fS|jdk(rtj\}}||fS|jdk(r(tjdddd\}}|dd}||fS|jdk(r'tj}|j gd }fS) Nrcrr r<rr rrOrrrr)r r)rrcrrO)r r/r$r s r%shared_axes_generatorr os}}jjl WWY 7N * $,,.R 7N + +ll1aeD V AYq\ 7N * $jjl \\* + 7Nr'c|\}}||yrr)r r r/r$s r%test_remove_shared_axesr s#GCr'ctjdddd\}}|dd}|ddj}|j|j ddt |ddj|y)Nr<rr rr;r)r)rrrirr)r/r r$ orig_xlims r%test_remove_shared_axes_relimr so,,q!E%@KC 1Bq ! %%'IIIKKK1vay|,,. :r'ctjddd}tjj|j|jf}t j dddd\}\}}|jdd |jdd |j||||j||||js|jrJ|js|jrJ|j|jcxk(rd k(sJJ|j|jcxk(rd k(sJJy) Nir4rr<r;Tr r)r r)rlrtrm random_samplerr)rrrr rVrXrr)r rr/rrs r%test_shared_axes_autoscaler s #r2A  01All1aTBOC#sLLLLKK1aKK1a$$&s/D/D/FF F$$&s/D/D/FF F <<>S\\^ <} << << < <<>S\\^ <} << << > C C EE E HHR]]_ %3A)> > C C EE Er'cVtj\}}|jgdy)N)rr)r)rrjr.s r%test_broken_barh_emptyr sllnGCNN2x r'ctj\}}tjdddddd}|j|tjdfgddg}|j dj dtj|k(sJ|j dj d tj|d zk(sJy ) z9Check that timedelta works as x, dx pair for this method.rerGrorr;rfr<rr<rgUUUUUU?N) r)rr7rjrrverticesr9r:)r/r$d0pps r%test_broken_barh_timedeltar$ sllnGC   4Q1a 0B "h00q9:;aV DB <<>!  % %d +vr/B BB B <<>!  % %d +vr/BV/K KK Kr'c|jdd}tjd}tjj dd}t j \}}|j|||y)Nz 2000-01-01r)rtr}rro)rxrlrtrmrr)rr)r|timedepthrr/r$s r%test_pandas_pcolormeshr( sT ==r= 2D IIbME 99>>"a DllnGCMM$t$r'cftjddd}tjtt |}|j ||d}t j}|tj|jdzdk(j}|jdd | y) Nz2005-02z2005-03r0r)rr r<r;rr r_) rlrtrrrrr)rcrNrrRr)r|rr rr$without_zero_indexs r%test_pandas_indexing_datesr+ s IIi/ BE VVE#e*% &F 8 9B BBHHRXX.2a78==?GGGX$6G7r'c|jtjjdgdgd}t j \}}|j dddd | y) N)rr/r)r4r5xeyerJ)columnsrr4r5r- r. r~)rrlrmrLr)rrKrs r%test_pandas_errorbar_indexingr0 sV bii''V'44+  -BllnGCKKSt$RK8r'c|jgdgdd}tj\}}|j|j|dy)Nr)rcr;r<)XXYYr3 )rr)rrrrs r%test_pandas_index_shaper4 s: Yi8 9BllnGCGGBHHbhr'c|jgd}|jdd}tj\}}|j |y)N) r;r<r<rrr/r/r/r/rr_r;)rilocr)rr)r|ser_1ser_2r/r$s r%test_pandas_indexing_histr9 s< II9I :E JJqrNEllnGCGGENr'c0|jtdtdd}tjd\}}|j |j |ddk(df|j |ddk(dfd|j jy)Nr<r^r;rr$r\rD)rrr)rrrCrrrs r%test_pandas_bar_align_centerr; s E!H584 5Bll1oGCFF266"S'Q,# $ 66"S'Q,# $ JJOOr'c>tjj}i|jd}i|jd}|j |j d}|j |j d}||k(sJ||k(sJ|jdddd i|jd}i|jd}|j |}|j |}||k7sJ|j |k(sJ||k7sJ|j |k(sJy) Nrx rrT)reverserr2r r)r r r r)r)rjr_get_tick_params_translate_tick_paramsr r set_tick_params) r!initial_major_style_translatedinitial_minor_style_translatedtranslated_major_kwtranslated_minor_kwnew_major_style_translatednew_minor_style_translatednew_major_stylenew_minor_styles r%test_axis_get_tick_paramsrI sb ;;=  D%L(<(<7(<(K%L"%L(<(<7(<(K%L"55 T655 T6 "@ @@ @ "@ @@ @2%#(8"ID$8$8w$8$G!H!HD$8$8w$8$G!H112LMO112LMO )-G GG G   / 11 1 )-G GG G   / 11 1r'ctj}|jjddd|jjdj dk(sJ|jjdj jdk(sJ|jjdjjdk(sJ|jjdjjdk(sJy) Nrr2r )r r r rrr=r-) r)rjr_r@ r r tick1linerr*r1 )axis_1s r%.test_axis_set_tick_params_labelsize_labelcolorrM s [[]F LL  2%+0!2 << " "1 % + +s 22 2 << " "1 % / / 9 9 ;s BB B << " "1 % , , 5 5 74 ?? ? << " "1 % , , 6 6 8E AA Ar'ctj}|jdddd|j|jfD]}|j dj jdk(sJ|j dj jdk(sJ|j dj jdk(sJ|j dj jdk(rJy)Nr$rrr)r r r r rr) r)rjro r]r_r r| r get_linewidthrr )r$r!s r%test_axes_tick_params_gridlinesrP )s BNNc!"+-"(("Cq!**446#===q!**88:a???q!**446#===q!**88:dBBB Cr'c$tj}|jddd|jddd|jjdj j dusJ|jjdjj dusJ|jjdj j dusJ|jjdjj dusJy)NFTrx ) labelleft labelrightrrr) r)rjro r_r r*rlabel2r rs r% test_axes_tick_params_ylabelsiderU 5s BNNUt "NNUt " 88  q ! ( ( 4 4 6% ?? ? 88  q ! ( ( 4 4 6$ >> > 88  q ! ( ( 4 4 6% ?? ? 88  q ! ( ( 4 4 6$ >> >r'c$tj}|jddd|jddd|jjdj j dusJ|jjdjj dusJ|jjdj j dusJ|jjdjj dusJy)NTFrx )labeltop labelbottomrrr) r)rjro r]r r*rrT r rs r% test_axes_tick_params_xlabelsiderY Cs BNNDe "NNDe " 88  q ! ( ( 4 4 6% ?? ? 88  q ! ( ( 4 4 6$ >> > 88  q ! ( ( 4 4 6% ?? ? 88  q ! ( ( 4 4 6$ >> >r'ctjj}|jt dd\}|j dk(sJy)NrrGrE)r)rrrrr )r$lns r%test_none_kwargsr\ SsE    B ''%)t' ,CB    $$ $r'cgd}tjtj|tjgdd}t |j |D]\}}|jd|k(rJy)Nr!r)r<rr/rr3rDr)r)rrlrNuint8rr;r)rr$rr4s r%test_bar_uint8r_ Ys\ B 288,l&IA!))R( xx{a r'zdate_timezone_x.pngrc tdDcgc]9}tjddd|tjj d;}}t j dt jdd d tjtj5t j|dgdzd dddt jdd dtjtj5t j|dgdzd dddycc}w#1swYnxYw#1swYyxYw) Nrr<rCanada/Easternrtzinfor}rr<r;)tzUTC rr7rrf gettzr)rrjrrrrerfr4 time_indexs r%test_date_timezone_xrl `s !8%##D!Ra+3;;+<+<=M+NP%J% JJx KK1a c66 7@ j1#'.>?@KK1a c66 75 j1#'e455%@@ 55s>D#D(=D4(D14D=zdate_timezone_y.pngc tdDcgc]9}tjddd|tjj d;}}t j dt jdd d tjtj5t jdgdz|dd d dddt jdd dtjtj5t jdgdz|d d d dddycc}w#1swYpxYw#1swYyxYw)Nrra r<rrb rc re r<r;FT)rf xdateydaterg rh rj s r%test_date_timezone_yrp ss !8%##D!Ra+3;;+<+<=M+NP%J% JJx KK1a c66 7Y qcAgz.>eSWXYKK1a c66 7N qcAgze5MNN%YY NNs>D'D,?D8,D58Ezdate_timezone_x_and_y.pngc ntjj}tdDcgc]}tjddd||}}t j dt j dddtjtj5t j||d d dddt j dddtjtj5t j||d d dddycc}w#1swYkxYw#1swYyxYw) Nrra r<rrc re r<r;rg T)rf ro z US/Eastern) r7timezoneutcrr)rrjrrrrerf)rg r4rk s r%test_date_timezone_x_and_yrt s     C 8%##D!RaD%J%JJx KK1a c66 7D j*dCDKK1a c66 7K j*TJKK% DD KKs!DD7D+D(+D4z axisbelow.pngctjjddd}d}t||D]\}}|j ddddt j d d }|j||jd d d|jdddd|jddjd|j||j|k(rJy)NrT)rrrb)FrTr:rrrrrHrIr?rE)rrr6F)rArRrSrE)r)rrrrrr rrro rk r set_axisbelow get_axisbelow)rsettingsr$settingcircs r%test_axisbelowr{ s **,  aT  BC$H3) - G Rs3vS1 T cSA6 5!  0 !   ' !!W,,, -r'ctjjdtjd\}}|j }|j d}|j d}|jj|jj}|j|j}|j|j}||z }tj|dsJy)Nrr{ )r&Xlabel2Titler)r)rrrr r*r7rr get_rendererget_window_extentrGrrlisclose) r/r$rxlabel2r3renderer bbox_y0_titlebbox_y1_xlabel2y_diffs r%test_titletwinyr sIIMM'llr"GC ((*CnnY'G LL !EJJOOzz&&(H++H588M//9<s ^^FllnGC 1XHggeAhffU1XuQx( HB",,.)VB4D4D4F-GG GG HHr'ctjdd\}\}}|jddgddg|jddgddg|jj dd|j j dd|j dD]}|jdk(rJ|jdD]}|jdk(rJ|jd d |jd d |j dD]}|jd k(rJ|jdD]}|jd k(rJy)Nr;r<rrr)rrXr4rr45)r!r r5r)r!rXrx ) r)rrr]r@ r_rr/ rZ ro )rr$rtexts r%test_tick_param_label_rotationr Hsf\\!Q'NC"cGGQFQFHHaVaVHH6B7HH6B7"""0)  "b((()"""0)  "b((()OOBO/OOrO*##'#2)  "b((()##'#2)  "b((()r'ctj\}}tdD]s}|jtdtd}t j d|}t |jjt |k(rsJtddD]s}|jtdtd}t j d|}t |jjt |k(rsJt j d}dD]_}|jtdtdfi|di}t |jjt |k(r_Jt j d}tddgdD]\}}|jtdtdfi|di}t j d|}t |jjt |k(sJt |jjt |k(rJy) Nrrrr=)r4rrr5rf)ro) r)rrrrrrrsqueezer-rr) r/r$rDcctargetal edge_targetel face_targets r%test_fillbetween_cycler [sllnGC 1XE __U1XuQx 01QC)R&&(0023uV}DDDE 1a[E   eAha 11QC)R&&(0023uV}DDDE __S !F2E R__U1XuQx =B9 =R&&(0023uV}DDDE//#&KK6a@J2 R__U1XuQx =B9 =oo!g. R&&(0023u[7IIIIR&&(0023u[7IIII Jr'cdtjd<tj\}}d}|j||j ddgddg|j \}}|j j}|j||g\}}|jddg\}} | |z |z} t|| z|| z g|| gy)Nrr rrr) r)rr set_xmarginrrr]rr3r) r/r$marginxlim0xlim1r3xlim0txlim1tx0tx1trs r%test_log_marginsr ws*0CLL&'llnGC FNN6KKS B9%;;=LE5&&(I((%8NFF""B9-HC 3Y& EVe^Ve^4sCjAr'cd}tj|tj|}}tj|dz}tj\}}t j t 5|j|||dddt jd5|j||dddd|j||dg|zy#1swYUxYw#1swY.xYw)Nrr;rIrrqrK) rlrtr)rrrrr=r)rr4r5rr/r$s r%test_color_length_mismatchr s A 99Q<1qA YYqs^FllnGC z "# 1a6 "# F G, 1a? +,JJq!(1,J- ##,,s5C(C*C'*C3c\tjdgdtjy)NrLabelr)r)rrKrr'r%test_eventplot_legendr sMM3%w'JJLr'rzlineoffsets cannot be emptyrzlinelengths cannot be emptyrzlinewidths cannot be emptyrlzlinestyles cannot be emptyrzalpha cannot be emptyz!positions must be one-dimensionalz5lineoffsets and positions are unequal sized sequencesz5linelengths and positions are unequal sized sequencesz4linewidths and positions are unequal sized sequencesz4linestyles and positions are unequal sized sequencesz/alpha and positions are unequal sized sequencesz0colors and positions are unequal sized sequencesctj||5tj|i|dddy#1swYyxYwr )rrr)rr s r%test_eventplot_errorsr s8* s% (' t&v&'''r c2tj\}}|jtdd|j ddtdd|jddgddgd\}}|j |j cxk(rdk(sJJy)Nr/r;r)rSr)rrrr>r)r)rrrrr[)r/r$rect1rect2s r%test_bar_broadcast_argsr sllnGCFF58QGGAquQxG*661a&1a&4D6ELE5    E$7$7$9 M=M MM MM Mr'ctjddgddgtjt5tj t jdddtjt5tj t jdddtjt5tjt jdddtjt5tjt jdddy#1swYxYw#1swYxYw#1swYgxYw#1swYyxYwr) r)rrrrrrlrrrrr'r%test_invalid_axis_limitsr sHHaVaV z "  z "  z "  z "  s/$D09$D<>$E$E0D9<EEErrMr-rctj}|jgd|j||j ||j y)Nr)r)rjrrOrr)rrr$s r%test_minorticks_onr s? BGGLMM&MM&r'ctj\}}|jdd|j}|j ddgddgtj\}}|jdd|j ddgddgt |j j|j jy)Nr;r<rr)r)rrrrrr intervalx)r/r$xtwinr#rs r%test_twinx_knows_limitsr sllnGCJJq! HHJE JJ3x!Q  ID#KK1HHaX1vu}}.. 0E0EFr'c>tjddgddgddy)Nrr;rF)rrK)r)rrr'r%test_zero_linewidthr sHHaVaV+r'ctj\}}|jgggd|jgggd|jy)Nzempty y)rOr2zempty x)rPr2)r)rrKrKr.s r%test_empty_errorbar_legendr sBllnGCKKBRyK1KKBRyK1IIKr'c~tjddd}|Dcgc]}d|dzzd|dzzz d|zzd z}}|Dcgc] }t|}}|Dcgc] }t|}}|jj |||jj ||ycc}wcc}wcc}w) Nrrrg@rrr<g\(\@rJ)rlrtrrr)r"r#rFr4rGrBr5s r%test_plot_decimalr s 3C B@B C1#Q,qAv %q 03 6 CB C  A   A  Q" B# D  s!B0B5B:c|jjdddd|jjddddy)Nrrr0r)rrrg)rr)r"r#s r%test_markerfacecolor_none_alphar sB Qr: As26r'cdtjd<dtjd<tj\}}|j|jj }|j d|j|jj }|j|jksJ|j|jksJy)z5Test that tick padding gets turned off if axis is offr r zytick.directionoffN) r)rr get_tightbboxrr r!rFrGr/r$bbbb2s r%test_tick_padding_tightbboxr s&+CLL"#&+CLL"#llnGC  #**113 4BGGEN  3::224 5C 55366>> 55366>>r'c(d\}}tjtdd|z|tdd|z|f\}}tj|dztjd||zztj|zz}t j \}}|j|||ddddf|jd|jdd g}d d g}|d |d |d|d z |d|d z g} |j| } | jJ|jjtjddgd d gg} tj| j j#j%| k(sJy)z: Ensure that inset_ax argument is indeed optional rrr;rrNrrr333333@r<r<r)boundsr)rlmgridrrrfr)rrr apply_aspectindicate_inset connectorsrrrNr rectangleget_bbox get_points) dxdyr5r4rr/r$rrr^insetxxs r% test_insetr sFB 88E!QVR(!QVR() *DAq q R"&&a!e,rvvay88AllnGCMM!Q#2#ss( $MM"OO ;D s8D GT!Wd1gQ/a471B CD   T  *E    ## #JJOO C9#;  !B 66%//**,779R? @@ @r'cd\}}tjtdd|z|tdd|z|f\}}tj|dztjd||zztj|zz}t j \}}|j|||ddddf|jd|j|jgd}|j|||ddddf|jdd g|jd d g|j|jtjt j"5|j%|\}} ddd|j&j)t+ d k(sJtj,dd gd d gg} tj.j1j3| k(sJtj,ddgddgg} tj4j7|j9j3| dy#1swYxYw)Nr r;rrrr)rrrrrr r<r<r/rg= ףp=?gKXc'?g(\?g ?g-C6?rtol)rlr rrrfr)rrr r r rrr rrrreindicate_inset_zoomrrrrNrr r rrr ) r r r5r4rr/r$axin1recr r s r%test_zoom_insetr (s FB 88E!QVR(!QVR() *DAq q 2 rAaCx(266!944AllnGCMM!Q#2#ss( $MM"OO MM0 1E Q1SbS#2#X;' NNC; NNAs8 R]]_% c66 78007Z8JJOO z?a   C":#;  !B 66#,,.++-3 44 4 FH%H%' (BJJ '')2D:88s /I!!I*zinset_polar.pngc"tj\}}|jgdd}t|tsJt j ddd}dt jz|z}|j|||j||y)N)rrrrTr$rr<r) r)rr rrrlrtrr)r r$axinsrHrs r%test_inset_polarr Jss LLNEAr MM0M =E eY '' ' !QA IMEGGE1 JJuar'ctj\}}|jgdd}t|tsJy)Nrrrrhammerr)r)rr rrr r$r s r%test_inset_projectionr Ws4 LLNEAr MM.8M DE eZ (( (r'ctj\}}|jgdtj}t |tjsJy)Nr )r)r)rr AArrr s r%test_inset_subclassr ]s< LLNEAr MM.277M CE eRWW %% %r' x_inverted y_invertedcntjdd\}\}}tjd}|j ||d|r|j |r|j |jgd|}|j\}}} } |rdnd} |rdnd} | | jd|jdz zdkDsJ| | jd|jdz zdkDsJ| |jd|jdz zdkDsJ| | jd| jdz zdkDsJy) zR Test that the inset lines are correctly located with inverted data axes. r;r<rr)r<r<rr/rrN) r)rrlrtrrrr r rz) r r r/rrr4r lower_left upper_left lower_right upper_rightsign_xsign_ys r%test_indicate_inset_invertedr cs7 ll1a(OC#s " AHHQ3     |S 1E7<7G7G4J KR1FR1F [__Q'*..*;; r>rrrrr ractive)r)rr rn rlr3r rr.s r%test_set_positionr }sllnGCMM"OO(O7 ;;r(.. 44 4MM"OO( O; ;;r(.. 55 5MM"OO(O9 ;;r(.. 44 4r'ctj\}}|jjj |j j }|jddddd|jjj |j j }tjj|j|jdy)N)r8r8rrr Fgư>r ) r)rrk rRr rr _set_view_from_bboxrlrrr r s r%!test_spines_properbbox_after_zoomr" sllnGC    + +CJJ,C,C,E FB// ))   , ,SZZ-D-D-F GCJJr}}0@tLr'ctj\}}d}d}|j||j|d|d|j dt j j||jdt j j||jd|j d d }d }|j}|j}t j j|d|dz d t j j|d|dz d t j j||dt j j|||j d|j}|j}t j j|d|dz dt j j|d|dz dt j j||dt j j||dy)Nrr)rr<rr;r )rrrr atol)rrr)gB!Bؿg{?)gڿg?rr)rrrr) r)rrrr! rlrrrr)r/r$rrrfnew_ylimres_xlimres_ylims r%test_limits_after_scroll_zoomr* sllnGC D DKKKKT!W47K+>*JJtR[[]?JJtR[[]?>*9H"H{{}H{{}HJJx{Xa[8#>JJx{Xa[8#>JJx>JJx2?+{{}H{{}HJJx{Xa[8!<JJx{Xa[8!<JJtXE:JJtXE:r'c0tj\}}t||jtj dd|j j}tjj|j|jdy)Nr;r i) r)rrr rlrrr rrr r)r/r$r s r%test_gettightbbox_ignore_nanr, sdllnGCC GGBFFAuzz&&(HJJr//9??Er'c8tdd}|jtjj d|}|jtjj d|}|jgd|}t j |||y)NrrEr~rr)r;r;r;r;r;rrr)rrrlrmrLr)r=)r|r$r4r5r?s r%"test_scatter_series_non_zero_indexr. sx B-C "))###+3 7A "))###+3 7A *# 6AKK1ar'cbtjggtjggggy)N)rr?)r)r=rr'r%test_scatter_empty_datar0 s"KKBKKB"#r'zannotate_across_transforms.png)rrrc tjddd}tj| tj|z}t j d\}}|j |||jgd}|jd|jjd|jjd|jd |d |d f|jd |jtd y)Nrrr)gQ @rr<)r>rrrrFrrarHr )r )rrrrr)rlrrCrr)rrr r r]r r_r transDatar?r)r4r5r/r$r s r%test_annotate_across_transformsr3 s Ar3A r RVVAYAll9-GCGGAqM MM. /E S KKE" KKE"KK##'",,%//402r'c&eZdZdZdZdZdZdZy) _Translationr;c||_yrr )rxr s r%rz_Translation.__init__s r'c ||jzSrr7 )rxr s r%r3z_Translation.transformsr'c.t|j Sr)r5 r rs r%rsz_Translation.invertedsTWWH%%r'N)rzr{r| input_dims output_dimsrr3rsrr'r%r5 r5 sJK &r'r5 zsecondary_xy.pnggS㥛?ctjdddd\}}d}t|D]\}}|jt j ddt j dd|dk(r |j }n |j}|d ||f |d d d f |dddf |d||dk(rdndtd |d|jy)Nr;r<rT)rrVcdtjd5d|z cdddS#1swYyxYwNrrr;rlrrs r%invertz!test_secondary_xy..invert* [[ ) q5   &/rGrr functionsr>c d|zSNr<rrs r%rz#test_secondary_xy..s Ar'c |dz SrF rrs r%rz#test_secondary_xy..s Qr'rc |dzSrF rrs r%rz#test_secondary_xy..s 1r'c |dzS)Nrrrs r%rz#test_secondary_xy..s Cr'rrArEg@r~) r)rrrrlrtsecondary_xaxissecondary_yaxisr5 r2 )r/rr@ nnr$secaxs r%test_secondary_xyrN s||Aq'dKHCC. ,B  !R "))Ar"23 7&&E&&E cff-. co?@ cn.@AB c  rQweG|AG dbll+ ,r'ctj\}}|jtjddtjddt j t5|jdddddt j t5|jddddt j t5|jddddt j t5|jdd dddy#1swYxYw#1swY~xYw#1swYWxYw#1swYyxYw) Nr<rGrc d|z Sr rrs r%rz%test_secondary_fail.. s QUr'rC rErRerrorr~) r)rrrlrtrrrrJ rK rr.s r%test_secondary_failrR sllnGCGGBIIa bii2./ z "= 3?<= z "$ 7#$ z "% 8$% y !3 3'233 ==$$%%33s0+D$!D0D<E$D-0D9<EEc|tjd\}}|jtjddtjddd}|j d||f|j j|jdt|jjgd y) Nrr<r<rGcdtjd5d|z cdddS#1swYyxYwr> r? rs r%r@ z%test_secondary_resize..invertrA rB rArC )rcr/r ) r)rrrlrtrJ rrrrr r )r/r$r@ s r%test_secondary_resizerU sll7+GCGGBIIa bii2./u(89JJOOBOO%--/EFr'c.tjd\}}|jtjddtjddd}|j d||f}t |jjtjsJ|jt |jjtjsJ|jdtjt |jjtjsJ|jd tjt |jjtjsJy) Nrr<r<rGcdtjd5d|z cdddS#1swYyxYwr> r? rs r%r@ z'test_secondary_minorloc..invert%rA rB rArC r-rN)r)rrrlrtrJ r_axisget_minor_locatorr NullLocatorrAutoMinorLocatorrOr LogLocator)r/r$r@ rM s r%test_secondary_minorlocr] !s7ll7+GCGGBIIa bii2./   u0@  AE ekk335)) ++ +  ekk335.. 00 0MM%HHJ ekk335(( ** *MM(HHJ ekk335)) ++ +r'cltj\}}|jd|jd}|jj t j|jjt|jjt jsJy)Nr-rA) r)rrOrJ r]rrScalarFormatterrrrrr/r$rM s r%test_secondary_formatterra 9sllnGCMM%   u %E KK##G$;$;$=>JJOO  '')7+B+B DD Dr'cttj\}}|jd}t|dk(sJy)NrAz)r)rrJ r8r` s r%test_secondary_reprrc Cs4llnGC   u %E ;- -- -r'zaxis_options.pngc tjdd\}}tdD]\}}|d|fjdd|d|fj ||d|fj t jddd d |d |fjd d|d |fj ||d |fj t jddd d y)Nr<r)scaledrimagerr.)r;g @)rrrr0r=r r;)r;g@)r;r)rr_r)r)rrrr!r:rr )r/rhrBoptions r%test_axis_optionsrh Is Q"IC;< P 6 QT ) QT  QT hooj8>#O P QT  9- QT  QT hook$8>#O P Pr'c ~|jj|jj}g}t|j|j gD]v\}}|j |}|rXtj|j|jf|j|jddddd}|j|||gz }xg}tgdD]\}} |j| j|}tj|j|jf|j|jddddd} |j| ||gz }|j}tj|j|jf|j|jd d ddd } |j| |} |j |} tj| j| jf| j| jdd ddd } |j| | }||| |fS)zS Helper for the tests below that test the extents of various Axes elements rr5r0Nr)rrr6r5r4r3r})rRrArSrErrrr<r2r;)rrr rr]r_r rrrFrGrrr:rk r )r/r$r bbaxisrL axxr axisrbbspinesrspinerr bbaxr bbtbs r% color_boxesrq [sJJOOzz&&(H Fbhh12C   x ( &&bhhryy$E NN5 !2$H=>A YYq\ + +H 5## UUBEEN"((299W$ vRD   B    bhhryyf ENN5 D  8 $C     #**u$ ENN5 D 8T4 ''r'c4tddi5tjdd\}}|jj tj |t ||\}}}}dddgdgdg}tD]F\}}tjj||} t|j| jd Hgd gd gd gd g}tD]F\}}tjj||} t|j| jd Hgd}tjj|} tj| jd gd}tjj|} tj| jd jjjj} t| |j!jd y#1swYxYw)N_internal.classic_modeFrrr&r)g^@g8R@g@g@@)g8`U@gX@gJ@g@r<)decimalb@-]@@F8&@rw g@ry rrw Nё\]@rz @gR!@r} rz r~ rw g]@ry r~ )g+e`U@gbhR@g{G@g{Gȏ@)r r)rrrrlrq rr Bbox from_boundsrr r transformed transFigurer ) r/r$rj rm ro rp r rL r$targetbbaxbbs r%test_normal_axesr s -u5 6<,,37R  #'23';$$ < 3=F6"HA##//<!!((HOOQGH (#(, F 8$HA##//<!!((HOOQGH7F++V4Hdkk8??AF 2F++V4Hdkk8??AF ??  ( ( 9 @ @DdB$8$8$:$A$A1MG<A##//<(//=>7F++V4HDKKt< %F++V4HDKKt<5<E99Fcgdgdggdgdggdgdgg}tgdD]\}}tdd i5tjd d \}}|j | |j j t||\}}}}tddgD]L\} } tjj||| } t|| j| jdN dddy#1swYxYw)zG Switch the tickdirs and make sure the bboxes switch with them )rw r ry +e8&@)rw r rz r~ )rw gZӼ8[@ry 88&@)g r\a@rrz r~ )rw gqq\@ry r )g88b@rx rz r~ )r r inoutrs Frrrt r rr<rr% N) rr r)rro rrrq r r r rr ) r dnumdirsr/r$rj rm ro rp rL rr s r% test_tickdirsr s/-/<-/F<> ?G  67 F d 159 : FllsF;GC NNTN * JJOO +6sB+? (FHdD$aV, FC&++77r9JKSM(((//F F  F F F F Fs B4C88D ctddi5tjdd\}}|jj |j ddt ||\}}}}t ||\}}}}gd gd g}td D]I}tjj||}t||d zj|jd Ktjdd\}}|jj |j dd|j|j ddd|jj t ||\}}}}gdgdg}td D]I}tjj||}t||d zj|jd K dddy#1swYyxYw)Nrs Frrrt rr )rr )rw g88[@ry r )gCiq\a@r} r r~ r<rr% rrrp )rw gPUUUUUB@ry gVUUUUT@)gz6P@r goTT@r~ )r r)rrrro rq rr r r rr r) r/r$rj rm ro rp r rr s r%test_minor_accountedforr s -u5 6D,,37R  Vu5'23';$$'23';$$I79q DA"''33WQZ@H Q&&d D D ,,37R  Vu5  F'"= '23';$$G35q DA"''33WQZ@H Q&&d D D1DDDs F>GGc*|jdjd|jdjd|jd}|jd|jd|jdjdy)Nr_Fr r`Ton)rr!r!s r%test_axis_bool_argumentsr  su ""5) !!%(   c "BGGENGGDM !!$'r'ctj\}}d}d}d}d}|j||||g}t|||||fk(sJ||f|j k(sJ||f|j k(sJy)Nrrrr}r)rr!rrrr/r$rjrkrrrs r%test_axis_extent_argr * sllnGC D D D D WWdD$- .F =T4t4 44 4 $<2;;= (( ( $<2;;= (( (r'ctj\}}d}d}d}d}|j||||}t|||||fk(sJ||f|j k(sJ||f|j k(sJy)Nrrrr})rjrkrrr r s r%test_axis_extent_arg2r : sllnGC D D D D WW$T4W @F =T4t4 44 4 $<2;;= (( ( $<2;;= (( (r'cntjgdgdgd\}}}|ddksJ|ddk\sJy) Nr)rr/rrrrrr;rr)r)rr rs r%test_hist_auto_binsr K s=9l3&AJAtQ 7a<< 8q==r'ctjd\}\}}gd}|tjgz}|j |\}}}tj d5|j |\}} }dddtj j|tj j| y#1swYJxYw)Nr<rrr)r)rrlrrrrr) r/rrrnan_datarr1r nanbinsnanedgess r%test_hist_nan_datar Q sll1oOC#s DrvvhHXXd^ND% X &2"xx112JJtW-JJuh/ 22s B>>Cctjtjj dddd\}}}|ddk(sJ|ddk(sJy) NrrrT)rrrrr;)r)rrlrmrr s r%test_hist_range_and_densityr _ sL"))..,f &6JAtQ 7a<< 8q==r'cDtj\}}gd}|j|||dd}|jj\}}}|j D]F}|D]}|j |j kDrJ|D]} | j |j kDrJHy)Nrrr)r4rrPrr})r)rrrKr!r;r}) r/r$r4barcont data_linecaplines barlinecolsrcapline barlinecols r%test_bar_errbar_zorderr f sllnGCAffqAaf@G'.'7'7'='=$Ix2 /G>>CJJ. .. /% 2J$$szz1 11 22r'ctj\}}|j|jddg|j dk(sJ|jdg|j dk(sJy)NrrrHrrk)r)rrrU rr.s r%test_set_ticks_invertedr u sallnGCOOMM2r( ;;=F "" "MM2$ ;;=G ## #r'ctjd}|j}|jddgddg|j ddddd d |j d |j j|j}|j|jz tjd k(sJy)Nr r<r>rr-r4logit)F]tE?g'^P?r;r rrrrrr rr<) r)rrrrrPr transform_bboxr rrrapprox)r/r$rs r%$test_aspect_nonlinear_adjustable_boxr ~ s **X &C  BGGRHr2hFF%g 'JJqM // ( (): ;C :: !V]]1%5 55 5r'cptjd}|jgd}|jddgddg|j dddd d d |j d |j |jtjddgk(sJ|jd k(sJy)Nr r<r r>rr-)r;rr )gbeF?r r;r r rgS[:XL @g'In?@) r)rrOrrrPr rrr rr.s r%(test_aspect_nonlinear_adjustable_datalimr s **X &C & 'BGGRHr2hFF%h 1  +JJqMOO ;;=FMM; *FG GG G ;;=- -- -r'ctj\}}|j}|jddg|j d|j dk(sJtj\}}|j d|jddgddg|jd d |jj|jj|j}|j}|j}t|j|jt|j|jy) NriXr;rrr<rr~rr r ) r)rrrset_box_aspectget_box_aspectrPr rrr rr )r"raxtwinr#rbb1bbtr s r%test_box_aspectr s ID# YY[F KKS q    3 && & ID#KKNHHaVaVNN7uN-KKKK   C    C   Cs{{CKK0s{{CKK0r'c@tj\}}|jgd|jj |j dtj\}}|j d|jj |jgd|jj |jj |j }|j }t|j|jy)N)rrr+rr) r)rrn rrr r rr )r"rr#rr r s r%test_box_aspect_custom_positionr s ID#)*KKr ID#rKK)*KKKK   C   Cs{{CKK0r'cltjddtdd\}}|jj |jj }g}|j D]:}|j|}|j|j|jg<t||dy)Nr<rr;)r T)rrVr) r)rrrrr rr rfrrr)r/rr r r$r s r%test_bbox_aspect_axes_initr s||AqTQ-?/35HCJJOOzz&&(H Ehh,  ! !( + bhh *+,E58$r'cttj\}}tjtd5|j ddddtjtd5|j ddddtjtd5|j t jdddtjtd5|j t j dddy#1swYxYw#1swYxYw#1swYfxYw#1swYyxYw)Nzmust be finite and positiverqrr)r)rrrrr rlrr.s r%test_set_aspect_negativer sllnGC z)F G b z)F G a z)F G bff z)F G rvvg s/D (D D" !D. DD"D+.D7ctjdd\}}|jgd|jj |j y)Nr;r)r)rrrrredraw_in_framer.s r%test_redraw_in_framer s<ll1a GCGGIJJOOr'ctj\}}|jjdJ|j d|jjdJy)N)rrF)r)rrinaxesr r.s r%test_invisible_axes_eventsr sSllnGC ::  Z ( 44 4NN5 ::  Z ( 00 0r'cdtjd<tj}|jj }|D]!}|j j dk7r!JyNr3lines.markeredgecolor)r)rrhr]get_major_ticksrK get_markeredgecolorr$r^ r} s r%"test_xtickcolor_is_not_markercolorr X,3CLL() B HH $ $ &E?~~113w>>>?r'cdtjd<tj}|jj }|D]!}|j j dk7r!Jyr )r)rrhr_r rK r r s r%"test_ytickcolor_is_not_markercolorr r r'r!r)TFNctj\}}tjd}tjddd}|j ||t |d|d}t |d|d}t |d|d}||n|} |d | | |k(sJ|jjt|d y) NrrWr get_autoscale_onr+limget_r$ )r) r)rrlrtrr=r%rrr) r!rr/r$r4r5rset_limget_lim post_autos r%test_unautoscaler !sllnGC #A CS!AJJq!r]4&#<=bDc*+GbDc*+G&*l "I Kd# (* ** *JJOOwy+.r'cZ|jdjdtjdz gddg\}d|j _|jdjtj dtjdz dtj dddy)Nr%rrr<r;re)rrrlrget_path_interpolation_stepsr)r"r#r s r%)test_polar_interpolation_steps_variable_rr !s     1 6 62557|aV LBA(+AJJL% 7+00 AruuQw$bkk!Q&<>r'ctj\}}|jdd|jj |j dk(sJy)Nrg& .>)rg >)r)rrrrrr.s r%test_autoscale_tiny_stickyr "!s@llnGCFF1dOJJOO ;;=L (( (r'c6dtjd<dtjd<tj}|jj }|D]@}|j j dk(sJ|jj dk(r@Jy)Nrr rr )r)rrhr]r rK rr*r s r%&test_xtickcolor_is_not_xticklabelcolorr *!"*CLL'-CLL#$ B HH $ $ &E1~~'')X555{{$$&&0001r'c6dtjd<dtjd<tj}|jj }|D]@}|j j dk(sJ|jj dk(r@Jy)Nr ytick.colorrytick.labelcolor)r)rrhr_r rK rr*r s r%&test_ytickcolor_is_not_yticklabelcolorr 4!r r'cjdtjd<tj}|jjj dk(sJdtjd<dtjd<tj}|jjj dk(sJy)Nrr rr inherit)r)rrhr]r rrs r%test_xaxis_offsetText_colorr >!s'-CLL#$ B 88   ( ( *f 44 4"*CLL'0CLL#$ B 88   ( ( *h 66 6r'cjdtjd<tj}|jjj dk(sJdtjd<dtjd<tj}|jjj dk(sJy)Nrr r2r r )r)rrhr_r rrs r%test_yaxis_offsetText_colorr I!s'.CLL#$ B 88   ( ( *g 55 5"'CLL'0CLL#$ B 88   ( ( *e 33 3r'r)r~rrc|tjd<|tjd<tj\}}|jj t ddg|j|jgD]H\}}|jD]0}|jj|j|k(r0JJy)Nr zytick.labelsizer4r5) rrr)rrrrr]r_r r*r1 _get_tick_label_size)rr/r$namer!r} s r%test_relative_ticklabel_sizesr T!s'+CLL"#&*CLL"#llnGCJJOO3*rxx&:;M d((* MD;;'')T-F-Ft-LL LL MMr'ctj}|jddd\}}|jgdgd|j dd|j }t j|d d gsJy) Nr<r;rr)PFiJGiDHi>I)r<rr<rrrr ipI)r)rrrrrrlr3)r/rrrs r%test_multiplot_autoscaler b!se **,C||Aq|/HCHH )<8KKA <<>D ;;teU^ ,, ,r'c:tj}|jd}|jgd|}|j }|j d|j j |j k(jsJy)Nr)rrrrrrrS)r)rrrOr rr r)r/rnrinit_poss r%$test_sharing_does_not_link_positionsr k!s **,C //# C ,,', 4C!HQ     ) ) +x/B/B/D D I I KK Kr'ctjgd}|jd}|djddgddg|j dt j d 5|djddgddg|j dddd|djddgddg|j d|d jtjd |j d |d jtjd tjd |j d |jd}|djddgddg|j d|djddgddg|j d|djddgddg|j d|d jtjd |j d |d jtjd tjd |j d y#1swYxYw)Nrrrr;r<rrIrrqrrrIr/rk) rlrNrrrrrr=rrrtr)r"r#rrs r%test_2dcolor_plotr t!s HH_ %E   A CFKKAA%--"3K4 F G< A1v1vr):;<FKKAA%--"3K4FKK " U]]2%6K7FJJryy}biim5==3DJE   1 CFKKAA%--"8K9FNNAq6Aq6U]]7%;N<FKKAA%--"8K9FKK " U]]7%;K<FJJryy}biim5==3IJJ<> "b (( (r'ctj}ddgddg}}|j||}|j|}|dj|d|dfk(sJ|dj dk(sJ|dj dk(sJ|dj|d|dfk(sJ|dj dk(sJ|dj dk(sJy) Nr;r<rrr\rRrAr)rcr bar_labelrr^r r$rheightsr]rRs r% test_bar_label_location_verticalr !s Ba&1b'B FF2w E \\% F !9<2 22 2 !9 , , .( :: : !9 * * , 88 8 !9<2 22 2 !9 , , .( :: : !9 * * , 55 5r'rr+ z{:.2f}ctj}|jddgddg}|j||}|dj dk(sJ|dj dk(sJy) Nr;r<rr rrz3.00z-4.00r)rcrr r+)rr$r]rRs r%test_bar_label_fmtr3 3"so B FFAq6Ar7 #E \\%S\ )F !9   6 )) ) !9   7 ** *r'ctj}|jddgddg}tjt d5|j |d}dddy#1swYyxYw) Nr;r<rr zstr or callablerqrr1 )r)rcrrrrr )r$r]r s r%test_bar_label_fmt_errorr5 >"s[ B FFAq6Ar7 #E y(9 :( LLBL '(((s A##A,ctj}|jddgddg}|j|ddg}|dj dk(sJ|dj dk(sJy) Nr;r<rr rrrQrr2 )r$r]rRs r%test_bar_label_labelsr7 E"sq B FFAq6Ar7 #E \\%c \ 3F !9   3 && & !9   3 && &r'cBtj}|jddgtjdg}|j |}|Dcgc]}|j c}ddgk(sJ|djdk(sJ|djdk(sJycc}w Nr<rr;rr#rr rR) r)rcrrlrr r+rr r$rrRr s r%test_bar_label_nan_ydatar; M"s B 661a&2661+ &D \\$ F"( )QAJJL )b#Y 66 6 !9<<6 !! ! !9 * * , 88 8 *sBcbtj}|j|jddgtj dg}|j |}|Dcgc]}|jc}ddgk(sJ|djdk(sJ|djdk(sJycc}wr9 ) r)rcrerrlrr r+rr r: s r%!test_bar_label_nan_ydata_invertedr= V"s B 661a&2661+ &D \\$ F"( )QAJJL )b#Y 66 6 !9<<6 !! ! !9 * * , 88 8 *sB,ctj\}}|jgdtjddggd}|j |}|Dcgc]}|j c}gdk(sJtj|jdsJtj\}}|jgdgdd tjd g}|j |}|Dcgc]}|j c}gd k(sJtj|jd sJtj\}}|jgdtjddgtjtjd g}|j |}|Dcgc]}|j c}gdk(sJtj|jdsJycc}wcc}wcc}w) Nrr;r<rr)rr#2)rrrFrr)r"r#r? )rr) r)rrrlrr r+r3r)r/r$rrRr s r%test_nan_barlabelsr@ `"s}llnGC 66)bffa^/6 BD \\$ F"( )QAJJL )^ ;; ; ;;r{{}j 11 1llnGC 66)Yc2663-?6 @D \\$ F"( )QAJJL )_ << < ;;r{{}k 22 2llnGC 66)bffa^26626632G6 HD \\$ F"( )QAJJL )^ ;; ; ;;r{{}j 11 1 * * *sG32G8+G=c tj\}}|jtjddddddt j dt jzd z d zz}t jjt jd |d z d|dzf|jjd y)N)rrrWr'rrrhgffffff?rr;r<grr|) r)rrrWedgerlrrrassert_array_almost_equal_nulprNdataLimr )r/r$bots r%test_patch_boundsrF t"sllnGCLLr3cBC bffRXc\"A% %CJJ-- &CH+tSW56 8I8I2Or'c tjtd5tjdgdgdddddddy#1swYyxYw) Nz!You passed a edgecolor/edgecolorsrqrrrrHr$)rrr4r5)rrrJr)r=rr'r% test_warn_ignored_scatter_kwargsrH |"sG k@ BO QC!SC3#NOOOs AA c btj\}}tdDcgc]-}|jt j ||dzd/}}|j t j dt j d}|jt jd}|jtjddd}|jddd}t|j|gk(sJt|j|gk(sJt|j |k(sJt|j"|gk(sJ|j$rJt|j&|gk(sJ|j d|dusJ|j d|dusJt)j*t,d 5|j t/|d zddd|j gd zg|d d d k(sJgd |j zd d d g|k(sJ|j d zg|d d d k(sJd |j zd d d g|k(sJ|j1|jrJ|j1|jrJ|j1|j"rJ|j$rJ|j1|j&rJ|j D]}|j1t/|j dk(sJycc}w#1swYAxYw)Nrrrrrrrrz out of rangerqr;rr<r)r)rrrrlrtr=rrrrrr rrimagesr!r;tablesr2 rr IndexErrorrri) r/r$rBr!rsrrr r[ s r%test_artist_sublistsrN "sllnGC6;Ah ?RWWRYYq!a%( )! , ?E ? **RYYq\299Q< 0C 288F# $B LL++FAq9 :E 771a D  C5 (( (  ?rd "" " >U "" "  w && &yy= >dV ## # 88A;%( "" " 88B<59 $$ $ z 8! Ua ! 88i #4U#4A#4q#4!#4 44 4 rxx Aq!#4e#4 44 4 88i #4U#4A#4q#4!#4 44 4 rxx Aq!#4e#4 44 4JJL~~ IIKyy= LLNzz>yy=KKMxx<hh  rxx=A  S @"!!s2L L$$L.c<tjd}tjd}tj\}}|j ||}t |dk(sJtj\}}|j gg}t |dk(sJy)Nr)rrrr;)rlrr)rrr)r4r5r r$rs r%test_empty_line_plotsrP "s{  A A LLNEAr 771a=D t9>> LLNEAr 772r?D t9>>r'z fmt, match))rZz?'f' is not a valid format string \(unrecognized character 'f'\))zo+z9'o\+' is not a valid format string \(two marker symbols\))z:-z;':-' is not a valid format string \(two linestyle symbols\))rkz7'rk' is not a valid format string \(two color symbols\))z:o-rz=':o-r' is not a valid format string \(two linestyle symbols\))rzE'C' is not a valid format string \('C' must be followed by a number\))z.CzF'.C' is not a valid format string \('C' must be followed by a number\)stringctj\}}||jdd}tjt d|zdz5|j d||dddy#1swYyxYw)Nnotzneither a data key norz\Az\ZrqrR r_)r)rreplacerrrr)rrrrr/r$s r%test_plot_format_errorsrV "shllnGC  e%=> z)> ?* #D)***s A++A4ctj\}}|jgdd}|djdk(sJ|dj dk(sJtj\}}|jgdd}|dj dk(sJtj\}}|jddgddgdd}|j j |djdk(sJ|jdjdk(sJtj\}}|jddgddgdd}|j j |dj dk(sJ|jdjdk(sJtj\}}|jgdd }|dj d k(sJ|djd k(sJtj\}}|jgdd }|dj d k(sJ|djtjdk(sJ|djdk(sJy)Nrz1.0r)rrrrrr#r;r<k3rr=z.C12:rC12r) r)rrrrrrrZ r+rrr r s r%test_plot_formatrZ "sSllnGC 779e $D 7   "6 66 6 7   6 )) )llnGC 779c "D 7   3 && &llnGC 77Aq6Aq65# .DJJOO 7   "6 66 6    " + + - 44 4llnGC 77Aq6Aq63 .DJJOO 7   3 && &    " + + - 66 6llnGC 779d #D 7   3 && & 7   # %% %llnGC 779g &D 7   3 && & 7   '//%"8 88 8 7 "c )) )r'ctj\}}|jddddi|j}|jj |j djdk(sJ|jdjdk(sJtj\}}|jdddddi|j}|jj |j djdk(sJ|jdjdk(sJ|jdjdk(sJy)Nrr$rr<r_rr?) r)rrrKrr get_textsr+rZ r)r/r$legs r%test_automatic_legendr^ "s3llnGCGGCC8G$ ))+CJJOO ==?1  & & (C // /    " + + - 44 4llnGCGGCcaG) ))+CJJOO ==?1  & & (C // /    " + + - 44 4    " + + - 44 4r'c tjtd5tjgdddddtjt d5tjgdgdgdgddd g dddtjt d 5tjgddgdddtjt d 5tjt jd dddtjt d5tjddddddidddy#1swYxYw#1swYxYw#1swYxYw#1swYoxYw#1swYyxYw)Nz"plot\(\) got an unexpected keywordrqrr;rzplot\(\) with multiple groupsrr#r? rzx and y must have same firstzx and y can be no greater than)r<r<r<zUsing arbitrary long args withrr$r?rr<r_)rrrr)rrrlrrr'r%test_plot_errorsr` "s" y(M N! a ! z)I JO Iy)C:NO z)G H! QC ! z)I J% #$% z)I J4 c33(344!!OO!!%%44s;E%E!E))E5*FEE&)E25E>F c tjj}t|jt dt dt dt|j ddgddggt|jddgddggt|jddgddggt|jddgddggfD]4}d}||j}|j|jf|k(r4Jy)NrrIrr;r<)rcr~)clim) r)rrrr=rrrarrrrr)r$ plot_methodrb rs r% test_climrd #s  ! ! #B BJJa%(eAh ? BIIAA/ 0 BII!Q!Q 0 1 BMMQFQF#3 4 BMMQFQF#3 4  . %** 499%--- .r'cddgddgddgddgg}tjjtjjtjjtjjg}tj||}t j \}}|jtj||j|jddk(sJy)Nrrr;r) mpathr9r=CURVE3 CLOSEPOLYr)rrrr<rgr)rcodesrr/r$s r%test_bezier_autoscalerj #s!WWVV EZZ   ZZ   ZZ   ZZ ! ! #E  5% AllnGCLL##A&'LLN ;;= t ## #r'ctjgddgddgddgddgddgddgddgddgddgddgddgddgddgddgd dgd dgd dgd dgd dgd dgd dgd dgd dgd dgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgdd gd!d gd!d"gd#d"gd#d$gd%d$gd%d&gd'd&gd'd(gd)d(gd)d*gd+d*gd+d,gd-d,gd-d.gd/d.gd/d0gd1d0gd1d2gd3d2gd3d4gd5d4gd5d2gd6d2gd6d4gd.d4gd.d7gd8d7gd8d0gd9d0gd9d:gd;d:gd;d*gdd&gd>d$gd?d$gd?d@gdAd@gdAd gdBd gdBdgdCdgdCdgdDdgdDdEgdFdEgdFdGgdHdGgdHdgdIdgdIdgdJdgdJdgdKdgdKdgdLdgdLdgdMdgdMdgdNdgdNdgdOdgdOdgdPdgdPdgdQdgdQdgdRdgdRdgdSdgdSdgdTdgdTdgdUdgdUdgdVdgdVdgdWdgdWdgdXdgdXdg}tj|dddYf}tj|dddZf}tj|dddYf}tj|dddZf}t j |}t j\}}|jtj||j|jdY|ksJ|jdZ|k\sJ|jdY|ksJ|jdZ|k\sJy)[Ngrg)\(gQgzGg= ףp=gg(\gRQgGzg ףp= ggQ g= ףp= g(\ gGz rgffffffgQgףp= rg(\g{Gz?gHzGgrngQg{Gz?gzGrgRQrg(\gQ?g333333g(\?gr)g= ףp=g)\(?g\(\rg= ףp=gHzG?gQg(\?rrg(\տg{Gz?g ףp= ǿrg{Gzgp= ף?gףp= ?rgQ?gQ?p= ף?g(\?gq= ףp?r_g(\?rgQ?gGz?g= ףp=?gffffff@r gGz@rg(\@g= ףp=@gQ@g@gGz@g\(\ @gp= ף @gQ @g333333 @g{Gz@g(\@gQ@g)\(@g@gq= ףp@gGz@gQ@rr;)rlrNrkrrf r9r)rrrr<rgrr)rminxminymaxxmaxyrr/r$s r%test_small_autoscalerq /#sQ HH  t}',dm6;T]  t}',dm6;T]  t}(-dm7I*I$*I3cTtj\}}|jgggg}|jdgg}||gzD]&}|j|usJ|j |ur&J|j ||gzD]"}|jJ|j "Jyr )r)rrrrh get_figurer)r/r$r!rmarts r%%test_cla_clears_children_axes_and_figr #sllnGC GGBB #E ))aSE Cu}'xx2~~~~3&&&'HHJu}(xx~~'''(r'ctj\}}|jgd|}|j}|j |j ddy)N)r;rrr;rarlrirp)r)rr rrir)r/r$marginal marginal_twins r%test_child_axes_removalr #sIllnGC}}]2}6HNN$M OOFFhF'r'cd}d}tjt|5d}tjj j |did|dddy#1swYyxYw)Ncyrrrr'r%rz5test_scatter_color_repr_error..get_next_color#rr'zZ'c' argument must be a color, a sequence of colors, or a sequence of numbers, not 'red\\n'rqzred r<r)rrrrrhrr)rmsgr?s r%test_scatter_color_repr_errorr #sf 8 z -M   // tBa^ 0 MMMMs 1AA$c tj\}}|jd|jt ddd\}t j 5}|j|ddddy#1swYyxYw)NrTr;)rur}ry)ro)r)rset_rasterization_zorderrrrqrrrs)r/r$r[ r$s r%&test_zorder_and_explicit_rasterizationr #sillnGC" ''%(tA' 6CB % Ae $%%%s A99Bzpreset_clip_paths.pngc Rtj\}}tjj ddgddgddgddggdddd}|j |tj jd d d | }|jtjg|j|tj jd d dd |}|j|tjj ddgddgddggddddd |}|j||jdddddid |tjj ddgddgddgddggddddd |}|j|d |jdd|jddy)Nr;rrz#ddffddz#00ff00r<r)r4r5r6rrlrT)clip_onr )rrrH)rr r r]z#beefc0rz#faded0)r4rr5r6r r r)r\r\)rr^rr=)rrr r rr5)r4r5r6rr r r )r)rrr;Polygonrr!rset_path_effectsr withTickedStroker:rrr)r/r$polyrpoly2poly3s r%test_preset_clip_pathsr #sllnGC ;;   Q!Q"a1b'*iq  5DLL 99  GZ  ND;779:;MM$ 99  G\d&*  ,DMM$ KK   a1a&1e*%#q$$  HEMM%KK n[#S>44I KK   Q!SC:Qx0C33  >ENN5tN$KKAKKAr'cdtjd<dtjd<dtjd<tj}|jj j dk(sJ|jj jdk(sJ|jj jdk(sJy)Nr2zaxes.labelcolorr}zaxes.labelsizera zaxes.labelweight) rrr)rhr]r2r get_fontsizeget_fontweightrs r%test_rc_axes_label_formattingr $s&+CLL"#%'CLL!"'-CLL#$ B 88>> # # % .. . 88>> & & (B .. . 88>> ( ( *f 44 4r'c tjdtj tj tjdddg}tt |}|j dd}t |ddgD]\}}|j||}|jddtjj||d |d d d }t |jtj|jdzk(sJt |jt h|tj|dzk(rJ|j dd} | djtj tj tj ddddtjgtjd dz d| djtj dddtjtjgtjgddz dd | djtjd dz tj tj tj ddddtjgd| djtjgddz tj dddtjtjgdd y)Nrr;r<r]rTrUrrg)rrgTr)rrV complementarycompressrr~rcr)ds)rr}rErrrrz steps-pre)r r)rlrNrrrrrecdfr get_xdataisnanrrrt) r"r#rrrr$rVl0l1rs r% test_ecdfr $sn 88Q"&&"&&!Q: ;DCIG  A&Hx*l)CDHK WWT{W 3 WWS#"%%++d*;'$J!,#'$3@2<<>"&;&;&=&AAAA2<<>"c*BD"((4.,A*B&Ca&GGGG Hq!$G AJOObffWrvvgw1aBFFCIIaL1$7 AJOObffWaArvvrvv6HH34r9"s, AJOOBIIaL1$ffWrvvgw1aBFFC"$ AJOOBHH34r9ffWaArvvrvv6#-r'cvtjt5tjdt j gdddtjt5tjt jjddgddgdddy#1swYdxYw#1swYyxYw)Nr;r<TFr) rrrr)r rlrr rNrr'r%test_ecdf_invalidr *$s z " !RVV z ": aV4-89::::s&B#!9B/#B,/B8c tj\}}tjddtjzd}dtj |z}d}|j ||d|j|jf}|j|dd d |j|dd ||kDdd |j|j|jf|k(sJy)Nrr/rrg333333?r2rIrr<r)rrKrr;r)r5rrr3) r)rrlrtrrrrrrvrr)r/r$r4r5 threshold original_limss r%test_fill_between_axes_limitsr 1$sllnGC !QY%A BFF1I AIGGAqG [[]BKKM2MJJyASJ9OOAq!1y=!8N8N8PR KKM2;;= )] :: :r'cTtj\}}|jgdgd|jdd|j dd|j dd tj d |jD]}|jd dk(rJy) NrzX label in Impact fontImpact)fontnamezY label in xkcd scriptz xkcd scriptrH monospace)rlabelfontfamilyzTitle in sans-serifr) r)rrr*r+ro r3rget_fontfamily)r/r$r s r%test_tick_param_labelfontr A$sllnGCGGL,'MM*XM>MM*]MCNNkN:II#$""$7""$Q';6667r'cdtj\}}|jdd}tj|j dj dsJtj|j dj dsJtj|jjddsJtj|jjddsJtj|jjjdsJy)NrAr2rIrRrr ) r)rrJ rrrk r[r]r> r2r)r/r$saxs r%test_set_secondary_axis_colorr L$sllnGC  U%  0C   cjj2@@BE JJ J   cjj/==? GG G   cii779'BE JJ J   cii779,G OO O   ciioo7795 AA Ar'c4tjddd\}}g}|djjd|j|djjd|j|dj ddgdd g ||d|dgk(sJy) Nr<Tr r; xlim_changed ylim_changedrrr/rp)r)r callbacksconnectrr)r/reventss r%test_xylim_changed_sharedr V$s||Ad48HC FF^V]];F^V]];FJJQF!QJ( c!fc!f% %% %r'zaxhvlinespan_interpolation.pngcftjjd}|j|j dd|j ddd |j d d ddd |j d dd |jdddd |jddddd d y)Nr%rrrrIrrr=)fcr>rr>r;)r?rrr+)r rrr)r)rrrurrrvrrs r%test_axhvlinespan_interpolationr _$s  ! !W ! 5BOOJJrTJJJr2$JJJr2r2$J'JJqDJ#JJr2$bJ)JJr2r2$bJ1r'rcp|j}|j}idddddddddd d d d d ddddddddddddddddddddddddd }|jd#d!|i||jd#d!|i||j|jd|jdy")$zt|g}t}t|dkDry|j}t j |D]A}t ||vr||usJ|jt ||j|Ct|dkDrxyyr) rrrpopleftgc get_referentsidaddr)roto_visitexploredparentchilds r%assert_not_in_reference_cyclezFtest_axes_clear_reference_cycle..assert_not_in_reference_cycle$s%>5(ma%%'F))&1 'e9(E))) RY'&  '(mar'rr)r rrlrmrrr=rrrrrrriNotImplementedError) r r/r$r0 ax_childrenr big_artists big_artistr s r%test_axes_clear_reference_cycler $s ' (C  B YY^^D !FGGFFJJvv//#KIIK a&.1 2 K { a  !2 %j12 { a    LLN#   sC.C33 C?>C?cvtjjdtjjd}tjddd\}}t j tjd5|d j|gd  ddd|d jDcgc]}|jc}gd k(sJ|dj|gd  |djDcgc]}|jc}gd k(sJy#1swYxYwcc}wcc}w) Nrb)rrr;r<T)rrrbzhas been renamed 'tick_labels'rqrrrQ) tick_labels) rlrmrnr)rrrrrer{rr+)rr/rr s r%test_boxplot_tick_labelsr $sIINN8 99  G $D||!1T:HC c66> @5 AtO45#&a&"8"8": ;QAJJL ; NN NFNN4_N5"%a&"8"8": ;QAJJL ; NN N55 < F?    CGGD+(D1AGBr'ctjdd\}}tjj dt ddDcgc]#}tjj d|d%}}|dj|t|djtjgd k(sJt|djtjgd k(sJ|dj|d t|djtjgd k(sJt|djtjgd k(sJtj|j}tjtd 5|j|dddd|j}|j|d ycc}w#1swY2xYw)Nr;rrrbrrrr) rrrrr<rrrrJg>g4rrr/rUr-rTrUz vert: boolrqF)vert)r)rrlrmrnrrorrrjrNrY rlrrrr"r#r/rstdall_datarzrys r%test_violinplot_orientationr $s||!1-HCIINN89>q"F#   C-FHFFh s1v  "bhh1'33 44 4 s1v  "bhh-'// 00 0FhL9 s1v  "bhh-'// 00 0 s1v  "bhh1'33 44 4IIK   F /| D0(/0!G x\:7G.00s(G33G88Hcptjdd\}}tjj dt ddDcgc]#}tjj d|d%}}|dj|t|djtjgd k(sJt|djtjgd k(sJ|dj|d t|djtjgd k(sJt|djtjgd k(sJtjtjtj d 5tj"ddi5|j}|j|ddd|j}|j|d dddycc}w#1swY:xYw#1swYyxYw)Nr;r<rrbrrrrrr rTrUz!was deprecated in Matplotlib 3.10rqzboxplot.verticalF)r)rrlrmrnrror{rrjrNrY rlrrrrer r s r%test_boxplot_orientationr %s||!1-HCIINN89>q"F#   C-FHFFNN8 s1v  "bhh'   s1v  "bhh-'// 00 0FNN8N6 s1v  "bhh-'// 00 0 s1v  "bhh'  IIK c66? A <^^/7 8 %%%'F NN8 $ %##%l; < <+G2 % % < } tjt|5|dj"|fd|i| ddd@|D]>} tjt|5|dj$|fd|i| ddd@|D]>} tjt|5|dj&|fd|i| ddd@|D]>} tjt|5|dj(|fd|i| ddd@|D]@} tjt|5|dj(dd |fd|i| dddB|D]S} tjt|5|d!j(|j*||ddddffd|i| dddU|D]>} tjt|5|d"j,|fd|i| ddd@|D]>} tjt|5|d#j.|fd|i| ddd@|D]t} tjt|5|dj0|j*j3|j3|j3fd|i| dddv|D]t} tjt|5|d$j4|j*j3|j3|j3fd|i| dddv|D];} tjt|5|j6|fd|i| ddd=y#1swY9xYw#1swYxYw#1swYxYw#1swYxYw#1swY[xYw#1swY%xYw#1swYxYw#1swYxYw#1swYxYw#1swY6xYw#1swYxYw#1swYxYw#1swY^xYw#1swYxYw)%NrrrNr rrJ rr/r}rjr z5The `colorizer` keyword cannot be used simultaneouslyrrrr-rr{rqrr rrwr rr r rHrvr.r*r r r r r)rlrmrnrtrr)rrrrr r rrrr=rrrarrrr rr rqr r ) r r r?r/rhrr match_strkwrdskwrds r%test_wrong_use_colorizerrJ%sIINN1 YY  c "F YY  c "F "I&..v6A Q"IC ::  2 &D  d 8BGIa[61+8K LE@ ]]:Y 7 @ DJ  q! ?qB ?$ ? @ @@@ ]]:Y 7 @ DJ  q! ?qB ?$ ? @ @@U ]]:Y 7 U DJ  ff TV Tt T U UU7 ]]:Y 7 7 DJ  a 62 6 6 7 777 ]]:Y 7 7 DJ  a 62 6 6 7 77; ]]:Y 7 ; !DJ ! !! :r :T : ; ;;; ]]:Y 7 ; !DJ ! !! :r :T : ; ;;8 ]]:Y 7 8 !DJ ! !"46H1 8,. 826 8 8 88K ]]:Y 7 K !DJ ! !!##q!BQBF) Jr JT J K KK8 ]]:Y 7 8 DJ  q 7B 7$ 7 8 889 ]]:Y 7 9 DJ   8R 84 8 9 99* ]]:Y 7 * !DJ ! !!##))+qwwy!'') *r *$( * * **+ ]]:Y 7 + "DJ " "13399; 1779 +PR +%) + + ++2 ]]:Y 7 2 CLL 1b 1D 1 2 22S @ @ @ @ U U 7 7 7 7 ; ; ; ; 8 8 K K 8 8 9 9 * * + + 2 2sTT,T9U U#U &U-)U:..VV V! AV.AV;>WT) ,T6 9U U U U* -U7 :V V V !V+ .V8 ;W W cXtj\}}|jgdgd}|D](}tj|j dr(J|jgdgdd}|D](}tj|j dr(J|jgdgdd }|D](}tj|j dr(J|jgd gddd }|D](}tj|j d r(Jy) Nrrr)rGrrKr2rI)rrr:rr5)r!r)rr4)r)rrrrrZ)r/r$rrs r%test_bar_color_precedencer %s#llnGC 66)Y 'D?!!#"3"3"5v>>>? 66, 6 7D>!!#"3"3"5u===> 66, X6 >DA!!#"3"3"5x@@@A 66, '6 JD@!!#"3"3"5w???@r'ctjddgddgg}|j|}|jgd|j|j |j |jfdk(sJ|jgd}y)Nrr)rrrr)rrrr)r r rOrn rFrGrr)r"r#r ryrzs r%.test_axes_set_position_external_bbox_unchangedr %sy   c3Z#s4 5D%G /0 GGTWWdjj$++ 6:N NN N   4 5Fr'c:tjddd}dtjd<d}t j \}}|j |tj|d|}|dD](}tj|j|r(Jy) Nrrrr r2r)rPr|r< rlrrrr)rrKrrrr[)r4r|r/r$ errorbarscaps r%test_caps_colorr%s Ar2A,3CLL() FllnGC Arvvays6 BI|?!!#"3"3"5v>>>?r'c4tjddd}dtjd<t j \}}|j |tj|d}|dD](}tj|jdr(Jy) Nrrrr rrr<rr )r4r/r$rrs r%test_caps_no_ecolorr%s Ar2A,3CLL()llnGC Arvvays 3I|?!!#"3"3"5v>>>?r'rF (rrrrr7ru r functoolsrr rrq itertoolsrplatformsysrr dateutil.tzrnumpyrlr r rrYrr r matplotlib.colorsrrmatplotlib.datesrr9matplotlib.figurer matplotlib.axesrr rmatplotlib.collectionsrmatplotlib.font_manager font_manager mfont_managermatplotlib.markersrrmatplotlib.patchesr;rmatplotlib.pathr8rf matplotlib.projections.geormatplotlib.projections.polarrmatplotlib.pyplotpyplotr)matplotlib.textr rmatplotlib.tickertickerrmatplotlib.transforms transformsr mpl_toolkits.axisartist axisartistr numpy.testingrrrmatplotlib.testing.decoratorsrrrmatplotlib.testing._markersrr&r0r9rPrWrZr`r}rrrrrmachinerrrrrrrr(rCrSr]rorrrrrrrrrrrrrrrrrr rrr%rBrLrTrYr`rirtrzrrrrrrrrrrrrrrrrrrrr rrtr'r/r:rCrKrPrXrbrqrwrrrrrrrrrrrrrrrrrrrrr r"r&r*r1r6r8r:r>r@rHrKrPrTr_rarcrlrqr}rrrrrrrrrrrrrrrrrrr:rr Patchr}r!r rr(r.r7r9r=r@rCrFrHrTr[r_rbrgrrrwryr|r~rrrNrrrrr COLOR_TEST_CASESr rrr$r2r6r8r@rKrOrWrirlrrrurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrr r$r'r)r-r1r4r7r9r;r=r?rBrErKrNrPrUrYr\rbrgrkrurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(r+r4r6r?rIrNrPrUrXrZr^rarermrprxr{r|rrrrrrrrrrrrrrrrrrrrrrrrr r r r r5 r9 r= rE rI rK rX r^ ra rg ru rw r r r r r r rrvrrr r r r r r rrrr r r r r r r r r r r r r r$ r4 r8 r; r? rA rG rK rN r[ r_ rc re rj rl rn rr rt rz r} r r r r r r r r r r r r r r r r r r rf AxesImage PcolorImagermQuadMeshrrr r r r r r r r r r r r r r r fixturer r r r r r r r r r$ r( r+ r0 r4 r9 r; rI rM rP rU rY r\ r_ rl rp rt r{ r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r" r* r, r. r0 r3 Transformr5 rN rR rU r] ra rc rh rq r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r font_scalingsr r r r r r r r r r r r" r$ r( r* r- r/ ror3 r5 r7 r; r= r@ rF rH rN rP rV rZ r^ r` rd rj rq rs r r r r r r r r r r r r r r r r r skipif version_info releaselevelr r r r r rrr r rr)rBrs00r%r>s}8)   ! .#!$ #1/%%12#+$DDDD4() (M(/)/$(.).$(/)/(@,(()($(()(((,),*3(,),E!QKHq&qgT2H+8++-9auF$F$NJ4G267890"., J- J ,T2'%3-'%T'(+8++-9auFF","1h0f/()-.DA%B%9!!.933"900$( ) )*GL6M6$,-4wOP ,@?#6 ;7 ;%&D9):)4( ''#$UBK@AB5( J) J; >>23'4'"$%W5 -6 -( ) /=/ug"'3 /3 /&'( *) *&'T2 *3 *&(;<$O <P < -%&D9 *: *'#$G4/5/*$&'wDI (J ($(##)##L$4%&'(9<>( <)> <8X&DHI(=/+8++-9atE&E&,F-.DAB & 1a 34 ("((6"2A6 34 !XRXXf%56   # #  & 1a 34 ("((6"2A6 34 !XRXXf%56   $ $ 12+8++-9auF'F'.<=T33&56DI 1J 1&<.!"=/t4  5   (<.d3242.%&E7;<2%&E5>"$F$FB'9:(G);G( .) .12'B#C#6-.g>#?#05 p -.( 0) 0( 0) 0//%/(()0(";-+8++-9atEE #$$iHIB=/t4!5!H0?#6 7 '(dFG"01tO;P;078dKL4-.DA;B;4()M?N?.56DI;J;2>"5=6=.0KLM >N >  0123DEFG( #) #( =) =( +) +( -) -64()*+4 P '"+<3&%9( %) %A a|nc* , , ( ,(@ !< 1 , 3V =  8 80 >"5(6(( 7) 72'(d; < +()t<!=! )*=H>H$%&' ( -!*)),,+EG/ 0 E 0 E"9q'4)8Q-)*: *:+ #++"3"3":":;!399#3#3#:#:;'):):)A)ABDE, E,  (()(V(#)#2().( K) K*+ # ) ' ,-4@A.-./0()%&DH*I*%&g+8++-9atE%E%*<.DP=Q=")*GL .M .'j1j1Z *4* Y , i HBHHl^457 n HBHHl^457 C  HBHHl^457C HBHHl^457 S#J c 8288\=,I#JKM  4 4  ! fd^ Sk4 cC  sCj!C:. S3 fv& fv& SS)3/ SCC0#6 os $c*   4  4M  V_w)*i34)9:9;9$)9: 3; 32)X5-/IJ+8++-9auFF(01tDEEE0()( !4$%&!& !##&'!& !#7#7+,!& !#6#6)*!& !#0#0'("!& !  @  @)*!& !@ @()"!& !#9 #9./"!& !#G #G *+"!& !#A #A 12"!& !# #&'"!& !#9 #9 )*"!& !#< #< &'"!& !#9 #9 *+"!& !#< #< (B)B&'"!& !#8 #8#$"!& !#6 #6?#"!& !#5 #5+,"!& !#8 #8+,"!& !#F #F*+"!& !#E #E()"!& !#2 #2)*"!& !#G #G,-"!& !#> #>6 < -.!& !#F#F,-!& !#5#59 =-0d)LM$( ) 12!& 9>7>7%&D J K $%"!& !# #98:!# #  ./!& $y*:5*:5z-."5"+YP P  45"5"+YPP99C6$;<"5"+YP#P#1134 04 0234%5%456%7%456$7$012N3N89:0;09:;1<1234858567787345868567787123N4N9:;C<C:;<D=D)*GL EM E0B@ A( 5) 5(E)E +F)TU3;V3;l23F<G) >9$()*+4++4\C$3"()(5"7* 6((3)(3V (0(;()(+,N,N(.). . .02OPQ AR A$%&'?#67()*A+A-./M0M:,g4@A6>4B)*'tL&M&678F9F*+,5-5,-.2/2)*==>=1 14040)*+E,E"[/$B%0/$B%,.>$?%02B$C%0+$>%,o$> $@A ( +) A + 019 )5s),3@ADcK(.),3@AI3P(4s),./2C9(.),./7>(4s),./2C9(.),./7>(4),3@ADcK(.S),./7>(4sCS#N(.=xM(43GcR(.SA8TR(43GsS(.SA9cR& 5tSA&/DA/C D:N;D:N " 9   '()t<3=3>"5 6  '(d;<5.5*<.d3"4":?O4$G(+H(+V01tD E  (& 1  1*2(67TJ"K"8 2$aV 1vrl!CD(HIJE( ) &'T: @; @&'+8++-9auF&F&'(d;<+-BC+8++-9auF)F)8( ,) ,(!)!,( )) ) (()(&(F#W&#&#L?F#W&#&#L?1aBFFA"6"$%%"4"4_a"H"JK( J)K J45#WG5 5 #%56D>%&D9:2? 8$i1J 1J@L$i1J 1JB=$i1, 1,D%()))"-H%!)!)>! ) )@-( ) $%4+8++-9auF)&F)&X+-EF"$E$E:CF 0  0 = =()&744*.3;; T*J+.;; V*L*NO (O (  -2C(%3$fb./&y"#$%1vj"8:$egt}#$  " " #4,---2$$%40;1;K#WG??>*+7EF&()dC D %&g4@ A '(UCD4./wEJ K %&D1 2 #$G??@?.8,0.1%/()))(6)6+,+8++-9auF3F32-(2)2* C /1/01525 )8&+,UBKH7I7!:H##3 UB DE Wb"FG UWsBi)MN UWsBi)MN E+ K M EC8 K M Ir#KL 6 $ $ '0( & C4?#E2;?@=/%=%>%*1(-. MO SYY ! 399../ (E!H syy223 L )    ))  6 "BII$4$4V$< =  ! ! #   YRYYr] " "6 *BIINN1a,C D1 1 GK*+$!% 7,#;#=>? =/t4;5; N ($D%=12<.d=6>6+,$g+8++-9auF6F6*9**BSz";#;$IJ K   ;=" 39GG 9FF! L%89  26 B C ? ? %  ()s3545$()*N+N$./S9K:K$?#6-7-& ! *--      & ' -;8 H)&9JJ6 B . 3 qcU]B/1NO qcU]B/1NO qcU\2.0LM qcU\2.0LM qcUWbM+BC aS"AB qcU]QF3 @ B qcU]QF3 @ B qcU\Aq62 ? A qcU\Aq62 ? A qcUWq!f- : < qcUX1v. ; =#6(')(' N He#45He#4566 G, ($)$(7)7 A::D$%4wG H ) & t}5t}5B66B0 5M!;HF$ 34GQU+8++-9auF 2F 2 &;(( &%&g+8++-9auF,F,, 3 G+0D. %&DHPIP"+(\$NN=<=6F,D>(()( ) )" 0 2$ 6 .161. % 1??,!45/6-/$(>)>9))1174=3N3N"74%)%5#'"79D"EF9MFM-L(K)K&( )  5:;)<) 6 9 9 9 9 9 9:;<= ! 6 Hhoo!++('992(O9OO +\ ($58(*?**:5" 4 .$*1$h@.0( ) %&g6B7BD (( M%*+W+8++-9auF!F!H955(-)-2: ; 7B&34IF2G2(*-&.)&RRaJ&S3+;+;+H+HG+S <$ $NO$(C)C( ;) ;F(#<)#Bj[ Bj