
    (ph                    O   S SK r S SKJrJr  S SKrS SKJr  S SKJr  S SK	r	S SK
r
S SKrS SKJr  S SKrS SKrS SKJr  S SKrS SKrS SKJr  S SKJr  S SKrS SKrS SKrS S	KJrJr  S SKJr  S SK J!r"  S S
K#J$r$  S SK%J&r&  S SK'J(r(  S SK)J*r*  S SK+J,r-  S SK.J/r0  S SK1J2r3  S SK4J5r6  S SK7J8r8  S SK9J:r:  S SK;J<r=  S SK>J?r@  S SKAJBrC  S SKDJErF  S SKGJHrI  S SKJJKrKJLrLJMrM  S SKNJOrOJPrPJQrQ  S SKRJSrS  \P" S/S9S 5       rTS rUS rV\P" S/S9S 5       rW\P" S/S9S 5       rX\P" S/S9S 5       rYS rZ\P" S/S9S 5       r[\P" S/S9S 5       r\\P" S/S9S 5       r]S r^\P" S/S9S  5       r_\O" \`" S!S"5       V s/ s H
  n S#U S$ S%3PM     sn \R                  " 5       S&:X  a  S OS'S(9S) 5       rbS* rcS+ rd\O" S,/5      S- 5       reS. rf\R                  R                  S/S05      S1 5       ri\R                  R                  S/S05      \P" S/S2S39S4 5       5       rj\O" S5/\R                  " 5       S&:X  a  S OS6S(9S7 5       rkS8 rlS9 rmS: rnS; ro\P" S/S9S< 5       rp\O" S=/S>S?9S@ 5       rq\R                  R                  SA5      SB 5       rt\R                  R                  SA5      SC 5       ru\R                  R                  SA5      SD 5       rv\P" S/S9SE 5       rw\O" SF/S>SGSH9SI 5       rx\O" SJ/S>SGSH9SK 5       rySL rzSM r{SN r|\O" SO/S>S?9SP 5       r}\O" SQ/S>S?9SR 5       r~SS rST rSU rSV r\O" SW/SXSY0SZ9S[ 5       rS\ r\P" S/S9S] 5       rS^ r\O" S_S_/5      S` 5       r\O" Sa/SGSb9Sc 5       r\P" S/S9Sd 5       rSe r\O" Sf/S/S>SGSg9Sh 5       r\O" Si/5      Sj 5       r\O" Sk/SlS(9Sm 5       r\O" SnSn/S>S?9So 5       rSp rSq r\O" Sr/S>S?9Ss 5       rSt r\O" Su/SGSb9Sv 5       rSw r\O" Sx/SGS>Sy9Sz 5       rS{ r\P" S/S9S| 5       rS} r\O" S~/5      S 5       r\R                  R                  SA5      \R                  R                  S/ SQ5      \P" S/S9S 5       5       5       r\O" SS/S>SGSH9S 5       r\O" S/SG\R                  " 5       S&:X  a  S OSS9S 5       rS r\O" S/S>S?9S 5       r\R                  R                  S\GR>                  " S5      SS4\GR@                  " SSSl5      \GR>                  " S5      S4\GR@                  " SSSl5      S\GR>                  " S5      4// SQS9S 5       r\R                  R                  S\GR>                  " S5      SS4\GR@                  " SSSl5      \GR>                  " S5      S4\GR@                  " SSSl5      S\GR>                  " S5      4// SQS9S 5       r\O" S/S>\R                  " 5       S&:X  a  S OSS9S 5       r\O" S/SGS>Sy9S 5       r\O" S/S>S?9S 5       r\O" S/5      S 5       r\O" S/S>S?9S 5       rS r\O" S/S>S?9S 5       r\O" S/S/S9S 5       r\O" S/SS/S>S9S 5       r\R                  R                  SSS/5      \P" S/S9S 5       5       r\P" S/S9S 5       r\O" S/SGSb9S 5       r\O" S/SGSb9S 5       rS rS rS r\P" S/S9S 5       r\P" S/S9S 5       rS rS r\R                  R                  SSS>/5      \P" S/S9S 5       5       r\O" S/\R                  " 5       S&:X  a  S OSlS(9S 5       r\O" S/S>SASH9S 5       r\O" S/S>S?9S 5       rS r\O" S/S>S?9S 5       r\O" S/S>SS9S 5       r\O" S/S>SS9S 5       r\O" S/S>S?9S 5       r\O" S/S>S?9S 5       r\O" S/SAS>Sy9S 5       r\O" S/S>S?9S 5       r\O" S/S>S?9S 5       r\O" SS/5      S 5       rS rS r\O" S/5      S 5       r\O" S/5      S 5       r\P" S/S9S 5       r\P" S/S9S 5       r\P" S/S9S 5       r\P" S/S9S 5       rS rS r\O" S/5      S 5       rS rS rS rS rS rS rS r\R                  R                  SA5      \P" S/S9S 5       5       r\R                  R                  SSS!SS/S4/ SQ/ SQ/ SQ/ SQS4/ SQ/ SQ/ SQ/ SQS4/ SQ/ SQS/ SQS4/5      S 5       rS rS r\O" S/S>S?9S 5       r\P" S/S9S 5       rGS  r\O" GS/S>S?9GS 5       rGS r\O" GS/S>S?9GS 5       r\O" GS/S>S?9GS 5       r\O" GS/5      GS	 5       rGS
 rGS r\R                  R                  GS\RB                  GR                  GS GS // GSQS9GS 5       r\R                  R                  GS/ S!4/ /S!4/ / /S4/5      GS 5       r\R                  R                  GSGS\Rd                  GR                  GR                  4GS\GR                  RP                  GR                  4GS\Rd                  GR                  GR                  4/5      GS 5       rGS r\P" S/S9GS 5       r\P" S/S9GS 5       r\P" S/S9GS 5       r\P" S/S9GS 5       rGS rGS rGS rGS  rGS! r\O" GS"/S>S?9GS# 5       r\O" GS$/5      GS% 5       r\P" S/S9GS& 5       rGS' r\O" GS(/S>SGSH9GS) 5       r\O" GS*/SG\R                  " 5       S&:X  a  S OGS+S9GS, 5       r\O" GS-GS-/S>SGSH9GS. 5       r\O" GS//S>SGSH9GS0 5       rGS1 r " GS2 GS35      rGSSGS4.GS5 jjGr \" GS6GS75      Gr\R                  R                  GS8G\ " 5       G\" GS9\GR                  " / GS:Q/5      GS;94G\ " GS<GS=9G\" GS<\GR                  " / GS>Q/5      GS;94G\ " GS<GS9GS;9G\" GS<\GR                  " / GS>Q/5      GS;94G\ " GS9GS?9G\" GS9\GR                  " / GS:Q/5      GS;94G\ " GS9GS@/GS?9G\" GS9GS@/\GR                  " / GS:Q/ GSAQ/5      GS;94/5      GSB 5       GrGC GC\R                  R                  GSCG\" 5       S4G\" GS9GS=9S4G\" GS<GS49GS<4G\" GS<GS@/GS49GS<GS@/4G\" GS<GSD9GS<4G\" GSEGS49GSE4G\" GSFGS49GSF4G\" GS<GS@GSG9GS<4G\" GS9GS<GS@GSH9GS<4G\" GS<GS?9GS<4G\" GS<GS@GSI9GS@4/5      GSJ 5       GrGSK GrGSLGrGSMGSNGSO/GSPGSQ/4/ GSRQ/ GSSQ// GSTQ/ GSUQ/4/Gr\R                  R                  GSVG\5      GSW 5       Gr	\R                  R                  GSVG\5      GSX 5       Gr
GSY GrGSZ GrGS[ GrGS\ GrGS] Gr\O" GS^GS^/\R                  " 5       S&:X  a  S OS'S(9GS_ 5       Gr\O" GS`/S>S?9GSa 5       Gr\P" S/S9GSb 5       Gr0 GSc 0 4GSd jGr\O" GSe/SXGSf0SAGSg9GSh 5       Gr\O" GSi/SXGSf0SAGSg9GSj 5       Gr\O" GSk/SXGSf0SAGSg9GSl 5       Gr\O" GSm/SXGSf0SAGSg9GSn 5       Gr\O" GSo/S>SXGSf0SAGSpGSq9GSr 5       Gr\O" GSs/SXGSf0SAGSpGSt9GSu 5       Gr\O" GSv/S>SXGSf0SAGSw9GSx 5       Gr\O" GSy/S>SXGSz0SAGSw9GS{ 5       Gr\O" GS|/S>SXGSf0SAGSw9GS} 5       Gr\O" GS~/S>SXGSf0SAGSw9GS 5       Gr\O" GS/S>SXGSf0SAGSw9GS 5       Gr\O" GS/S>SXGSf0SAGSw9GS 5       Gr\O" GS/S>SXGSf0SAGSw9GS 5       Gr \O" GS/S>SXGSf0SAGSw9GS 5       Gr!\P" S/S9GS 5       Gr"\O" GS/S>SXGSf0SAGSw9GS 5       Gr#\O" GS/S>SXGSf0SAGSw9GS 5       Gr$\O" GS/S>SXGSf0SAGSw9GS 5       Gr%\O" GS/S>SXGSf0SAGSw9GS 5       Gr&\O" GS/S>SXGSf0SAGSw9GS 5       Gr'\O" GS/S>SXGSf0SAGSw9GS 5       Gr(\O" GS/S>SXGSf0SAGSw9GS 5       Gr)\O" GS/S>SXGSf0SAGSw9GS 5       Gr*\O" GS/S>SXGSf0SAGSw9GS 5       Gr+GS Gr,GS Gr-\O" GS/SXGSf0SAGSg9GS 5       Gr.\O" GS/SXGSf0SAGSg9GS 5       Gr/GS Gr0\O" GSGS/GSSAGS9GS 5       Gr1\P" S/S9GS 5       Gr2\O" GS/SXGSf0SAGSg9GS 5       Gr3\O" GS/S>SASH9GS 5       Gr4\O" GS/S>SXGSf0SAGSw9GS 5       Gr5\O" GSGS/SASb9GS 5       Gr6GS Gr7\O" GS/SXGSz0S>S!SAGS9GS 5       Gr8\O" GS/S>SXGSf0SAGSw9GS 5       Gr9\O" GS/S>SXGSf0SAGSw9GS 5       Gr:GS Gr;GS Gr<GS Gr=GS Gr>\O" GS/S>SXGSf0SAGSw9GS 5       Gr?\O" GSGS/5      GS 5       Gr@\O" GS/5      GS 5       GrA\O" GS/5      GS 5       GrB\O" GS/5      GS 5       GrC\O" GS/5      GS 5       GrD\O" GS/5      GS 5       GrE\O" GS/5      GS 5       GrF\O" GS/5      GS 5       GrG\O" GS/5      GS 5       GrH\O" GS/5      GS 5       GrI\O" GS/5      GS 5       GrJ\O" GS/5      GS 5       GrK\O" GS/5      GS 5       GrL\O" GS/5      GS 5       GrM\O" GS/S>SGSH9GS 5       GrNGS GrOGS GrPGS GrQGS GrR\P" S/S9GS 5       GrS\P" S/S9GS 5       GrTGS GrUGS GrVGS GrW\O" / GSQ5      GS 5       GrX\O" GS/S>S?9GS 5       GrYGS GrZ\P" S/S9GS 5       Gr[GS Gr\\O" GS/5      GS 5       Gr]GS Gr^GS Gr_GS Gr`\P" S/S9GS 5       GraGS GrbGS GrcGS Grd\P" S/S9GS 5       Gre\R                  R                  GS/ GSQ\GR                  " / GSQ5      S!/5      GS 5       Grf\P" S/S9GS 5       Grg\P" 5       GS 5       Grh\O" GSGS/5      GS 5       Gri\O" GS/5      GS 5       Grj\O" GS/S>S?9GS  5       Grk\O" GS/5      GS 5       Grl\O" GS/5      GS 5       Grm\O" GS/SGS>Sy9GS 5       GrnGS GroGS GrpGS	 Grq\O" GS
/SGS>Sy9GS 5       Grr\O" GS/5      GS 5       Grs\O" GS/5      GS 5       Grt\O" GS/5      GS 5       Gru\O" GS/S>S?9GS 5       GrvGS GrwGS GrxGS GryGS Grz\O" GS/5      GS 5       Gr{\R                  R                  GSGS/ GSQ0GS/ GSQ0GS/ GSQ0GS / GS!Q0GS"/ GS#Q0GS$/ GSQ045      \P" S/S9GS% 5       5       Gr|GS& Gr}GS' Gr~\R                  R                  GS(GSGS<GS)GS@GS*.GS)GS@4GSGS<GS)GS@GS*.GS+GS@4GSGS<GS@GS,.GS<GS@4GSGS<GS@GS,.GS-GS@4GSGS<GS)GS..GS)GS/4GSGS<GS)GS..GS+GS<4GSGS)GS@GS0.GS)GS@4GSGS)GS@GS0.GS+GS@4GSGS<GS1.GS<GS/4GSGS<GS1.GS-GS<4GSGS)GS2.GS)GS/4GSGS)GS2.GS+GS34GSGS@GS4.GS3GS@4GSGS@GS4.GS5GS@4GS6GS0GS3GS/4GS6GS0GS5GS34/5      GS7 5       GrGS8 GrGS9 GrGS: GrGS; Gr\O" GS</S>S?9GS= 5       Gr\O" GS>/S>S?9GS? 5       Gr\O" GS@/S>S?9GSA 5       GrGSB GrGSC Gr\O" GSD/S>S?9GSE 5       Gr\O" GSFGSF/S>S?9GSG 5       Gr\O" GSH/S>S?9GSI 5       Gr\R                  R                  GSJ/ GSKQ5      GSL 5       GrGSM Gr\O" GSN/S>S?9GSO 5       GrGSP Gr\R                  R                  GSQ/ // S S!//S S!// //5      \R                  R                  GSR/ GSSQ5      GST 5       5       Gr\P" S/S9GSU 5       Gr\O" GSV/S>S?9GSW 5       Gr\O" GSX/\R                  " 5       S&:X  a  S OGSYS(9GSZ 5       Gr\O" GS[/S>S?9GS\ 5       Gr\O" GS]GS^/\R                  " 5       S&:X  a  S OGS_S(9GS` 5       Gr\P" S/S9GSa 5       Gr\P" S/S9GSb 5       Gr\P" S/S9GSc 5       Gr\P" S/S9GSd 5       GrGSe Gr\O" / GSfQS/S9GSg 5       GrGSh Gr\O" / GSiQS/S9GSj 5       GrGSk Gr\R                  R                  GSQS!SS\GR>                  GSl/\R,                  GRA                  / GSmQGSn5      /5      \P" S/S9GSo 5       5       Gr\O" GSp/S/SGGSq9GSr 5       Gr\O" GSsGSs/S>GStS9GSu 5       Gr\O" GSv/S>S?9GSw 5       GrGSx Gr\O" / GSyQS>GSzSAGS{9GS| 5       Gr\O" / GS}QS>GSzSAGS{9GS~ 5       Gr\O" / GSQS>GSzSAGS{9GS 5       GrGS Gr\P" S/S9GS 5       GrGS Gr\O" / GSQS>GSS9GS 5       Gr\O" / GSQS>S?9GS 5       GrGS Gr\P" S/S9GS 5       Gr\O" GS/S>\R                  " 5       S&:X  a  S OGSS9GS 5       Gr\O" GSGS/S>S?9GS 5       Gr\R                  R                  GS/ GSQ5      GS 5       GrGS GrGS Gr\P" S/S9GS 5       Gr\R                  R                  SG5      GS 5       GrGS Gr\R                  R                  GS\=GRp                  \=GRr                  GS/\=GRt                  \=GRv                  GS//5      GS 5       GrGS GrGS GrGS GrGS GrGS Gr\R                  R                  GSG\GS0 GS4G\GS0 GS4G\S!S/40 GS4G\G\" 5       GSS0GS445      GS 5       GrGS Gr\R                  R                  S/S05      GS 5       GrGS GrGS Gr\O" GS/GSS(9GS 5       Gr\O" / GSQS/SGGSGS9GS 5       Gr\O" GS/SGGSS9GS 5       Gr\O" GS/SGGSS9GS 5       Gr\O" GS/SGGSS9GS 5       Gr\O" GS/SGGSS9GS 5       Gr\O" GS/SGS6S9GS 5       Gr\O" GS/GSS(9GS 5       Gr\O" GS/SGGSS9GS 5       GrGS GrGS GrGS GrGS GrGS GrGS Gr\P" S/S9GS 5       Gr\P" S/S9GS 5       Gr\O" GS/\R                  " 5       S&:X  a  S OGSS(9GS 5       GrGS Gr\P" S/S9GS 5       GrGS GrGS GrGS GrGS Gr\O" GS/5      GS 5       GrGS GrGS Gr\O" GS/SXGS0SZ9GS 5       GrGS GrGS GrGS Gr\R                  R                  GSG\GS0 GS4G\GS0 GS4G\G\" 5       SGS0GS4G\G\" 5       GS)GS0GS4G\GSS!S!S0.GS4G\GSSS!0GS4G\GS0 GS445      GS 5       GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS Gr\O" GS/SXGSf0SZ9GS 5       Gr\O" GS/SXGSf0SZ9GS 5       GrGS GrGS GrGS GrGS Gr\R                  R                  GSGS\GR                  GR                  4GS\GR                  GR                  4\`" GSl5      \`" GSn5      4\GR                  GR                  4/ GSQ/ GSQ4\GR                  GR                  4\GR                  GR                  GS5      \GR                  GR                  GS5      4\R                  GR                  4/5      \R                  R                  GSQ\GR@                  " GS5      GR                  GS5      \GR                  GR                  SGSnS5      /5      GS 5       5       GrGS Gr GS GrGS  GrGS GrGS GrGS Gr\R                  R                  GSG\" 5       5      GS 5       Gr\O" GS/S>S?9GS 5       GrGS GrGS Gr	\R                  R                  GS	S>S/5      GS
 5       Gr
\O" GS/S>SlS9GS 5       Gr\O" GS/S>SG\R                  " 5       S&:X  a  S OGSGS9GS 5       Gr\R                  R                  SA5      GS 5       Gr\GR                  " SGS)/GS9GS 5       Gr\GR                  " / GSQGS9GS 5       GrGS GrGS GrGS GrGS Gr\R                  R                  SA5      GS 5       Gr\R                  R                  SA5      GS 5       GrGS GrGS GrGS GrGS GrGS  GrGS! GrGS" GrGS# GrGS$ GrGS% Gr GS& Gr!GS' Gr"GS( Gr#GS) Gr$GS* Gr%\O" GS+/GS,S(9GS- 5       Gr&\O" GS./5      GS/ 5       Gr'\O" GS0/GS,S(9GS1 5       Gr(\O" GS2/S>S?9GS3 5       Gr)GS4 Gr*GS5 Gr+GS6 Gr,GS7 Gr-\R                  R                  GS8/ GS9Q/ GS:QS9GS; 5       Gr.GS< Gr/GS= Gr0GS> Gr1GS? Gr2GS@ Gr3GSA Gr4GSB Gr5GSC Gr6GSD Gr7\R                  R                  SA5      GSE 5       Gr8GSF Gr9GSG Gr:GSH Gr;\R                  R                  GSG\S!//GSI/ 0GSJ4G\S!//GSK/ 0GSL4G\S!//GSM/ 0GSN4G\S!//GSO/ 0GSP4G\S!//GSQ/ 0GSR4G\S!/0 GSS4G\S!//GSIS!S/0GST4G\S!//GSKS!S/0GSU4G\S!//GSMS!S/0GSV4G\S!//GSOS!S/0GSW4G\S!//GSQS!S/0GSX4G\S!//GSJS!S/0GSY445      GSZ 5       Gr<GS[ Gr=GS\ Gr>\R                  R                  GS]GS^GS_/5      \R                  R                  GS`GS^GS_/5      GSa 5       5       Gr?GSb Gr@GSc GrAGSd GrB\P" S/S9GSe 5       GrC\P" S/S9GSf 5       GrDGSg GrEGSh GrFGSi GrG\O" GSj/S>SGSH9GSk 5       GrHGSl GrIGSm GrJ\R                  R                  GSnSS>/5      \R                  R                  GSoSS>/5      GSp 5       5       GrKGSq GrLGSr GrMGSs GrNGSt GrOGSu GrPGSv GrQ\O" GSw/SGS>\R                  " 5       S&:X  a  S OGSGSx9GSy 5       GrR " GSz GS{\FGR                  5      GrT\O" GS|/SG\R                  " 5       S&:X  a  S OGS}S9GS~ 5       GrUGS GrVGS GrWGS GrXGS GrYGS GrZ\O" GS/S>SGSH9GS 5       Gr[GS Gr\GS Gr]GS Gr^GS Gr_GS Gr`GS Gra\P" S/S9GS 5       GrbGS GrcGS GrdGS GreGS GrfGS GrgGS GrhGS GriGS GrjGS GrkGS GrlGS GrmGS GrnGS GroGS GrpGS GrqGS GrrGS Grs\R                  R                  GSS05      \R                  R                  GSGS5      GS 5       5       Grt\P" S/S9GS 5       Gru\R                  R                  SA5      GS 5       GrvGS GrwGS GrxGS GryGS Grz\R                  R                  GS\-GR                   Vs/ s H
  nUc  M  UPM     sn/ GSQ-   5      \R                  R                  SA5      GS 5       5       Gr|GS Gr}GS Gr~\P" S/S9GS 5       Gr\P" S/S9GS 5       GrGS Gr\R                  R                  GS/ GSQ5      GS 5       GrGS GrGS GrGS GrGS GrGS GrGS GrGS Gr\O" GS/5      GS 5       GrGS GrGS Gr\R                  R                  GSGSGSGSGR                  /5      GS 5       GrGS GrGS GrGS GrGS GrGS GrGS Gr\R                  R                  SA5      GS 5       GrGS GrGS Gr\R                  R                  GSGS5      \R                  R                  GSQSGS\`" S5      0/5      GS 5       5       GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS Gr\P" S/S9GS 5       Gr\O" GS/SGSb9GS 5       GrGS GrGS GrGS GrGS Gr\O" GS/S>SG\R                  " 5       S&:X  a  S OGS}GS9GS 5       Gr\R                  R                  SA5      GS 5       Gr\P" S/S9GS 5       GrGS GrGS GrGS GrGS GrGS Gr\O" GS/SASb9GS 5       Gr\P" S/S9\R                  R                  GSS05      GS 5       5       Gr\R                  GRc                  \GRd                  SS GS:H  =(       a    \GRd                  GRf                  GS:g  GSGS9GS 5       GrGS Gr\S\P" S/S9GS 5       5       Gr\P" S/S9GS 5       Gr\P" S/S9GS 5       Gr\O" GS/\R                  " 5       S&:X  a  S OGSS(9GS 5       GrGS GrGS Gr\P" S/S9GS 5       Grgs  sn f s  snf (      N)
namedtupledeque)Decimal)partial)product)SimpleNamespace)ma)cycler)
rc_contextpatheffects)Figure)Axes)Line2D)PathCollection)
HammerAxes)	PolarAxes)assert_allcloseassert_array_equalassert_array_almost_equal)image_comparisoncheck_figures_equalremove_ticks_and_titles)needs_usetexpng
extensionsc                 F    U R                  5       nUR                  S5        g NF)subplotsset_visiblefig_testfig_refaxs      M/var/www/html/venv/lib/python3.13/site-packages/matplotlib/tests/test_axes.pytest_invisible_axesr&   5   s    				BNN5    c                      [         R                  " 5       u  pUR                  S5        UR                  S5        UR	                  5       S:X  d   eUR                  5       S:X  d   eg )Nzx labelzy label)pltr   
set_xlabel
set_ylabel
get_xlabel
get_ylabelfigr$   s     r%   test_get_labelsr0   ;   sO    llnGCMM)MM)==?i'''==?i'''r'   c                      [         R                  " 5       u  pUR                  S5        UR                  S5        UR	                  S5        UR                  S5        [        U5      S:X  d   eg )NlabeltitlexyzH<Axes: label='label', title={'center': 'title'}, xlabel='x', ylabel='y'>)r)   r   	set_label	set_titler*   r+   reprr.   s     r%   	test_reprr9   C   s^    llnGCLLLLMM#MM#8	LM M Mr'   c                    U R                  5       nUR                  SS/SS/SS/SS9nUR                  5         UR                  SSS9  UR	                  SS	S9  U R                  U5      nUR                  S
SS9  UR                  5       nUR                  SS/SS/SS/SS9nUR                  5         UR                  SSS	S9  UR	                  SSS	S9  UR                  U5      nUR                  S
SS	S9  g )N      scattercr2   Y LabeltoplocX LabelrightZ Labelr5   har4   rH   r   r=   legendr+   r*   colorbarr6   r"   r#   r$   sccbars        r%   test_label_loc_verticalrP   N   s    				B	QFQFq!fI	>BIIKMM)M'MM)M)R DNN9%N(				B	QFQFq!fI	>BIIKMM)qWM-MM)qWM-BDNN9gN.r'   c                    U R                  5       nUR                  SS/SS/SS/SS9nUR                  5         UR                  SSS9  UR	                  SS	S9  U R                  US
S9nUR                  SS	S9  UR                  5       nUR                  SS/SS/SS/SS9nUR                  5         UR                  SSS	S9  UR	                  SSS	S9  UR                  US
S9nUR                  SSS	S9  g )Nr;   r<   r=   r>   r@   bottomrB   rD   left
horizontalorientationrF   r   rG   rI   rJ   rM   s        r%   test_label_loc_horizontalrW   a   s   				B	QFQFq!fI	>BIIKMM)M*MM)M(R\:DNN9&N)				B	QFQFq!fI	>BIIKMM)qVM,MM)qVM,BL9DNN9fN-r'   c                 V   [         R                  " SSS.5         U R                  5       nUR                  SS/SS/SS/SS9nUR	                  5         UR                  S5        UR                  S	5        U R                  US
S9nUR                  S5        S S S 5        UR                  5       nUR                  SS/SS/SS/SS9nUR	                  5         UR                  SSSS9  UR                  S	SSS9  UR                  US
S9nUR                  SSSS9  g ! , (       d  f       N= f)NrE   rA   )zxaxis.labellocationzyaxis.labellocationr;   r<   r=   r>   r@   rD   rT   rU   rF   rG   rI   )	
matplotlibr   r   r=   rK   r+   r*   rL   r6   rM   s        r%   test_label_loc_rcrZ   t   s"   			w7< > 
? ZZAA1a&	ZB
		
i 
i    >y!
? 
			B	QFQFq!fI	>BIIKMM)qWM-MM)qWM-BL9DNN9gN.!
? 
?s   A<D
D(c                  *   [         R                  " 5       u  pUR                  SSS9  UR                  SSS9  UR                  R                  R                  5       S:X  d   eUR                  SSS9  UR                  R                  R                  5       S:X  d   eUR                  SSS9  UR                  R                  R                  5       S:X  d   eUR                  SSS9  UR                  SSS9  UR                  R                  R                  5       S:X  d   eUR                  SSS9  UR                  R                  R                  5       S:X  d   eUR                  SSS9  UR                  R                  R                  5       S:X  d   eg )Nz
Test labelrS   rB   centerrE   rA   rR   )r)   r   r*   xaxisr2   get_horizontalalignmentr+   yaxisr.   s     r%   test_label_shiftr`      sM   llnGC MM,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'   c                    [         R                  R                  S5        Sn[         R                  R                  SSU5      R	                  5       nUS-
  nU R                  5       nUR                  X4S9  UR                  5       n[         R                  " X3SS9[         R                  " X35      -  n[         R                  " U* US-   5      nXrS-
  U-
  X$-    nUR                  US/U5        UR                  SSSS9  g )	N!N,   r   r;   maxlagsfullmoder5   xminxmax)nprandomseednormalcumsumr   acorr	correlatedotarangevlinesaxhline	r"   r#   Nxr4   re   ax_testax_refnorm_auto_corrlagss	            r%   
test_acorrr}      s    IINN8	B
		Ar"))+AdG!GMM!M%F\\!V4RVVA\AN99gXwqy)D#qDL<N
MM$^,
NNQQQN'r'   c                 d   [         R                  R                  S5        Sn[         R                  R                  U5      S-  R	                  5       n[         R
                  " U5      R                  [         R                  5      nUS-
  nU R                  5       nUR                  X4S9  UR                  5       n[         R                  " X3SS9[         R                  " X35      -  n[         R                  " U* US-   5      nXrS-
  U-
  X$-    nUR                  US/U5        UR                  SSSS	9  g )
Nrb   3   
   r;   rd   rf   rg   r   ri   )rl   rm   rn   randrp   ceilastypeint64r   rq   rr   rs   rt   ru   rv   rw   s	            r%   test_acorr_integersr      s    IINN8	B		b	 ((*A	BHH%AdG!GMM!M%F \\!V4RVVA\AN99gXwqy)D#qDL<N
MM$^,
NNQQQN'r'   c                    [         R                  R                  S5        [         R                  " S5      nSUS S& [         R                  R	                  U5        UR                  S5      nU R                  S5      nUS   R                  U5        US   R                  USS	S
9  UR                  S5      nUS   R                  USSS9  US   R                  R                  5         US   R                  " / [         R                  " U5      S S S2   QSP7SS06  US   R                  SUS   R                  5       US   R                  5       S S S2   S9  U H  nUR                  R!                  S5        M      g )Nrb   i   r   rc   )    r   r<   r;   .lower)markerorigingray_rnearest)cmapinterpolation
markersizer   )aspectxlimylimboth)rl   rm   rn   onesshufflereshaper   spyimshowr]   tick_topplotnonzerosetget_xlimget_ylimset_ticks_position)r"   r#   aaxs_testaxs_refr$   s         r%   test_spyr      sJ   IINN8
AAhwKIIa			(A  #HQKOOAQKOOAc'O2q!GAJahi@AJAJOO=RZZ]4R4(=#="=AJNNwqz**,71:3F3F3H23N  P
##F+ r'   c                     [         R                  " 5       u  pSS0SSS.4 HN  n[        R                  " [        5         UR
                  " [        R                  " SS5      40 UD6  S S S 5        MP     g ! , (       d  f       Mb  = f)Nr   r   osolid)r   	linestyle   )r)   r   pytestraises	TypeErrorr   rl   eye)r/   r$   unsupported_kws      r%   test_spy_invalid_kwargsr      sc    llnGC+Y7&)@B]]9%FF266!Q<2>2 &%B%%s   )A44
B	c                 l   [         R                  R                  S5        [        R                  R                  SS5      nU R                  5       R                  U5        UR                  5       nUR                  U5        UR                  R                  5         UR                  R                  S5        g )Nmpl20r   r   )mplstyleuserl   rm   r   add_subplotmatshowr   r]   r   r   )r"   r#   r   rz   s       r%   test_matshowr      sy    IIMM'
		r2A""1%  "F
MM!
LL
LL##F+r'   r;      formatter_ticker_03dz.pngx86_64gX9v?)tolc                     SS K Js  Jn   U R                  5         S[        R
                  S'   [        S5       Vs/ s H  oU R                  -  PM     nn[        S5       Vs/ s H  nSU-  S-
  U R                  -  PM     nn[        S5       Vs/ s H  nSU-  S-
  U R                  -  PM     nn[        R                  " 5       R                  5       nUR                  S	5        [        R                  " 5       R                  5       nUR                  S	5        UR                  X$S
SS9  [        R                  " 5       R                  5       nUR                  S	5        UR                  X$S
SS9  UR                  S5        [        R                  " 5       R                  5       nUR                  X$S
SS9  UR                  X%SSS9  UR                  S5        [        R                  " 5       R                  5       nUR                  X$S
SS9  UR                  X%SSS9  UR                  S5        UR                  5         g s  snf s  snf s  snf )Nr      zlines.markeredgewidthr         ?      ?      ?      ?zx-label 001bluesec)colorxunitszx-label 003greenhourzx-label 004zx-label 005)matplotlib.testing.jpl_unitstesting	jpl_unitsregisterrY   rcParamsranger   kmr)   figurer   r*   r   autoscale_view)unitsr4   xdatar5   ydata1ydata2r$   s          r%   test_formatter_tickerr      s    10	NN 46J/0 #(),)Quyy[)E,.3Bi8is1us{EHH$iF8/4Ry9y!tAv|UXX%yF9				 BMM- 				 BMM- GGEG6				 BMM- GGEG6MM- 				 BGGEG6GGEG8MM-  
			 BGGEG6GGEG8MM- 7 -89s   H<!IIc                  \   S n [         R                  " 5       R                  5       nUR                  R                  (       d   eUR                  R
                  (       d   eUR                  R                  (       d   eUR                  R
                  (       d   eUR                  R                  U 5        UR                  R                  (       a   eUR                  R
                  (       d   eUR                  R                  (       d   eUR                  R
                  (       d   e[        R                  " U 5      n[        UR                  R                  5       [        R                  5      (       d   eUR                  R                  5       R                  UR                  :X  d   eg )Nc                     g)N  r4   poss     r%   	_formfunc4test_funcformatter_auto_formatter.<locals>._formfunc  s    r'   )r)   r   r   r]   isDefault_majfmtisDefault_minfmtr_   set_major_formattermtickerFuncFormatter
isinstanceget_major_formatterfunc)r   r$   targ_funcformatters      r%   !test_funcformatter_auto_formatterr     s1    
			 B88$$$$88$$$$88$$$$88$$$$HH  +xx((((88$$$$88$$$$88$$$$ ..y9bhh224++- - - - 88'')..2D2I2IIIIr'   c                  Z   Sn [         R                  " 5       R                  5       nUR                  R                  (       d   eUR                  R
                  (       d   eUR                  R                  (       d   eUR                  R
                  (       d   eUR                  R                  U 5        UR                  R                  (       d   eUR                  R
                  (       d   eUR                  R                  (       d   eUR                  R
                  (       a   e[        R                  " U 5      n[        UR                  R                  5       [        R                  5      (       d   eUR                  R                  5       R                  UR                  :X  d   eg )Nz	{x}_{pos})r)   r   r   r]   r   r   r_   set_minor_formatterr   StrMethodFormatterr   get_minor_formatterfmt)formstrr$   targ_strformatters      r%   &test_strmethodformatter_auto_formatterr   3  s/   G				 B88$$$$88$$$$88$$$$88$$$$HH  )88$$$$88$$$$88$$$$xx((((227;bhh224002 2 2 2 88'')--1B1F1FFFFr'   z!twin_axis_locators_formatters.pngc                  H   [         R                  " SSSSS9n [         R                  " [         R                  U -  S-  5      n[        R
                  " U5      n[        R
                  " / SQ5      n[        R                  " 5       nUR                  SSS5      nUR                  SS	/SS/5        UR                  R                  U5        UR                  R                  U5        UR                  R                  [        R                  " S
5      5        UR                  R                  [        R                  " / SQ5      5        UR                   R                  [        R"                  " 5       5        UR                   R                  [        R
                  " / SQ5      5        UR                   R                  [        R                  " S5      5        UR                   R                  [        R                  " / SQ5      5        UR%                  5         UR'                  5         g )Nr   r;      T)numendpoint       @皙?皙?333333?r   d   z%08.2lf)tricksmindjedi)   #   7   K   z%05.2lf)r?   3pr   )rl   linspacesinpir)   FixedLocatorr   r   r   r_   set_major_locatorset_minor_locatorr   FormatStrFormatterr   FixedFormatterr]   LinearLocatortwinytwinx)valslocsmajlminlr/   ax1s         r%   "test_twin_axis_locators_formattersr  L  sr   ;;q!T2D66"%%$,$%DD!DO,D
**,C
//!Q
"CHHc3Z!Q II%II%II!!#"8"8"CDII!!#"4"4 6> #? @ II 1 1 34II 0 01A BCII!!#"8"8"CDII!!#"4"45I"JKIIKIIKr'   c                     [         R                  " 5       u  pUR                  5       nUR                  5       n[         R                  " 5         UR
                  R                  5       (       a   eUR                  R                  5       (       a   eUR                  5         UR                  5         UR
                  R                  5       (       a   eUR                  R                  5       (       a   eUR                  R                  5       (       d   eUR
                  R                  5       (       d   eUR                  R                  5       (       a   eUR                  R                  5       (       a   eUR
                  R                  5       (       d   eUR                  R                  5       (       d   eUR                  R                  5       (       d   eg N)
r)   r   r  r  drawr]   get_visiblepatchclar_   )r/   r$   ax2ax3s       r%   test_twinx_clar  e  sS   llnGC
((*C
))+CHHJyy$$&&&&yy$$&&&&GGIGGIyy$$&&&&yy$$&&&&99  """"99  """"yy$$&&&&yy$$&&&&88!!!!88!!!!88!!!!r'   twinr4   r5   c                 X   U  S3nSU  3nSS/nSS/n[        5       nUR                  5       nUR                  X45        [        Xa5      R                  c   e[        Xb5      " 5       n[        Xq5      R                  c   e[        Xq5      R                  [        Xa5      R                  L d   eg )Naxisr  01r   b)r   r   r   getattrr   )r  	axis_name	twin_funcr   r%  r/   r  r  s           r%   test_twin_unitsr)  |  s    &ItfI	c
A	c
A
(C
,,.CHHQN3"((444
#
!
#C3"((4443"((GC,C,I,IIIIr'   RQ?)r   r   c                 b   SU 3nSU S3n[         R                  " SS5      nU R                  SSS5      n[        Xc5      " 5       n[        Xd5      " S5        UR	                  XU5        U R                  SSS5      n[        Xd5      " S5        [        Xc5      " 5       nUR	                  XU5        S H  nUR                  SSU5      n	[        X5      " S5        U	R	                  XU5        [
        R                  R                  n
UR                  [
        R                  R                  U
" S	S	/S	S/S	S/SS/SS/SS	/SS	/S	S	//U
R                  U
R                  /S
-  5      U	R                  S[        R                  S   [        R                  S   SS95        M     [!        U 5        [!        U5        g )Nr  set_scaler;   r   r<   logr;   r<   r      nonezaxes.edgecoloraxes.linewidth
projecting)	transform	facecolor	edgecolor	linewidthcapstyle)rl   rt   r   r&  r   rY   pathPath
add_artistpatches	PathPatchMOVETOLINETO	transAxesr   r   r   )r"   r#   r  r(  	set_scaler4   ry   ax_twinirz   r:  s              r%   test_twin_logscalerD    s    tfItfE"I
		!SA ""1a+Gg)+GG&LL ""1a+GG&g)+GLL$$Q1-"5)A ##((q!fq!f!fq!f!fq!f!fq!f& kk4;;/!3	5
 !** ,,'78,,'78% ) 
'	( * H%G$r'   ztwin_autoscale.pngg;On?c                  |   [         R                  " / SQ5      n SU -  n[         R                  " / SQ5      nSU-  n[        R                  " 5       nUR	                  SSSS9nUR                  XSS	S
9  [        R                  " U5      nUR                  X#SSS9  UR                  SS5        UR                  SS5        g )Nr   r   r;   r   r   r;   r<   r<   r   r   r;   r;   F)autoscalex_onautoscaley_onr   r   r   lwr--r   rL  r   )rl   arrayr)   r   add_axesr   r  margins)r4   r5   x2y2r/   r$   r  s          r%   test_twinx_axis_scalesrT    s     	AaA	)	B	
RB
**,C	l%u	MBGGA2G&
))B-CHHRUqH!JJq!KK1r'   c                     [         R                  " 5       u  pUR                  5       nUR                  S5        UR                  5       nUR	                  5       (       d   eUR	                  5       (       a   eUR                  5       nUR                  S5        UR                  5       nUR                  5       (       d   eUR                  5       (       a   eg r   )r)   r   r  set_autoscalex_onget_autoscalex_onr  set_autoscaley_onget_autoscaley_on)r/   r$   ax_x_onax_x_offax_y_onax_y_offs         r%   #test_twin_inherit_autoscale_settingr^    s    llnGChhjGxxzH$$&&&&))++++hhjGxxzH$$&&&&))+++++r'   c                     [         R                  " S5      n U R                  5       nUR                  5       (       a   eUR	                  5       (       a   e[
        R                  R                  S5      nUR                  U5        UR                  5       (       a   eUR	                  5       (       d   eUR                  5         [
        R                  " SS[
        R                  -  S5      nUR                  U[
        R                  " U5      5        UR                  5       (       a   eUR	                  5       (       a   eUR                  5         UR                  U5        [         R                  " 5         UR                  5       (       a   eUR	                  5       (       d   eU R                   H  nUR                  5         M     [         R                   " S5      n[         R                   " SUS9nUR"                  R%                  S5        UR	                  5       (       d   eUR                  U[
        R                  " U5      5        UR                  5         UR	                  5       (       a   eUR                  5         UR                  U5        UR                  U[
        R                  " U5      5        UR                  5         UR	                  5       (       d   e[         R&                  " U 5        g )	Nr   )r   r   r<   r         shareyT)r)   r   gcaxaxis_invertedyaxis_invertedrl   rm   r   r  r  r  r   cos	autoscaleaxesremovesubplotr_   set_invertedclose)r/   r$   imgr4   ax0r  s         r%   test_inverted_clarp    s$    **Q-C	B  """"  """"
))

:
&CIIcN  """" FFH
Aqw$AGGArvvay  """"  """" FFHIIcNMMO  """"hh
		 
 ++c
C
++c#
&CII4 HHQq	GGI!!####GGIJJsOHHQq	GGI IIcNr'   c                     ^	 [         R                  " [        SS9    " U	4S jS[        5      n S S S 5        [         R                  " [        SS9    " U	4S jS[        5      nS S S 5         " S SW 5      n " U	4S	 jS
[        5      n " U	4S jS[        5      n " S SU5      n[	        5       nU WUX4U4 H4  nSm	U" U/ SQ5      nT	(       d   eSm	UR                  5         T	(       a  M4   e   g ! , (       d  f       N= f! , (       d  f       N= f)NzOverriding `Axes.cla`matchc                   "   > \ rS rSrU 4S jrSrg)(test_subclass_clear_cla.<locals>.ClaAxesi  c                 
   > Smg NTr   selfcalleds    r%   r  ,test_subclass_clear_cla.<locals>.ClaAxes.cla  s    r'   r   N)__name__
__module____qualname____firstlineno__r  __static_attributes__rz  s   r%   ClaAxesru    s     r'   r  c                   ,   >^  \ rS rSrU U4S jrSrU =r$ )-test_subclass_clear_cla.<locals>.ClaSuperAxesi  c                 &   > Sm[         TU ]  5         g rw  )superr  ry  	__class__rz  s    r%   r  1test_subclass_clear_cla.<locals>.ClaSuperAxes.cla   s    r'   r   )r|  r}  r~  r  r  r  __classcell__r  rz  s   @r%   ClaSuperAxesr    s     r'   r  c                       \ rS rSrSrg)+test_subclass_clear_cla.<locals>.SubClaAxesi%  r   Nr|  r}  r~  r  r  r   r'   r%   
SubClaAxesr  %      r'   r  c                   "   > \ rS rSrU 4S jrSrg)*test_subclass_clear_cla.<locals>.ClearAxesi(  c                 
   > Smg rw  r   rx  s    r%   clear0test_subclass_clear_cla.<locals>.ClearAxes.clear)  s    Fr'   r   N)r|  r}  r~  r  r  r  r  s   r%   	ClearAxesr  (  s    	 	r'   r  c                   ,   >^  \ rS rSrU U4S jrSrU =r$ )/test_subclass_clear_cla.<locals>.ClearSuperAxesi-  c                 &   > Sm[         TU ]  5         g rw  )r  r  r  s    r%   r  5test_subclass_clear_cla.<locals>.ClearSuperAxes.clear.  s    FGMOr'   r   )r|  r}  r~  r  r  r  r  r  s   @r%   ClearSuperAxesr  -  s    	 	r'   r  c                       \ rS rSrSrg)-test_subclass_clear_cla.<locals>.SubClearAxesi3  r   Nr  r   r'   r%   SubClearAxesr  3  r  r'   r  FrH  )r   warnsPendingDeprecationWarningr   r   r  )
r  r  r  r  r  r  r/   
axes_classr$   rz  s
            @r%   test_subclass_clear_clar    s    
 
/3
5	d 	
5 
/3
5	4 	
5W D 
 y  (Cj ,@
\* v
vv@C
5 
5
5 
5s   C.C?.
C<?
Dc                      [         R                  " 5        H'  n SU R                  ;  d  M  SU R                  ;  a  M'   e   g )Nr  r  )r   __subclasses__r~  __dict__)klasss    r%   !test_cla_not_redefined_internallyr  D  s7    $$& %E,>,>>...	 'r'   c                 "   [         R                  " SSS.5         U R                  5       nUR                  SS/SS/5        S S S 5        UR                  5       nUR                  SS/SS/5        UR	                  5         g ! , (       d  f       NE= f)NT)zxtick.minor.visiblezytick.minor.visibler   r;   )rY   r   r   r   minorticks_onr"   r#   ry   rz   s       r%    test_minorticks_on_rcParams_bothr  L  s    			t7; = 
>##%aVaV$
> F
KKAA

> 
>s   'B  
Bzautoscale_tiny_range.pngTremove_textc                      [         R                  " SS5      u  p[        UR                  5       H&  u  p#SSU-
  -  nUR	                  SS/SSU-   /5        M(     g )Nr<   r   ir   r;   )r)   r   	enumerateflatr   )r/   axsrC  r$   y1s        r%   test_autoscale_tiny_ranger  W  sR     ||Aq!HC388$#']
AAF$ %r'   defaultc                     [         R                  " SS5      u  pUR                  / SQ5        UR                  SSSS9  UR                  SSSS9  [	        UR                  5       S5        [	        UR                  5       S	5        UR                  5       (       d   eUR                  5       (       d   eUR                  5       (       d   eUR                  S S
9  [	        UR                  5       S5        [	        UR                  5       S	5        UR                  5       (       d   eUR                  5       (       d   eUR                  5       (       d   eg )Nr;   r;   r<   r   r0  Tr4   F)enabler"  tightr5   )g333333ÿg333333	@)r         @)r  )
r)   r   r   rh  r   r   r   rW  rY  get_autoscale_onr.   s     r%   test_autoscale_tightr  `  s   ll1a GCGGLLL3eL4LL3dL3BKKM=1BKKM:. !!!!!!!!    LLLBKKM=1BKKM:.!!!!!!!!    r'   c                  
   [         R                  " S[        S9n [        R                  " SSSS9u  nu  p#UR                  X 5        UR                  X 5        UR                  SS9  UR                  SS9  [        R                  " 5         U S   U S   4n[        UR                  5       U5        [        UR                  5       U5        [        UR                  5       U5        [        UR                  5       U S	   U S   45        g )
Nr   dtyper<   r;   Tsharex)r  r   r   )rl   rt   floatr)   r   loglogsemilogxrh  r  r   r   r   )r4   r/   r  r  limss        r%   test_autoscale_log_sharedr  x  s     			#U#All1a5OC#JJqLLMMMMMMHHJaD!B%=DCLLND)CLLND)CLLND)CLLNQqT1R5M2r'   c                     [         R                  " 5       u  pUR                  SS/SS//SS9  [        UR	                  5       S5        [        UR                  5       S5        SUl        UR                  5         S	SUR                  -  -
  S
SUR                  -  -   4nS	SUR                  -  -
  S
SUR                  -  -   4n[        UR	                  5       U5        [        UR                  5       U5        SUl        UR                  5         [        UR	                  5       S5        [        UR                  5       S5        g )Nr   r;   r<   r   r   r   )      r   Fr  r   T)
r)   r   r   r   r   r   use_sticky_edgesrh  _xmargin_ymargin)r/   r$   r   r   s       r%   test_use_sticky_edgesr    s    llnGCII1v1vwI/BKKM;/BKKM;/BLLN1r{{?"C!bkk/$9:D1r{{?"C!bkk/$9:DBKKM4(BKKM4(BLLNBKKM;/BKKM;/r'   c                    [         R                  " S5      R                  SS5      nU R                  S5      nU R                  SUS9nUR	                  U5        UR                  S5      nUR                  SUS9nUR	                  U5        g )Nr   r   r   r`  ra  r  )rl   rt   r   r   
pcolormesh)r"   r#   Zro  r  s        r%   test_sticky_shared_axesr    s     			"a#A


s
#C


s3

/CNN1


c
"C


c#

.CNN1r'   zsticky_tolerance.pngr   )r  r   c                  "   [         R                  " SS5      u  pSnUR                  S   R                  SUSS9  UR                  S   R                  SUSS9  UR                  S   R                  SU* SS9  UR                  S   R                  SU* SS9  UR                  S   R	                  SU* SS	9  UR                  S   R	                  SU* S
S	9  UR                  S   R	                  SUSS	9  UR                  S   R	                  SUS
S	9  g )Nr<   r   r   gffff&@)r4   heightrR   r;   gffff@gffff&)r5   widthrS   gffffr   )r)   r   r  barbarh)r/   r  r  s      r%   test_sticky_tolerancer    s    ||Aq!HCEHHQKOOagO6HHQKOOagO6HHQKOOawO7HHQKOOawO7HHQKqX6HHQKqX6HHQKqH5HHQKqH5r'   zsticky_tolerance_cf.pngc                  p    [         R                  " 5       u  pSS/=p#SS/SS//nUR                  X#U5        g )NgGZP@g    `P@r   r;   r<   r   )r)   r   contourf)r/   r$   r4   r5   datas        r%   test_sticky_tolerance_contourfr    s<    llnGCx  AFQFDKKdr'   c                      [         R                  " [        SS9   [        R                  " 5         S S S 5        g ! , (       d  f       g = f)Nz0 were givenrr  )r   r   r   r)   stemr   r'   r%   test_nargs_stemr    s%    	y	7
 
8	7	7s	   9
Ac                      [         R                  " [        SS9   [        R                  " 5       n U R                  S/S/S5        S S S 5        g ! , (       d  f       g = f)Nz3 were givenrr  FirstSecondr   )r   r   r   r)   rk  rK   r$   s    r%   test_nargs_legendr    s;    	y	7[[]
		7)hZ+ 
8	7	7   +A
Ac                      [         R                  " [        SS9   [        R                  " 5       n U R                  SS// SQ/ SQ/5        S S S 5        g ! , (       d  f       g = f)Nz2 were givenrr  r   r;   r   r<   r;   r<   r   )r   r   r   r)   rk  
pcolorfastr  s    r%   test_nargs_pcolorfastr    sA    	y	7[[] 	vv&I(>? 
8	7	7s   0A
A!offset_pointsc                      [         R                  " SSS5      n [         R                  " S[         R                  -  U -  5      n[        R
                  " 5       nUR                  SSSS9nUR                  XS	S
S9u  nUR                  SSSSSS9  g )N              @{Gz?r   F)r   r   r   )autoscale_onr   r   r   purplerL  r   z	local maxr   r;   r  r   r   zoffset points)xyxycoordsxytext
textcoords)	rl   rt   rg  r  r)   r   r   r   annotate)tsr/   r$   lines        r%   test_basic_annotater    s     			#sD!A
s255y1}A **,C	e'	HBGGAQhG/EDKK/  ;r'   zarrow_simple.pngc                     Sn SnSn[        XU5      n[        R                  " SS5      u  pE[        [	        UR
                  U5      5       H  u  nu  pxUR                  SS5        UR                  SS5        Uu  pnS[        R                  -  U-  S-  n	UR                  SS[        R                  " U	5      [        R                  " U	5      U	S	-  U UUU	S
-  U	S
-  S9
  M     g )N)TF)rf   rS   rE   r   r0  r<      r   r   r   )r  length_includes_headshapehead_starts_at_zero
head_widthhead_length)r   r)   r   r  zipr  set_xlimset_ylimrl   r  arrowr  rg  )
r  r  r  kwargsr/   r  rC  r$   kwargthetas
             r%   test_arrow_simpler    s     )%E')2EFF||Aq!HC#C&$9:;B
B
B=B:	&9BEE	A"
Arvve}bffUmSy&:%8!BJ"RZ 	 	) ;r'   c                  X    [         R                  " 5       u  pUR                  SSSSSS9  g )Nr   )r  )r)   r   r  _r$   s     r%   test_arrow_emptyr  
  s%    LLNEAHHQ1aQH'r'   c                      [         R                  " 5       u  pUR                  SSSS5        UR                  5       S:X  d   eUR	                  5       S:X  d   eg )Nr;   )皙?皙@)r)   r   r  r   r   r  s     r%   test_arrow_in_viewr    sI    LLNEAHHQ1a;;=J&&&;;=J&&&r'   c                      [         R                  " 5       u  pUR                  SSSS9nUR                  b   eUR                  SSS0 S9nUR                  c   eg )Nfoor  r<   r   )r  )r  
arrowprops)r)   r   r  arrow_patch)r/   r$   anns      r%   test_annotate_default_arrowr    sY    llnGC
++eVF+
3C??"""
++eVFr+
BC??&&&r'   c                     [         R                  " 5       u  p[        R                  " UR                  5      R
                  n[        R                  " [        R                  5      R
                  n[        UR                  5       5      [        UR                  5       5      :X  d   e[        UR                  5       UR                  5       5       H  u  pEXE:X  a  M   e   g)z?Check that the signature of Axes.annotate() matches Annotation.N)r)   r   inspect	signaturer  
parametersmtext
Annotationlistkeysr  values)r/   r$   annotate_paramsannotation_paramsp1p2s         r%   test_annotate_signaturer,     s    llnGC''4??O))%*:*:;FF$$&'40A0F0F0H+IIIIo,,.0A0H0H0JKxx Lr'   zfill_units.pngdpi<   )savefig_kwargc                     SS K Js  Jn   U R                  5         U R	                  S[
        R
                  " SSS5      S9nSU R                  -  nU R                  SS5      n[        R                  " S	S
SS9n[        R                  " U5      n[        R                  " SS5      u  nu  u  pxu  pUR                  U/U/SSS9  / SQnUR                  X[   / SQS5        UR                  U/U/SSS9  UR                  XX-   X-   // SQS5        U	R                  U/U/SSS9  U	R                  X[   SU R                  -  SU R                  -  SU R                  -  SU R                  -  /S5        U
R                  U/U/SSS9  U
R                  XX-   X-   /SU R                  -  SU R                  -  SU R                  -  SU R                  -  /SS9  UR!                  5         g )Nr   ET  r0     dt      $@g     @z
2009-04-27z
2009-04-29datetime64[D]r  r<   degred)yunitsr   rH  )r  r  g     V@r  r%  Z   r   r5  )r   r   r   r   Epochdatetimer8  Durationrl   rt   mdatesdate2numr)   r   r   fillautofmt_xdate)r   r  valuedayr5  dtnr/   r  r  r  ax4inds               r%   test_fill_unitsrI  *  s   00	NN 	DX..tQ;<A599E
..1
2C	<_	EB
//"
C$'LLA$6!C	!*3jsHHaS5'%uH5
CHHSX,c2HHaS5'%uH5HHaAGQW%"C) HHaS5'%uH5HHSX%))mQ]BNA		MJ HHaS5'%uH5HHaAGQW%%))mQ]BNA		MJ   r'   c                     [         R                  " [        SS9   [        R                  " S/S/SSS9  S S S 5        [         R                  " [        SS9   [        R                  " S/S/SS	S
9  S S S 5        [         R                  " [        SS9   [        R                  " S/S/SSS9  S S S 5        [        R
                  " S/S/SSS9  g ! , (       d  f       N= f! , (       d  f       Nt= f! , (       d  f       NJ= f)Nzmarker .* redundantly definedrr  r   r   r4   r   z linestyle .* redundantly defined---r   zcolor .* redundantly definedrr   r   r1  )r   r   )r   r  UserWarningr)   r   errorbarr   r'   r%    test_plot_format_kwarg_redundantrS  L  s    	k)H	I!qc3s+ 
J	k)K	L!qc3$/ 
M	k)G	H!qc3f- 
I LL!qcvV4 
J	I	L	L	H	Hs#   CCC.
C
C+.
C<c                    / SQn[         R                  " U5      nUR                  5       nU R                  5       nUR                  X#[         R                  " U5      [         R                  " U5      S9tpgUR                  SS/5        UR                  X#[         R                  " U5      [         R                  " U5      SS/S9  g )Nr  xerryerrr<   )rV  rW  dashes)rl   r  rd  rR  abs
set_dashes)r"   r#   r4   r5   rz   ry   r  r  s           r%   test_errorbar_dashesr[  W  s    A
q	A[[]FllnGq"&&)"&&)DHDOOQFQq	q	1a&Ir'   c                      [        S5       V s0 s H  o U _M     nn [        R                  " 5       u  p#UR                  UR	                  5       UR                  5       UR                  5       S9  g s  sn f )Nr   r4   r5   rV  )r   r)   r   rR  r&  r'  )iiDr/   r$   s       r%   test_errorbar_mapview_kwargr`  e  sR    )$)BR)A$llnGCKK!&&(ahhjqxxzK: 	%s   A/single_pointc                  f   S[         R                  S'   S[         R                  S'   [        R                  " S5      u  n u  pUR	                  S/S/S5        UR	                  S/S/S5        S/S/S.n[        R                  " S5      u  n u  pUR	                  S	S	SUS
9  UR	                  SSSUS
9  g )Nr   lines.markerT	axes.gridr<   r   r;   r   r%  r   r  r%  )rY   r   r)   r   r   )r/   r  r  r  s       r%   test_single_pointrg  k  s     +.J''+J$ll1oOC#HHaS1#sHHaS1#s A3Dll1oOC#HHS#sH&HHS#sH&r'   zsingle_date.png)r   c                     S[         R                  S'   [        R                  " [        R
                  " S5      5      n S/nS/n[         R                  " SS5      u  p4[        R                  " [        R                  5         US   R                  X-   US	S
S9  S S S 5        US   R                  XS	S
S9  g ! , (       d  f       N#= f)N)   zaxes.formatter.limitsz
0000-12-31g    X&Ag(\bPr<   r;   r   r   rO  rP  )r)   r   r@  rA  rl   
datetime64r   r   r  r   MatplotlibDeprecationWarning	plot_dater   )r5  time1data1r/   r$   s        r%   test_single_daterp  }  s     -2CLL()	|4	5BJEHEll1a GC	c66	7
1
E3c: 
8qEJJuSJ, 
8	7s   B66
Cc                    [         R                  " S5      R                  S5      n[         R                  " SSS5      R                  S5      nU R                  S5      nUS   R	                  U5        US   R	                  U5        UR                  S5      nUS   R                  SS	S
9  US   R	                  UR                  5       5        g )Nr   r;   r   r   r   r   r;   r<   r;   gQQ?)r   	   r   r   )rl   rt   r   r   r   r   ravel)r"   r#   rowcolr  s        r%   test_shaped_datar{    s    
))B-


(C
))AsB

'
'
0C


A
CFKKFKK


1
CFJJKfJ-FKK		r'   c                      [         R                  " SS/S[        4S[        4/S9n [        R                  " 5       R                  S5      nUS   R                  SSU S9  US	   R                  SSS
U S9  g )Nr;   r;   r<   r<   r   twosr  r<   r   rf  r;   rO  )rl   rO  r  r)   r   r   r   )ptsr  s     r%   test_structured_datar    sj    
((FF#VUOfe_+M
NC **,


"CFKKSK)FKK#K.r'   aitoff_proj)r   r  r   c                     [         R                  " [         R                  * [         R                  S5      n [         R                  " [         R                  * S-  [         R                  S-  S5      n[         R                  " X5      u  p#[        R
                  " S[        SS9S9u  pEUR                  5         UR                  UR                  UR                  SSS	9  g
)zR
Test aitoff projection ref.:
https://github.com/matplotlib/matplotlib/pull/14451
   r<   )   @aitoff
projection)figsize
subplot_kwr   r0  )r   N)
rl   r  r  meshgridr)   r   dictgridr   r  )r4   r5   XYr/   r$   s         r%   test_aitoff_projr    s     	RUUFBEE2&A
RUUFQJ	2.A;;qDAll8&*h&?AGCGGIGGAFFAFFCAG.r'   zaxvspan_epoch.pngc                     SS K Js  Jn   U R                  5         U R	                  S[
        R
                  " SSS5      S9nU R	                  S[
        R
                  " SSS5      S9nU R                  SU R                  R                  S5      5      n[        R                  " 5       nUR                  XS	S
S9  UR                  USU-  -
  USU-  -   5        g Nr   r1  r2  r;      r4     r   r         ?)r5  alphar  )r   r   r   r   r=  r>  r?  rE  convertr)   rd  axvspanr	  r   t0tfr5  r$   s        r%   test_axvspan_epochr        00	NN 
Th//a<	=B	Th//a<	=B	eii//6	7B	BJJrtJ4KKSVR#b&[)r'   zaxhspan_epoch.png{Gz?c                     SS K Js  Jn   U R                  5         U R	                  S[
        R
                  " SSS5      S9nU R	                  S[
        R
                  " SSS5      S9nU R                  SU R                  R                  S5      5      n[        R                  " 5       nUR                  XS	S
S9  UR                  USU-  -
  USU-  -   5        g r  )r   r   r   r   r=  r>  r?  rE  r  r)   rd  axhspanr
  r  s        r%   test_axhspan_epochr    r  r'   zhexbin_extent.pngc                     [         R                  " 5       u  p[        R                  " S5      S-  R	                  S5      nUu  p4UR                  X4/ SQS9  X4S.n[         R                  " 5       u  pUR                  SS/ SQUS9  g )	N  )r<     r   r   333333?ffffff?extentr   r4   r5   )r  r  )r)   r   rl   rt   r   hexbinr/   r$   r  r4   r5   s        r%   test_hexbin_extentr    sr     llnGCIIdOd"++I6DDAIIa+I, DllnGCIIc3/dI;r'   c                     [         R                  " 5       u  p[        R                  " S5      S-  R	                  S5      nUu  p4[
        R                  " [        SS9   UR                  X4SS9  S S S 5        [
        R                  " [        SS9   UR                  X4SS9  S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)	Nr  )r<   r   z)In extent, xmax must be greater than xminrr  r;   r   r   r;   r  z)In extent, ymax must be greater than ymin)r   r;   r;   r   )	r)   r   rl   rt   r   r   r   
ValueErrorr  r  s        r%   test_hexbin_bad_extentsr    s    llnGCIIbMB''0DDA	z)T	U
		!|	, 
V 
z)T	U
		!|	, 
V	U 
V	U 
V	Us   B)B:)
B7:
Cc                     [         R                  " 5       u  pUR                  [        R                  R                  S5      [        R                  R                  S5      SSSS9n[        U[        R                  R                  5      (       d   e[        UR                  [        R                  R                  5      (       d   eUR                  R                  S:X  d   eUR                  R                  S:X  d   eg )Nr   r.  r<   r   normvminvmax)r)   r   r  rl   rm   r   r   rY   collectionsPolyCollectionr  colorsLogNormr  r  )r/   r$   hexs      r%   test_hexbin_string_normr    s    llnGC
))BIINN2&		r(:QUV)
WCc:11@@AAAAchh
 1 1 9 9::::88==A88==Ar'   zhexbin_empty.pngc                     [         R                  " 5       u  pUR                  / / 5        UR                  / / SS9  UR                  / / / [        R                  S9  UR                  / / [        R
                  " S5      S9  g )Nr.  bins)Creduce_C_functionr   )r)   r   r  rl   maxrt   r.   s     r%   test_hexbin_emptyr    se     llnGCIIb" IIb"5I!IIb"bffI5IIb"299R=I)r'   c                      [         R                  " 5       u  p[        R                  " S5      S-  R	                  S5      nUu  p4UR                  X4/ SQSS9n[        SSS9nUR                  U5      S	   (       d   eg )
N   r<   r   r  r   )r  picker  ,  r   r   )r)   r   rl   rt   r   r  r   contains)r/   r$   r  r4   r5   hbmouse_events          r%   test_hexbin_pickabler    sk    llnGCIIcNS ))(3DDA	1 0	<B!C3/K;;{#A&&&r'   zhexbin_log.pngc            	         S[         R                  S'   [        R                  R	                  S5        Sn [        R                  R                  U 5      nSSU-  -   S[        R                  R                  U 5      -  -   n[        R                  " SUS	-  5      n[         R                  " 5       u  p4UR                  XS
S
S[        R                  S9n[         R                  " U5        UR                  5       R                  S:X  d   eg )NFpcolormesh.snaprb   順 r         @r  r<   r   r.  T)yscaler  	marginalsr  )i&-  r<   )r)   r   rl   rm   rn   standard_normalpowerr   r  sumrL   get_offsetsr  )nr4   r5   r/   r$   hs         r%   test_hexbin_logr    s    
 ',CLL"#IINN8A
		!!!$AcAgbii77:::A
AGAllnGC
		!u5 BFF 	 	<ALLO ==?  J...r'   c                  :   [         R                  " SSS5      n [        R                  " 5       u  pUR	                  X SSSS9n[         R
                  R                  UR                  5       [         R                  " SS/SS/SS/SS/SS/SS/SS/S	S//5      5        g )
Nr;   r     r.  r<   )xscaler  gridsizer   r   r   )	rl   	geomspacer)   r   r  r   assert_almost_equalr  rO  )r4   r/   r$   r  s       r%   test_hexbin_log_offsetsr  (  s    
QS!AllnGC
		!uUQ	?AJJ""	
VVVVVV1X1X	
r'   zhexbin_linear.pngr   r  c                  H   [         R                  R                  S5        Sn [         R                  R                  U 5      nSSU-  -   S[         R                  R                  U 5      -  -   n[        R
                  " 5       u  p4UR                  XSS[         R                  S9  g )	Nrb   r  r   r  r  r   r   T)r  r  r  )rl   rm   rn   r  r)   r   r  r  )r  r4   r5   r/   r$   s        r%   test_hexbin_linearr  :  s~     IINN8A
		!!!$AcAgbii77:::AllnGCIIaW "  (r'   c                      [         R                  " S5      R                  S5      u  p[        R                  " 5       u  p#UR                  XSSSS9nUR                  5       S:X  d   eg )Nr  r  r.  r<   r   )r  r  r  )rl   rt   r   r)   r   r  get_clim)r4   r5   r/   r$   r  s        r%   test_hexbin_log_climr  G  sS    99S>!!(+DAllnGC
		!U	5A::<8###r'   c           
      6   / SQn[        U6 u  p4S/[        U5      -  n/ SQnSnU R                  5       nUR                  5       n	U	R                  X4UUSS9  U	R	                  S5        UR                  X4S/[        U5      -  S SUUS9  UR	                  S5        g )	N)r   r   r  )r   r   )r   r   r;   )      $r   r  r   )rj  rj  )r  r  mincntr   c                     [        U 5      $ r  )r  )vs    r%   <lambda>>test_hexbin_mincnt_behavior_upon_C_parameter.<locals>.<lambda>m  s    CFr'   )r  r  r  r  r  )r  lenr   r  set_facecolor)
r"   r#   
datapointsr  r  r  r  r  ry   rz   s
             r%   ,test_hexbin_mincnt_behavior_upon_C_parameterr  N  s    J 
DA	
c!fA!FH!GF MM		   ! NN	#A,*   '"r'   c                  r   [         R                  " 5       u  pUR                  5         UR                  / SQ/ SQ5        UR	                  5       S:X  d   eUR                  5       S:X  d   e[         R                  " 5         [         R                  " 5       u  pUR                  5         UR                  / SQ/ SQ5        UR	                  5       S:X  d   eUR                  5       S:X  d   e[         R                  " 5       u  pUR                  S5        UR                  SS	5        UR                  5       S
:X  d   eg )N)r  r<   r0  )r;   r<   r  r   )r0  r  r  )r  r0  )r   r  r.  r   r;   )r   r;   )
r)   r   invert_xaxisr   r   r   rm  invert_yaxis
set_yscaler
  r.   s     r%   test_inverted_limitsr  u  s     llnGCOOGGNM*;;=G###;;=G###IIKllnGCOOGGNM*;;=G###;;=G### llnGCMM%KKA;;=G###r'   nonfinite_limitsc                  h   [         R                  " S[         R                  S5      n [         R                  " SS9   [         R                  " U 5      nS S S 5        [         R
                  U [        U 5      S-  '   [        R                  " 5       u  p#UR                  U W5        g ! , (       d  f       NW= f)Nr  r  ignoredivider<   )
rl   rt   eerrstater.  nanr  r)   r   r   r4   r5   r/   r$   s       r%   test_nonfinite_limitsr    sn    
		"bddD!A	H	%FF1I 
&66Ac!faiLllnGCGGAqM	 
&	%s   B##
B1plot_fun)r=   r   fill_betweenc           	          [         R                  " SSSS9nUR                  5       nUR                  5       n[        X@5      " / / 5        XE4 H&  n[        X`5      " U[	        [        U5      5      SS9  M(     g )Nz
2010-01-01z
2011-01-01r7  r  C0rP  )rl   rt   r   r&  r   r  )r  r"   r#   r4   ry   rz   r$   s          r%   test_limits_empty_datar	    sg     			,ODA!GFGr2&as1vd;  r'   r   c                  j   S[         R                  S'   Sn [        R                  " X 45      u  pXS-  -  nX S-  -  n[        R                  " US-  US-  -   X-  -
  5      n[
        R                  " 5       u  pEUR                  U5        SU0n[
        R                  " 5       u  pEUR                  SUS9  g )Nr   image.interpolationr   r<   rO  rf  )rY   r   rl   indicessqrtr)   r   r   )Nr4   r5   rO  r/   r$   r  s          r%   test_imshowr    s     2;J-.AZZFQAIAAIA
1QT	!#A llnGCIIaL 8DllnGCIIcIr'   imshow_clipgףp=
?)r   r   c                     S[         R                  S'   Sn [        R                  " X 45      u  pXS-  -  nX S-  -  n[        R                  " US-  US-  -   X-  -
  5      n[
        R                  " 5       u  pEUR                  X0S-  /5      n[        R                  " UR                  5       S   UR                  5       5      nUR                  X7S9  g )Nr   r  r   r<   r0  r   )	clip_path)rY   r   rl   r  r  r)   r   contourmtransformsTransformedPath	get_pathsget_transformr   )r  r4   r5   rO  r/   r$   r?   r  s           r%   test_imshow_clipr    s    
 2;J-. 	AZZFQAIAAIA
1QT	!#A llnGC


1seA++AKKM!,<aoo>OPI IIaI%r'   c                      SS/SS//n [         R                  " 5       n[        R                  " [        SS9   UR                  U [        R                  " SS5      S	S
S9  SSS5        g! , (       d  f       g= f)4Parameters vmin, vmax should error if norm is given.r;   r<   r   r0  LPassing a Normalize instance simultaneously with vmin/vmax is not supported.rr  r   r   r   r  N)r)   ri  r   r   r  r   mcolors	Normalize)r   r$   s     r%   test_imshow_norm_vminvmaxr    sj    
Q!QA	B	z@
A 			!'++C411	E
A 
A 
As   (A((
A6polycollection_joinstylec                     [         R                  " 5       u  p[        R                  " SS/SS/SS/SS//5      n[        R
                  R                  U/SS9nUR                  U5        UR                  SS5        UR                  SS5        g )Nr;   r<   (   )
linewidthsr   r   )
r)   r   rl   rO  r   r  r  add_collection
set_xbound
set_ybound)r/   r$   vertsr?   s       r%   test_polycollection_joinstyler(    s}     llnGCHHq!fq!fq!fq!f56E&&w2&>AaMM!QMM!Qr'   z	x, y1, y2r~  r   r  r<   )
2d_x_input2d_y1_input2d_y2_input)idsc                     [         R                  " 5       u  p4[        R                  " [        5         UR                  XU5        S S S 5        g ! , (       d  f       g = fr  )r)   r   r   r   r  r  r4   r  rS  r/   r$   s        r%   test_fill_between_inputr/    s7     llnGC	z	"
r" 
#	"	"   A
Az	y, x1, x2)
2d_y_input2d_x1_input2d_x2_inputc                     [         R                  " 5       u  p4[        R                  " [        5         UR                  XU5        S S S 5        g ! , (       d  f       g = fr  )r)   r   r   r   r  fill_betweenx)r5   x1rR  r/   r$   s        r%   test_fill_betweenx_inputr7    s9     llnGC	z	"
# 
#	"	"r0  zfill_between_interpolate.pngg~jt?)r  r   c            
         [         R                  " SSS5      n [         R                  " S[         R                  -  U -  5      nS[         R                  " S[         R                  -  U -  5      -  n[        R
                  " SSSS9u  nu  pEUR                  XXS	S
9  UR                  XX"U:  SSSS9  UR                  XX"U:*  SSS9  [         R                  R                  US5      n[         R                  R                  US'   UR                  XXS	S
9  UR                  XX"U:  SSS9  UR                  XX"U:*  SSS9  g )Nr  r<   r  333333?r0  r;   Tr  blackrP  white/)wherer5  hatchinterpolater9  )r=  r5  r?  r   r   r   )rl   rt   r  r  r)   r   r   r  r	   masked_greatermasked)r4   r  rS  r/   r  r  s         r%   test_fill_between_interpolaterB    s6    			#q$A	"%%		B	RVVAbeeGAI	Bll1a5OC#HHQAH)QBBh'!%  'QBBh%!%  ' 
		b#	&BEELLBqEHHQAH)QBBh'!%  'QBBh%!%  'r'   z'fill_between_interpolate_decreasing.pngc            
         [         R                  " / SQ5      n [         R                  " / SQ5      n[         R                  " / SQ5      n[        R                  " SS9u  p4UR	                  XS5        UR	                  X S5        UR                  XX"U:  SS	S
S9  UR                  XX"U:  SS	S
S9  UR                  SS5        UR                  SS5        g )N)gfffff@i  i  )g"@rj  r  )g@gffffff@gffffff@)rv  rv  r  ztab:redkr   T皙?r=  r5  r?  r  r9  r   r      X  )rl   rO  r)   r   r   r5  r	  r
  )r  r  profr/   r$   s        r%   (test_fill_between_interpolate_decreasingrK  (  s     	"#A
A88O$Dll6*GCGGA)GGDSQ4ax%4s  DQ4ax$$c  C KK2KKSr'   z fill_between_interpolate_nan.pngc                     [         R                  " S5      n [         R                  " SS[         R                  SSSSSSS/
5      n[         R                  " SSSSSSSS[         R                  [         R                  /
5      n[        R
                  " 5       u  p4UR                  XS	S
9  UR                  XSS
9  UR                  XX"U:  SSSS9  UR                  XX!U:  SSSS9  g )Nr   r              r   r   rE  r?   r%  r   Tr   rG  r9  )rl   rt   asarrayr  r)   r   r   r  r.  s        r%   !test_fill_between_interpolate_nanrS  =  s     			"A	QBFFB2r2q"=	>B	RQBBBFFBFFC	DBllnGCGGASGGGASGOOA22X $C  1OOA22X $C  1r'   z
symlog.pdfc                     [         R                  " / SQ5      n [         R                  " / SQ5      n[        R                  " 5       u  p#UR	                  X5        UR                  S5        UR                  S5        UR                  SS5        g )N)r   r;   r<   r0  r   rv  r  rN  )i@B i  r  r   r   r   r   r   symloglinearr   i )rl   rO  r)   r   r   r  
set_xscaler
  r  s       r%   test_symlogrX  Q  s^    
+,A
;<AllnGCGGAMMM(MM(KKHr'   zsymlog2.pdfc                  "   [         R                  " SSS5      n [        R                  " SS5      u  p[	        U/ SQ5       H7  u  p4UR                  X 5        UR                  SUS9  UR                  S	5        M9     US
   R                  SS5        g )N2   MbP?r   r;   )      4@r   r   r   r  rU  )	linthreshTr   皙r   )	rl   rt   r)   r   r  r   rW  r  r
  )r4   r/   r  r$   r^  s        r%   test_symlog2r`  ]  sx     			#r5!A||Aq!HCS":;

h)4
 < GT3r'   c            
      l   / SQn / SQn[         R                  " X5      u  p#[         R                  " X#5      n[        R                  " U5        [        R                  " [        U5      5        [        R                  " XUS S2S S24   5        [        R                  " X#[        US S2S S24   5      5        g )N)            r  r  r   r   r   )rb  g      rc        r        пr   r  r         ?r         ?r   r   )rl   r  hypotr)   pcolorr%  )r4   r5   r  r  r  s        r%   test_pcolorargs_5205rj  j  s    .A	*A;;qDA
AJJqMJJtAwJJqQssCRCx[!JJqT!CRC"H+&'r'   r  c                  \   S[         R                  S'   Sn [        R                  " SSU 5      n[        R                  " SSU S-  5      n[        R                  " X5      u  p4[        R
                  " U5      [        R
                  " U5      -
  n[        R                  " U5      [        R                  " U5      -   nUS-   n[        R                  " X45      S-  nXwR                  5       -
  [        R                  " U5      -  n[        R                  " [        R                  " U5      S	[        R                  " U5      -  :  U5      n[         R                  " S
S5      u  n	u  pnU
R                  XVUS S2S S24   S	SS9  UR                  XVUS S2S S24   SSS/S9  UR                  XVUSS9  g )NFr  r  rb  r   r<   皙?r   r   r;   r   r   rE  rL  
edgecolorsr%  wgouraudshading)r)   r   rl   r  r  rg  r  rh  minptpr	   masked_whererY  r  r   r  )r  r4   r5   r  r  QxQzr  Zmr  r  r  r  s                r%   test_pcolormeshry  x  s\    ',CLL"#
A
D#q!A
D#qs#A;;qDA	RVVAY	B	RVVAY	B
s(B
A	
UUWq	!A 
cBFF2J&66	:Ba+A#NN22crc3B3h<CCN@NN22crc3B3h<A3*NENN22yN1r'   pcolormesh_smallepsc                     Sn [         R                  " SSU 5      n[         R                  " SSU S-  5      n[         R                  " X5      u  p4[         R                  " U5      [         R                  " U5      -
  n[         R                  " U5      [         R                  " U5      -   nUS-   n[         R
                  " X45      S-  nXwR                  5       -
  [         R                  " U5      -  n[        R                  " [         R                  " U5      S[         R                  " U5      -  :  U5      n[        R                  " US[         R                  " U5      -  :  U5      n	[        R                  " SS5      u  n
u  u  pu  pUR                  XVUS S	2S S	24   SS
S9  UR                  XVUS S	2S S	24   SSS/S9  UR                  XVUSS9  UR                  XVU	SS9  U
R                   H  nUR!                  5         M     g )Nr   rb  r   r<   rl  r   r   r  r   rE  rm  r%  ro  rp  rq  )rl   r  r  rg  r  rh  rs  rt  r	   ru  rY  r  r)   r   r  ri  set_axis_off)r  r4   r5   r  r  rv  rw  r  rx  Zm2r/   r  r  r  rG  r$   s                   r%   test_pcolormesh_smallr    s   	A
D#q!A
D#qs#A;;qDA	RVVAY	B	RVVAY	B
s(B
A	
UUWq	!A	cBFF2J&66	:B
//"tbffRj00!
4C$'LLA$6!C	!*3jsNN22crc3B3h<CCN@NN22crc3B3h<A3*NENN22yN1NN23	N2hh
 r'   pcolormesh_alphapdf)r   r  c                     S[         R                  S'   Sn [        R                  " [        R                  " SSU 5      [        R                  " SSU S-  5      5      u  pUnU[        R
                  " U5      -   n[        R                  " X5      S-  nXUR                  5       -
  [        R                  " U5      -  n[        R                  S   R                  S	5      nU" [        R                  " S	5      5      nS
S
[        R
                  " [        R                  " S	5      5      -  -   US S 2S4'   [        R                  " U5      n[         R                  " SS5      u  n	u  u  pu  pXX4 H,  nUR!                  ["        R$                  " SSS/ SQSS95        M.     U
R'                  X4US S2S S24   USSSS9  UR'                  X4XVSSSS9  UR'                  X4US S2S S24   USSS9  UR'                  X4XXSSS9  g )NFr  r  rb  r   r<   r   viridis   r   r   )r   rb  )r  r   r   r   r   )r5  zorderr   rF  r  r;   )r   r  rr  r  rp  )r   rr  r  )r)   r   rl   r  r  r  rh  rs  rt  r   	colormaps	resampledrt   r  ListedColormapr   	add_patchmpatches	Rectangler  )r  r  r  rv  Qyr  virr  r   r/   r  r  r  rG  r$   s                  r%   test_pcolormesh_alphar    s    ',CLL"#
A;;
D#q!
D#qs#DA 
B	
RVVAYB
A	
UUWq	!A
--	
"
,
,R
0C2FRVVBIIbM222F1a4L!!&)D$'LLA$6!C	!*3js 
X''sA)9!
 	 !
 NN21SbS#2#X;S!!  -NN21c9QNONN21SbS#2#X;T6!NLNN211NEr'   z
dims,alphar  )r0  r   c                     U R                  5       n[        R                  " SSU4[        S9S-  nUR	                  U5        UR                  5       nUR	                  US   SSSUS	9  g )
Nr   r   r  r<   ).r   grayr   r;   )r   r  r  r  )r   rl   r   r  r  )r"   r#   dimsr  r$   r?   s         r%   test_pcolormesh_rgbar    sa     
			B
AtE*Q.AMM!				BMM!F)&qqMFr'   c                    [         R                  " S5      n[         R                  " S5      n[         R                  " X#5      u  pEXE-   nU R                  5       nUR	                  USS9  UR                  5       nUR	                  X#USS9  g )Nr0  rj  r   rq  )rl   rt   r  r   r  )r"   r#   r4   r5   r  r  r  r$   s           r%   test_pcolormesh_nearest_noargsr    sq    
		!A
		!A;;qDA	A				BMM!YM'				BMM!9M-r'   zpcolormesh_datetime_axis.pngc            
         S[         R                  S'   [         R                  " 5       n U R                  SSSS9  [        R                  " SSS5      n[
        R                  " [        S	5       Vs/ s H  o![        R                  " US
9-   PM     sn5      n[
        R                  " S	5      n[
        R                  " [
        R                  " S5      [
        R                  " S5      5      u  pVXV-  n[         R                  " S5        [         R                  " US S US S US S2S S24   5        [         R                  " S5        [         R                  " X4U5        [
        R                  " U[
        R                     S	SS9n[
        R                  " US S 2[
        R                  4   S	SS9n[         R                  " S5        [         R                  " US S2S S24   US S2S S24   US S2S S24   5        [         R                  " S5        [         R                  " X4U5        U R                  5        H<  nUR!                  5        H%  n	U	R#                  S5        U	R%                  S5        M'     M>     g s  snf )NFr  rF  \(\?333333?hspacerA   rR     r;   r  daysr     r      r   r"        rE   r   )r)   r   r   subplots_adjustr>  rl   rO  r   	timedeltart   r  rk  r  repeatnewaxisget_axesget_xticklabelsset_haset_rotation
r/   basedr4   r5   z1z2zr$   r2   s
             r%   test_pcolormesh_datetime_axisr    s    ',CLL"#
**,CsS9T1a(D
U2YGY++33YGHA
		"A[[2		"6FB
AKKNN1Sb61Sb61SbS#2#X;/KKNN1
		!BJJ-!,A
		!ArzzM"BQ/AKKNN1SbS#2#X;#2#ss(QssCRCx[9KKNN1lln'')ELL!r" *  Hs   / I4zpcolor_datetime_axis.pngc            
         [         R                  " 5       n U R                  SSSS9  [        R                  " SSS5      n[        R
                  " [        S5       Vs/ s H  o![        R                  " US9-   PM     sn5      n[        R                  " S5      n[        R                  " [        R                  " S	5      [        R                  " S	5      5      u  pVXV-  n[         R                  " S
5        [         R                  " US S US S US S2S S24   5        [         R                  " S5        [         R                  " X4U5        [        R                  " U[        R                     SSS9n[        R                  " US S 2[        R                  4   SSS9n[         R                  " S5        [         R                  " US S2S S24   US S2S S24   US S2S S24   5        [         R                  " S5        [         R                  " X4U5        U R                  5        H<  nUR                  5        H%  n	U	R!                  S5        U	R#                  S5        M'     M>     g s  snf )NrF  r  r  r  r  r;   r  r  r  r  r   r  r   r  r  r  rE   r   )r)   r   r  r>  rl   rO  r   r  rt   r  rk  ri  r  r  r  r  r  r  r  s
             r%   test_pcolor_datetime_axisr    s   
**,CsS9T1a(D
U2YGY++33YGHA
		"A[[2		"6FB
AKKJJq"vq"vq"crc{+KKJJqQ
		!BJJ-!,A
		!ArzzM"BQ/AKKJJq"crc{Acrc3B3hK3B385KKJJqQlln'')ELL!r" *  Hs    I!c            	      >	   Sn [         R                  " SSU 5      n[         R                  " SSU S-  5      n[         R                  " X5      u  p4[         R                  " X45      S-  n[        R
                  " 5       u  pg[        R                  " [        5         UR                  X!U5        S S S 5        [        R                  " [        5         UR                  X4UR                  5        S S S 5        [        R                  " [        5         UR                  XUS S2S S24   SS9  S S S 5        [        R                  " [        5         UR                  X4US S2S S24   SS9  S S S 5        [         R                  US	'   [        R                  " [        5         UR                  XUS S2S S24   5        S S S 5        [         R                  " S
S9   [         R                  R                  XS	:  S9nS S S 5        [        R                  " [        5         UR                  XUS S2S S24   5        S S S 5        / SQnSS/n[         R                  " X5      u  p4[         R                   " UR"                  5      n[        R$                  " [&        SS9   UR                  X4USS9  S S S 5        [         R                  " SSS5      n[         R                  " SSS5      n[         R                  " X5      u  p4[         R                   " UR"                  5      n[         R(                  R+                  S5        [         R(                  R)                  UR"                  5      n[         R(                  R)                  UR"                  5      n	[        R$                  " [&        SS9 n
UR                  X8-   XI-   USS9  [-        U
5      S	:X  d   eUR                  USU-  -   USU	-  -   USS9  [-        U
5      S:X  d   e S S S 5        g ! , (       d  f       GNZ= f! , (       d  f       GN-= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNm= f! , (       d  f       GNA= f! , (       d  f       GN= f! , (       d  f       g = f)Nr  rb  r   r<   r   r   rp  rq  r   r  invalidmask)ig  r   r;   r  r   z.are not monotonically increasing or decreasingrr  autor;   r   rb   )rl   r  r  rh  r)   r   r   r   r   r  Tr  r  r  r	   rO  zerosr  r  rQ  rm   rn   r  )r  r4   r5   r  r  r  r  r$   noise_Xnoise_Yrecords              r%   test_pcolorargsr    sP   
A
D#q!A
D#qs#A;;qDA
ALLNEA	y	!
aA 
"	y	!
aACC  
"	y	!
aAcrc3B3hK; 
"	y	!
aAcrc3B3hK; 
"66AaD	z	"
aAcrc3B3hK( 
#	X	&EEKKQK( 
'	z	"
aAcrc3B3hK( 
#
 	A	b	A;;qDA
A	kL
N
aAv.
N 	B1A
B1A;;qDA
AIINN8iiqww'Giiqww'G	k)
*-3 	aiAv>6{a 	a7
lAbjL!VD6{a
* 
*C 
"	!	!	!	!	!	!	! 
#	"	&	&	"	"
N 
N
* 
*sm   O>PP"	P4Q!QQ*Q<AR>
P
P"
P14
Q
Q
Q'*
Q9<
R
Rc                  v   [         R                  " SS9   [         R                  " SSS5      n [         R                  " SSS5      n[         R                  R	                  [        U5      [        U 5      5      n[        R                  " 5       u  p4UR                  XU5        SSS5        g! , (       d  f       g= f)z~
Test that underflow errors don't crop up in pcolormesh.  Probably
a numpy bug (https://github.com/numpy/numpy/issues/25810).
raise)underr   r   r   r   N)	rl   r  rt   rm   randnr  r)   r   r  r4   r5   r  r/   r$   s        r%   test_pcolormesh_underflow_errorr  S  sw    
 
7	#IIaC IIaC IIOOCFCF+,,.
aA 
$	#	#s   BB**
B8c                  (   [         R                  " S5      R                  SS5      n [         R                  " / SQU R                  5      nUR
                  R                  SL d   e[         R                  R                  XS9n[        R                  " U5        [         R                  " SSS	5      n [         R                  " SSS	5      n[         R                  " X5      u  pE[         R                  " S[         R                  -  U-  5      [         R                  " S[         R                  -  U-  5      -  n[         R                   " S	["        S
9nSUS'   [         R                  " XvR                  5      nUR
                  R                  SL d   e[         R                  R                  XgS9n[        R                  " XEU5        [         R                  R                  XGS9n	[         R                  R                  XWS9n
[        R$                  " XU5        g )Nr   r<   r   FTFFr  r   r;   r   r  Tr   )rl   rt   r   broadcast_tor  flags	writeabler	   rO  r)   r  r  r  r  r  rg  r  boolri  )r4   xmaskmasked_xr5   r  r  r  r  masked_Zmasked_Xmasked_Ys              r%   test_pcolorargs_with_read_onlyr  `  sl   
		!Q"AOO0!'':E;;  E)))uu{{1{)HNN8
Aq"A
Aq"A;;qDA
q255y1}q255y1} 55A88Bd#DDH??4)D::5(((uu{{1{(HNN1"uu{{1{(Huu{{1{(HJJx8,r'   c                    U R                  5       n[        R                  " SS5      n[        R                  " SS5      n[        R                  R	                  S5        [        R                  R                  SS5      nUR                  X4USS9  UR                  5       nUS S	 [        R                  " U5      S-  -   nUS S	 [        R                  " U5      S-  -   nUR                  XgUS
S9  g )Nr   r   r   rb   r<   rv  r  rq  r   r   r   rl   rt   rm   rn   r  r  diffr"   r#   r$   r4   r5   r  rR  rS  s           r%   test_pcolornearestr  w  s    				B
		!RA
		!QAIINN8
		1AMM!6M*				B	
3B"''!*q.	 B	
3B"''!*q.	 BMM"!YM/r'   c                 z   U R                  5       n[        S5       Vs/ s H%  n[        R                  R                  US-  5      PM'     snn[        R
                  " SS5      n[        R                  R                  S5        [        R                  R                  SS5      nUR                  X4USS	9  UR                  5       n[        S5       Vs/ s H(  n[        R                  R                  US
-   S-  5      PM*     nnUS S [        R                  " U5      S-  -   nUR                  XgUSS	9  g s  snf s  snf )Nr   i  r   r   rb   r<   rv  r  rq  r   r   r   )r   r   r>  fromtimestamprl   rt   rm   rn   r  r  r  r  s           r%   test_pcolornearestunitsr    s    				B<A"IFIq			(	(T	2IFA
		!QAIINN8
		1AMM!6M*				BEJ1X	NX(


)
)1s7d*:
;XB	N	
3B"''!*q.	 BMM"!YM/ 	G 
Os   ,D3/D8c                     [         R                  " 5       u  p[        R                  " SS5      n[        R                  " SS5      n[        R                  R                  S5        [        R                  R                  SS5      n[        R                  " [        SS9   UR                  X#USS9  S S S 5        g ! , (       d  f       g = f)	Nr   rv  r   rb   zDimensions of Crr  r  rq  )r)   r   rl   rt   rm   rn   r  r   r   r   r  r/   r$   r4   r5   r  s        r%   test_pcolorflaterrorr    s~    llnGC
		!QA
		!QAIINN8
		1A	y(9	:
aAv. 
;	:	:s   B99
Cc                  D   [         R                  " 5       u  p[        R                  " [        R                  " S5      [        R                  " S5      5      u  p#X#-   n[
        R                  " [        SS9   UR                  X#USS9  S S S 5        g ! , (       d  f       g = f)Nr   r   z.*one smaller than Xrr  r  rq  )	r)   r   rl   r  rt   r   r   r   r  r  s        r%   test_samesizepcolorflaterrorr    sf    llnGC;;ryy|RYYq\2DA	A	y(?	@
aAv. 
A	@	@s   6B
BsnapFc                    U R                  5       n[        R                  " SS5      n[        R                  " SS5      n[        R                  R	                  S5        [        R                  R                  SS5      nUR                  XEXbS9  UR                  5       nUS S [        R                  " U5      S	-  -   nUS S [        R                  " U5      S	-  -   nUR                  XxXbS9  g )
Nr   r   r0  rb   r   rv  )r  r   r<   r  )	r"   r#   r  r$   r4   r5   r  rR  rS  s	            r%   test_pcolorautor    s     
			B
		!RA
		!QAIINN8
		1AMM!M%				B	
3B"''!*q.	 B	
3B"''!*q.	 BMM"!M'r'   	canonicalc                  X    [         R                  " 5       u  pUR                  / SQ5        g )Nr  r)   r   r   r.   s     r%   test_canonicalr    s     llnGCGGIr'   zarc_angles.pngc                     Sn SnSnSn[         R                  " SS5      u  pE[        UR                  5       GH  u  pgUS-  S-  nUS-
  n	UR	                  [
        R                  " X USS	95        UR	                  [
        R                  " X XUS
95        UR                  U[        R                  " [        R                  " U	5      5      -  US   -   US   U[        R                  " [        R                  " U5      5      -  US   -   /U[        R                  " [        R                  " U	5      5      -  US   -   US   U[        R                  " [        R                  " U5      5      -  US   -   /5        UR                  U* U5        UR                  U* U5        U S-  n US-  nUS   S-  US   S-  4nUS-  nGM     g )Nr<   r;   )r   r   r   h  rv  -   r   r  )theta1theta2r   r   )r)   r   r  r  r  r  EllipseArcr   rl   rg  deg2radr  r	  r
  )
ro  r  centrer-  r/   r  rC  r$   r  r  s
             r%   test_arc_anglesr    s    	
A	AFE||Aq!HC388$S1"
X%%f#>?
X\\&QfMN


6 233fQi?

6 233fQi?A 

6 233fQi?

6 233fQi?A	B 	UFE"
UFE" 	
R	R)b.&)b.1- %r'   arc_ellipsec            
         Su  pSu  p#Sn[         R                  " [         R                  " S5      5      nUS-  [         R                  " U5      -  nUS-  [         R                  " U5      -  n[         R                  " U5      n[         R
                  " [         R                  " U5      [         R                  " U5      * /[         R                  " U5      [         R                  " U5      //5      n	[         R                  " XU/5      u  pgX`-  nXq-  n[        R                  " 5       n
U
R                  SSS9nUR                  XgS	S
S
SSS9  [        R                  " X4X#USSSS9nUR                  U5        U
R                  SSS9nUR                  XgS	SSSS9  [        R                  " X4X#USSSS9nUR                  U5        g )N)gRQ?gp=
ף?)r   r   r  r   r`  r  )r   r   yellowr;   )r  r5  r6  r7  r  r<   F)angler7  rB  r  ra  equalr   )r  r5  r6  r  )rl   r  rt   rg  r  rO  rs   r)   r   r   rB  r  r  r  )xcenterycenterr  r  r  r  r4   r5   rthetaRr/   r$   e1e2s                 r%   test_arc_ellipser    s   !GMEEJJryy~&E
RVVE]"AbffUm#AZZF
	"&&.)	(* 	+A 66!VDALALA
**,C	V	,BGGAx8  # 
w(%!QU1
FB LL	W	-BGGAw'!GL	w(%!QU1
FB LLr'   c                      [         R                  " 5       u  p[        R                  " S5      nUR	                  / SQ/ SQUS9  UR                  / SQ/ SQUS9  UR                  / SQ/ SQUS9  g )Nr   r  r   r<   r;   rK  )r0  r   r<   )r   r0  r   )r)   r   mmarkersMarkerStyler   r=   rR  )fixr$   ms      r%   test_marker_as_markerstyler  
  sU    llnGCS!AGGIyG+JJy)AJ.KK	9QK/r'   zmarkevery.pngc                  v   [         R                  " SSS5      n [         R                  " U 5      [         R                  " U S-  S-   5      -  n[        R
                  " 5       u  p#UR                  XSSS9  UR                  XSS S	S
9  UR                  XSSSS
9  UR                  XSSSS
9  UR                  5         g )Nr   r   r   r   r   r  r2   r  mark all	markeveryr2   r  mark every 10+r   r  mark every 5 starting at 10rl   r  r  r  r)   r   r   rK   r  s       r%   test_markeveryr    s    
Ar3A
q	BGGAbD3J''A llnGCGGA#YG'GGA#ZG8GGA#?G;GGA#0MGNIIKr'   zmarkevery_line.pngg{Gzt?c                  v   [         R                  " SSS5      n [         R                  " U 5      [         R                  " U S-  S-   5      -  n[        R
                  " 5       u  p#UR                  XSSS9  UR                  XSS S	S
9  UR                  XSSSS
9  UR                  XSSSS
9  UR                  5         g )Nr   r   r   r   z-or  r  z-dr  r  z-sr	  z-+r  r  r  r  s       r%   test_markevery_liner     s     	Ar3A
q	BGGAbD3J''A llnGCGGA$iG(GGA$$jG9GGA$"OG<GGA$'1NGOIIKr'   zmarkevery_linear_scales.pngr\  c                     S SS/ SQSS/[        SSS5      S	S
SSS/n Sn[        R                  R                  [	        U 5      U-  S-   U5      nSn[
        R                  " SSSU-  -
  S5      U-   n[
        R                  " U5      S-   U-   n[        U 5       Ha  u  pgXa-  nXa-  n	[        R                  " X(U	4   5        [        R                  " S[        U5      -  5        [        R                  " XESSSUS9  Mc     g )Nr  r   r  r  rN  r   r   r   r   r  r   r   r   r   r  r   ?r   r;   )\(?r   r<   r   markevery=%sr   rL  r0  lsmsr  )slicerY   gridspecGridSpecr  rl   r  r  r  r)   rk  r3   strr   
casescolsgsdeltar4   r5   rC  casery  rz  s
             r%   test_markevery_linear_scalesr&  2  s    Ar73Q#s&E D				%	%c%jD&81&<d	CBE
ArAI~s+e3A
q	C%AU#yhBCxL!		.3t9,-ssqT: $r'   z"markevery_linear_scales_zoomed.pngc                  T   S SS/ SQSS/[        SSS5      S	S
SSS/n Sn[        R                  R                  [	        U 5      U-  S-   U5      nSn[
        R                  " SSSU-  -
  S5      U-   n[
        R                  " U5      S-   U-   n[        U 5       H  u  pgXa-  nXa-  n	[        R                  " X(U	4   5        [        R                  " S[        U5      -  5        [        R                  " XESSSUS9  [        R                  " S5        [        R                  " S5        M     g )Nr  r  r  r   r   r   r  r   r   r   r   r  r  r;   r  r   r<   r   r  r   rL  r0  r  )r   g@)rl  g333333?)r  rY   r  r  r  rl   r  r  r  r)   rk  r3   r  r   r   r   r   s
             r%   #test_markevery_linear_scales_zoomedr(  K  s   Ar73Q#s&E D				%	%c%jD&81&<d	CBE
ArAI~s+e3A
q	C%AU#yhBCxL!		.3t9,-ssqT: $r'   zmarkevery_log_scales.pngc                  T   S SS/ SQSS/[        SSS5      S	S
SSS/n Sn[        R                  R                  [	        U 5      U-  S-   U5      nSn[
        R                  " SSSU-  -
  S5      U-   n[
        R                  " U5      S-   U-   n[        U 5       H  u  pgXa-  nXa-  n	[        R                  " X(U	4   5        [        R                  " S[        U5      -  5        [        R                  " S5        [        R                  " S5        [        R                  " XESSSUS9  M     g )Nr  r  r  r   r   r   r  r   r   r   r   r  r  r;   r  r   r<   r   r  r.  r   rL  r0  r  )r  rY   r  r  r  rl   r  r  r  r)   rk  r3   r  r  r  r   r   s
             r%   test_markevery_log_scalesr*  f  s   Ar73Q#s&E D				%	%c%jD&81&<d	CBE
ArAI~s+e3A
q	C%AU#yhBCxL!		.3t9,-

5

5ssqT: $r'   zmarkevery_polar.pngc                     S SS/ SQSS/[        SSS5      S	S
SSS/n Sn[        R                  R                  [	        U 5      U-  S-   U5      n[
        R                  " SSS5      nS[
        R                  -  U-  n[        U 5       H`  u  pVXQ-  nXQ-  n[        R                  " X'U4   SS9  [        R                  " S[        U5      -  5        [        R                  " XCSSSUS9  Mb     g )Nr  r  r  r   r   r   r  r   r   r   r   r  r  r;   r  r<   Tpolarr  r   rL  r0  r  )r  rY   r  r  r  rl   r  r  r  r)   rk  r3   r  r   )	r!  r"  r#  rO  r  rC  r%  ry  rz  s	            r%   test_markevery_polarr.    s    Ar73Q#s&E D				%	%c%jD&81&<d	CB
AsC AIMEU#yhBCxL-		.3t9,-331> $r'   z markevery_linear_scales_nans.pngc                  6   S SS/ SQSS/[        SSS5      S	S
SSS/n Sn[        R                  R                  [	        U 5      U-  S-   U5      nSn[
        R                  " SSSU-  -
  S5      U-   n[
        R                  " U5      S-   U-   n[
        R                  =US S& =USS & USS& [        U 5       Ha  u  pgXa-  nXa-  n	[        R                  " X(U	4   5        [        R                  " S[        U5      -  5        [        R                  " XESSSUS9  Mc     g )Nr  r  r  r   r   r   r  r   r   r   r   r  r  r;   r  r   r<   r   r[  F   r  r   rL  r0  r  )r  rY   r  r  r  rl   r  r  r  r  r)   rk  r3   r  r   r   s
             r%   !test_markevery_linear_scales_nansr2    s   Ar73Q#s&E D				%	%c%jD&81&<d	CBE
ArAI~s+e3A
q	C%A"$&&(AcrF(QstWqBxU#yhBCxL!		.3t9,-ssqT: $r'   marker_edgesc            	      ^   [         R                  " SSS5      n [        R                  " 5       u  pUR	                  U [         R
                  " U 5      SSSSS9  UR	                  U S-   [         R
                  " U 5      SSSSS9  UR	                  U S	-   [         R
                  " U 5      SSS
SS9  g )Nr   r;   r   zy.      >@rO  )r  mewmecr   r   r<   r%  )rl   r  r)   r   r   r  r4   r/   r$   s      r%   test_marker_edgesr9    s    
Aq"AllnGCGGArvvay$4QCG8GGAcE266!9dtG<GGAcE266!9dtG<r'   zbar_tick_label_single.pngc                      [         R                  " 5       n U R                  SSSSS9  SSS.n[         R                  " 5       u  p [         R                  " 5       n U R                  SSSSUS	9  g )
Nr   r;   edger#  )align
tick_labelre  r   r%  )r<  r=  r  )r)   rd  r  r   )r$   r  r/   s      r%   test_bar_tick_label_singler>    s]     
BFF1av#F. DllnGC	BFF36cF=r'   c                  z    [         R                  " 5       u  pUR                  SS/[        R                  S/5        g )Nr   r;   r0  )r)   r   r  rl   r  r.   s     r%   test_nan_bar_valuesr@    s)    llnGCFFAq6BFFA;r'   c                  V    [         R                  " 5       u  pUR                  / / 5        g r  )r)   r   r  r.   s     r%   test_bar_ticklabel_failrB    s    llnGCFF2rNr'   zbar_tick_label_multiple.pngc                  d    [         R                  " 5       n U R                  SS/SS/SS/SS/SS	9  g )
Nr;         @r<   r   r   r   r%  r\   r  r=  r<  )r)   rd  r  r  s    r%   test_bar_tick_label_multiplerF    s;     
BFFAs8aVC:3*  r'   z/bar_tick_label_multiple_old_label_alignment.pngc                      S[         R                  S'   [        R                  " 5       n U R	                  SS/SS/SS/SS	/SS
9  g )Nr\   zytick.alignmentr;   rD  r<   r   r   r   r%  rE  )rY   r   r)   rd  r  r  s    r%   *test_bar_tick_label_multiple_old_alignmentrH    sL     .6J)*	BFFAs8aVC:3*  r'   c                    U R                  5       n/ SQn/ SQnU Vs/ s H  n[        U5      PM     snnU Vs/ s H  n[        U5      PM     snnUR                  XVSS9  UR                  5       nUR                  X4SS9  g s  snf s  snf )Nr   g @g333333@r  rl  r  gffffff
@g@r\   r<  )r   r   r  r"   r#   r$   x0y0r4   r5   s          r%   test_bar_decimal_centerrP    s    				B	B	B RR A RR AFF1xF 				BFF2F" 	! s
   BBc                 $   U R                  5       n/ SQn/ SQnU Vs/ s H  n[        U5      PM     snnU Vs/ s H  n[        U5      PM     snnUR                  XV/ SQSS9  UR                  5       nUR                  X4/ SQSS9  g s  snf s  snf )NrJ  rK  )r   r   r;   r;   r\   r  r<  )r   r   r  rM  s          r%   test_barh_decimal_centerrS    s    				B	B	B RR A RR AGGA)G:				BGGB+8G< 	! s
   BBc                     / SQn/ SQn/ SQnU Vs/ s H  n[        U5      PM     nnU R                  5       nUR                  X#USS9  UR                  5       nUR                  X#USS9  g s  snf )NrJ  rK  r  g333333?r;   r<   r\   r  r<  )r   r   r  )r"   r#   r4   r5   w0rC  ro  r$   s           r%   test_bar_decimal_widthrX     sn    AA	B RRA 				BFF1qF)				BFF1rF* 	!   A+c                     / SQn/ SQn/ SQnU Vs/ s H  n[        U5      PM     nnU R                  5       nUR                  X#USS9  UR                  5       nUR                  X#USS9  g s  snf )NrJ  rK  rU  r\   rR  )r   r   r  )r"   r#   r4   r5   h0rC  r  r$   s           r%   test_barh_decimal_heightr\    sn    AA	B RRA 				BGGA(G+				BGGA8G, 	!rY  c                      [         R                  " 5       n U R                  SS/SS/SSSS9nU H/  nUR                  5       S:X  d   eUR	                  5       S	:X  a  M/   e   g )
Nr;   r<   r0  r   r1  rO  r  r   r6  r   r   r   r   r;   r   r   r   r)   rd  r  get_facecolorget_edgecolorr$   rectsrects      r%   test_bar_color_none_alpharg    se    	BFFAq6Aq6FcFJE!!#|333!!#~555 r'   c                      [         R                  " 5       n U R                  SS/SS/SSSS9nU H/  nUR                  5       S:X  d   eUR	                  5       S	:X  a  M/   e   g )
Nr;   r<   r0  r   rO  r1  r^  r`  r_  ra  rd  s      r%   test_bar_edgecolor_none_alphari  $  se    	BFFAq6Aq6C6FJE!!#~555!!#|333 r'   zbarh_tick_label.pngc                  d    [         R                  " 5       n U R                  SS/SS/SS/SS/SS	9  g )
Nr;   rD  r<   r   r   r   r%  r\   )r  r=  r<  )r)   rd  r  r  s    r%   test_barh_tick_labelrk  ,  s;     
BGGQHq!fc3ZS#J  r'   c                     [         R                  " 5       u  pUR                  [        R                  " SSS5      S[        R                  " SS9S9  UR                  [        R                  " SSS5      S[        R                  " SS9[        R                  " SS9S9  [         R                  " 5       u  pUR                  [        R                  " SSS5      S[        R                  " SS9S	9  UR                  [        R                  " SSS5      S[        R                  " SS9[        R                  " SS9S
9  [         R                  " 5       u  pUR                  [        R                  " SSS5      [        R                  " SSS5      /[        R                  " SS/5      [        R                  " SS9S	9  UR                  [        R                  " SSS5      [        R                  " SSS5      /[        R                  " SS/5      S Vs/ s H  n[        R                  " US9PM     snS	9  UR                  [        R                  " SSS5      [        R                  " SS94/S5        gs  snf )z>Smoketest that bar can handle width and height in delta units.  r;   r   r   hoursr  r<   )rV  r  )r  )r  rW  r   r/  r   r  N)	r)   r   r  r>  r  r  rl   rO  broken_barhr/   r$   r  s      r%   test_bar_timedeltart  4  s   llnGCFF8T1a("##!,  .FF8T1a("""+##!,  . llnGCGGHdAq)1%%A.  0GGHdAq)1%%A.##!,  . llnGCGGXtQ*H,=,=dAq,IJHHaX%%A.  0 GGXtQ*H,=,=dAq,IJHHaX9?@AH&&Q/@  B NNX&&tQ2''a02 3 As   I-c                     [         R                  " [         R                  " S5      [         R                  " S5      [         R                  " S5      /5      n [         R                  " [         R                  " S5      [         R                  " S5      [         R                  " S5      /5      n[        R                  " 5       u  p#UR                  / SQX-
  U S9  [        UR                  R                  5       [        R                  5      (       d   e[        R                  " 5       u  p#UR                  / SQX-
  U S	9  [        UR                  R                  5       [        R                  5      (       d   eg
)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)r   r;   r   )r  rR   )r  rS   N)rl   rO  rk  r)   r   r  r   r_   r   r@  AutoDateFormatterr  r]   )startstopr/   r$   s       r%   test_bar_datetime_startry  N  s    HHbmmL12==3NmmL13 4E88R]]<0"--2M]]<02 3D llnGCFF9TZF6bhh224f6N6NOOOOllnGCGGITZeG4bhh224f6N6NOOOOr'   c                     [         R                  R                  SS5      nU R                  SSU R	                  SS9S9R
                  n[        R                  " 5         [        R                  " XS9  g )Nr   r<   z1/1/2000r;   )years)periodsfreq	positions)	rl   rm   r   
date_range
DateOffsetyearr)   r   boxplot)pdr  r{  s      r%   test_boxplot_dates_pandasr  ^  sY    99>>!QDMM*"#"--a-*@  BBF$ 
JJLKK&r'   c                     [         R                  R                  SS5      n [        R                  " S5      u  pUS   R                  U / SQ/ SQS9  US   R                  U / SQS	S9  US
   R                  U / SQS9  US   R                  U S/ SQS9  US   R                  U SS	S9  US   R                  U SS9  US   R                  U / SQS9  US   R                  U S	S9  US   R                  U 5        g )Nr   r   rv  r   )r   r   r   r   )	capwidthswidthsr;   r   r<   r  r   r0  r   r  rj  r  )rl   rm   r   r)   r   r  )r  r/   r  s      r%   test_boxplot_capwidthsr  g  s    99>>!QD||AHCFNN4??NKFNN4?3N?FNN4?N3FNN43N?FNN43sN3FNN43N'FNN4N0FNN4N$FNN4r'   c                    SSK JnJn  [        R                  " 5       nUR                  S5      n[        R                  " SSS5      /n[        U5      S:  a:  UR                  US   [        R                  " SS	9-   5        [        U5      S:  a  M:  [        R                  " S
5      n[        R                  " XV5      u  px[        U5      S-
  [        U5      S-
  4n	[        R                  " U	S   U	S   -  5      n
Xl         U" 5         UR                  XxU
5      nUR                  R!                  5         U" 5         g ! U" 5         f = f)Nr   )register_matplotlib_converters deregister_matplotlib_converterso     r;   rj  r   x   )secondsr   )pandas.plottingr  r  r)   r   r   r>  r  appendr  rl   rt   r  r  r  canvasr  )r  r  r  r/   r$   timesy_vals	time_axisy_axisr  z_dataims               r%   test_pcolor_regressionr  x  s   
 **,C		BtQ*+E
e*q.U2Y!3!3C!@@A e*q. YYq\FE2I[1_c%j1n-EYYuQx%(*+FL+&(]]9f5

(*(*s   3D< <	Ec                 Z   U R                  / SQ/ SQ/ SQ/ SQS.5      nU R                  U/ SQ   5      US'   USS/   R                  S/5      R                  5       nUR                  nUS   nUS   n[
        R                  " 5       u  pgUR                  X4SS	S
9  UR                  X5SSS9  g )N)rm  rm  rm  r;   r;   r;   r  )r  monthrE  rD  )r  r  rE  daterD  r   r\   rV  oranger0  rK  )		DataFrameto_datetimegroupbyr  indexr)   r   r  r   )r  dfmonthlydatesforecastbaseliner/   r$   s           r%   test_bar_pandasr    s    	#	
B
 #; <=BvJ&'"#++VH599;GMMEwHwHllnGCFF5"HF5GGE8G2r'   c                     U R                  / SQ/ SQS./ SQS9n[        R                  " 5       u  p#UR                  UR                  SUR
                  S9  g )N)r   r   r  r   rF  r  )r4   r  r  r  r   rp  )r  r)   r   r  r4   r  r  r  r/   r$   s       r%   test_bar_pandas_indexedr    sF    	L<@% 
 
'BllnGCFF244288F$r'   c                     U R                  5       nUR                  5       nSS/nSS/nSS/n[        S5       H  nUR                  XG   XW   SXg   S9  M     UR                  XEUS9  g )	Nr;   r<   r   r4   r   r  )r   r>  r>  )r   r   r  )r"   r#   ry   rz   r4   r5   hatchesrC  s           r%   test_bar_hatchesr    su     !GF	
AA	
AACjG1X

14T
<  KKGK$r'   )r4   r  r2   expected_labelscontainer_labelr4   
_nolegend_r   r%  r?   )r   r  r   ABr  )r  r  r  bars)r  r  r  c                     [         R                  " 5       u  pVUR                  XUS9nU Vs/ s H  oR                  5       PM     n	nX9:X  d   eUR                  5       U:X  d   eg s  snf )Nr  )r)   r   r  	get_label)
r4   r  r2   r  r  r  r$   bar_containerr  
bar_labelss
             r%   test_bar_labelsr    sc     LLNEAFF15F1M-:;]c--/]J;(((""$777 <s   A%c                     [         R                  " 5       u  p[        R                  " [        5         UR                  SS/SS// SQS9  S S S 5        [         R                  " 5       u  p[        R                  " [        5         UR                  SS/SS/S/S9  S S S 5        g ! , (       d  f       N_= f! , (       d  f       g = f)Nr4   r5   r;   r<   )r  r  r  r  r  )r)   r   r   r   r  r  r  s     r%   test_bar_labels_lengthr    s    LLNEA	z	"
SzAq69 
#LLNEA	z	"
SzAq6#/ 
#	" 
#	" 
#	"s   B#B4#
B14
Cc                    U R                  SS/SS9U R                  SS/SS94 Hp  n[        R                  " X5        [        R                  " UR                  U5        [        R                  " U5        [        R                  " UR                  5        Mr     U R	                  S/ SQ05      n[        R                  " U5        [        R                  " X"5        g )Nr;   r<   float64r  Float64rz  r  )Seriesr)   r   r  r  )r  r4   r  s      r%   test_pandas_minimal_plotr    s    iiAii0iiAii02!2 
ui(	)BHHRLHHRr'   zhist_log.pngc                      [         R                  " SSS5      S-  n [         R                  " SU -
  SU -   /5      n[        R                  " 5       u  p#UR                  USSS9  g )Nr   r;   r  r   FT)rB  r.  )rl   r  concatenater)   r   hist)data0r  r/   r$   s       r%   test_hist_logr    sS    KK1c"A%E>>1u9a%i01DllnGCGGDu$G'r'   c           	      l   U R                  SS5      nUR                  SS5      n[        / SQ5       H  u  pEUSU4   R                  S5        USU4   R                  SSUS9  USU4   R                  SSUS9  USU4   R                  S5        US S 2U4    H  nUR                  SSSUS	9  M     M     g )
Nr<   r   )r  step
stepfilledr   r.  r;   histtypeT)r.  r  )r   r  r  r  )r"   r#   r   r   rC  r  r$   s          r%   test_hist_log_2r    s      A&Hq!$G !>?A!!%(AAq84AAq84A!!%(!Q$-BGGAqdXG6   @r'   c                  j   [         R                  " S5      u  pUS   R                  S/SS//SSS9  US   R                  S5        US   R                  / SQSSS9  US   R                  S5        U R                  R                  5         US   R                  5       US   R                  5       :X  d   eg )Nr<   r   r;   
barstackedr  r.  r   r   r;   )r)   r   r  r  r  r  r   r/   r  s     r%   test_hist_log_barstackedr  	  s    ||AHCFKK!q!fq<K8FeFKK	1|K4FeJJOOq6??A 1111r'   zhist_bar_empty.pngc                  N    [         R                  " 5       n U R                  / SS9  g )Nr  r  r)   rd  r  r  s    r%   test_hist_bar_emptyr  	  s     
BGGBGr'   c                     [         R                  R                  S5        [         R                  " [         R                  R	                  SSSS9SS5      R                  [         R                  5      n [        R                  " U SSS	9nUS
   n[        S[        U5      5       H>  nX#S-
     R                  5       nX#   R                  5       nUS   S   US   S   ::  a  M>   e   g )Nrb   r   r   r  sizer   r;   r   )r  r  r<   )rl   rm   rn   clipro   r   float16r)   r  r   r  get_corners)r'  r  bcrO  rleftrrights         r%   test_hist_float16r  	  s    IINN8WW
		c-q!55;VBJJ5G as+A	
1B1c"gQ3##%""$ Qx{fQil*** r'   zhist_step_empty.pngc                  N    [         R                  " 5       n U R                  / SS9  g )Nr  r  r  r  s    r%   test_hist_step_emptyr  "	  s     
BGGBG r'   zhist_step_filled.pngc                     [         R                  R                  S5        [         R                  R                  SS5      n SnSS0SS0SS 00 /S-  nS	/S
-  S/S
-  -   n[        R
                  " SS
S9u  pE[        X#UR                  5       HA  u  pgnUR                  " X4USS.UD6  UR                  U SU 35        UR                  SS9  MC     US   R                  n	[        S U	 5       5      (       d   eg )Nr   r  r   r   rB  TFr<   r  r0  r  nrowsncolsr  stackedr<  rZ  rR   r  c              3   b   #    U  H%  oR                  5       UR                  5       :H  v   M'     g 7fr  )rb  rc  ).0r  s     r%   	<genexpr>(test_hist_step_filled.<locals>.<genexpr>9	  s!     Gw! AOO$55ws   -/)rl   rm   rn   r  r)   r   r  r  r  r7   r
  r<  all)
r4   n_binsr  typesr/   r  kg_typer$   r<  s
             r%   test_hist_step_filledr  )	  s    IINN1
		a AFtnvuo~rB1DFHQJ~a''E||!1-HCVCHH52
>E4>2>
t1UG_%
3 6
 $iGGwGGGGGr'   zhist_density.pngc                      [         R                  R                  S5        [         R                  R                  S5      n [        R
                  " 5       u  pUR                  U SS9  g )Nrb   r  Tdensity)rl   rm   rn   r  r)   r   r  r  r/   r$   s      r%   test_hist_densityr  <	  sC    IINN899$$T*DllnGCGGD$Gr'   c                      [         R                  R                  S5      n U R                  S5      n/ SQn[        R
                  " XSS9u  n  n[         R                  " XSS9u  pT[        X55        g )Ni  r   )r  r   r  r   r;   r   T)r  r  )rl   rm   RandomStater  r)   r  	histogramr   )rngr  r  mpl_heightsr  
np_heightss         r%   test_hist_unequal_bins_densityr  D	  s[     ))


&C		#A"Dt<KALLt<MJK,r'   c                  2   [         R                   " SSS5      [         R                   " SSS5      /[         R                   " SSS5      [         R                   " SSS5      //n [        R                  " 5       u  pUR                  U SS9  UR                  U SS9  g )N  r;   r<   T)r  F)r>  r)   r   r  r  s      r%   test_hist_datetime_datasetsr  O	  s    tQ*H,=,=dAq,IJtQ*H,=,=dAq,IJLDllnGCGGD$GGGD%G r'   bins_preprocessc                     U $ r  r   r  s    r%   r  r  Y	  s    tr'   c                 0    [         R                  " U S5      $ )Nrk  )rl   rR  r  s    r%   r  r  Z	  s    rzz$'Er'   )rA  zdatetime.datetimeznp.datetime64c           	         [         R                   " SSS5      [         R                   " SSS5      [         R                   " SSS5      [         R                   " SSS5      /[         R                   " SSS5      [         R                   " SSS5      [         R                   " SSS5      [         R                   " SSS5      //n[         R                   " SSS5      [         R                   " SSS5      [         R                   " SSS5      /n[        R                  " 5       u  p4UR                  X" U5      SS	9u  pVn[        R
                  R                  U[        R                  R                  U5      5        UR                  X" U5      S
S	9u  pVn[        R
                  R                  U[        R                  R                  U5      5        g )Ni  r;   r   rO  r<   r   rM  T)r  r  F)
r>  r)   r   r  rl   r   r   r   r  rA  )r  r  
date_edgesr/   r$   r  r  s          r%    test_hist_datetime_datasets_binsr  W	  sq    tQ*H,=,=dAr,JtQ*H,=,=dAq,IKtQ+X->->tQ-JtQ+X->->tQ-JLMD
 ##D!Q/1B1B4A1N##D!Q/1J llnGCOJ$?NJAQJJtSYY%7%7
%CDOJ$?OJAQJJtSYY%7%7
%CDr'   zdata, expected_number_of_histsc                     [         R                  " U 5      u  n  n[        R                  " U5      nUR                  S:X  a	  SU:X  d   eg UR
                  S   U:X  d   eg )Nr;   r   )r)   r  rl   rR  ndimr  )r  expected_number_of_histshistsr  s       r%   test_hist_with_empty_inputr  n	  sV    
 ((4.KE1aJJuEzzQ,,,,{{1~!9999r'   zhisttype, zorderr  r  r  c                     [         R                  " 5       R                  5       nUR                  SS/U S9  UR                  (       d   eUR                   H  nUR                  5       U:X  a  M   e   g )Nr;   r<   r  )r)   r   r   r  r<  
get_zorder)r  r  r$   r  s       r%   test_hist_zorderr  |	  s]    
 
	!	!	#BGGQFXG&:::!V+++ r'   c            	          [         R                  " 5       u  p[        R                  " [        SS9   UR                  / SQ/ SQSS SS9  S S S 5        g ! , (       d  f       g = f)Nzbaseline=None and fill=Truerr  )r0  r   r;   r   r<   )r;   r<   r   r0  r   r   r   T)r5  r  rB  )r)   r   r   r  rQ  stairsr.   s     r%   "test_stairs_no_baseline_fill_warnsr  	  sK    llnGC	k)F	G
		 	 	
 
H	G	Gs   A
A c                 F   SS K Jn  [        R                  " / SQ5      n[        R                  " / SQ5      nU R	                  SS5      R                  5       nUS   R                  X4S S9  US   R                  X4S SS	9  US   R                  X45        US   R                  X4SS
9  US   R                  X45        US   R                  5         US   R                  X4SS
9  US   R                  5         SSS.nUR	                  SS5      R                  5       nUS   R                  " U[        R                  " X3S   5      4SS0UD6  US   R                  " [        R                  " US   U5      U4SS0UD6  US   R                  " U[        R                  " X3S   5      4SS0UD6  US   R                  UR                  " US   US   /SUS   /40 UD65        US   R                  UR                  " US   US   /SUS   /40 UD65        US   R                  SS 5        US   R                  " [        R                  " US   U5      U4SS0UD6  US   R                  UR                  " SUS   /US   US   /40 UD65        US   R                  UR                  " SUS   /US   US   /40 UD65        US   R                  SS 5        US   R                  " U[        R                  " X3S   5      4SS0UD6  US   R                  UR                  " US   US   /SUS   /40 UD65        US   R                  UR                  " US   US   /SUS   /40 UD65        US   R                  5         US   R                  " [        R                  " US   U5      U4SS0UD6  US   R                  UR                  " SUS   /US   US   /40 UD65        US   R                  UR                  " SUS   /US   US   /40 UD65        US   R                  5         g )Nr   )r      r   %   0   r   r  r0  )	r   r   r  r  r        @      @       @      "@r   r<   r  r;   rT   )r  rV   rU   r0  r   miterbuttsolid_joinstylesolid_capstyler   	drawstyle
steps-post)matplotlib.lineslinesrl   rO  r   flattenr  semilogyr  r   r  add_liner   r
  r	  )r"   r#   mlinesr5   r4   	test_axesr   ref_axess           r%   test_stairsr1  	  s   %
01A
56A!!!Q'//1IaLt,aLtFaLaL,7aLaLaL,7aL !(6BE1%--/HQKQ		!rU+M|MuMQKRYYqtQ'LlLeLQKQ		!rU+M|MuMQK!ad|a1YH%HIQK"qu~1R5zKUKLQKD!QKRYYqtQ'LlLeLQK1Q4y1Q41,H%HIQK1R5zAbE1R5>KUKLQKD!QKQ		!rU+M|MuMQK!ad|a1YH%HIQK"qu~1R5zKUKLQKQKRYYqtQ'LlLeLQK1Q4y1Q41,H%HIQK1R5zAbE1R5>KUKLQKr'   c           	         / SQ/ SQp2SnU R                  SS5      R                  5       nUS   R                  X#SS9  US   R                  X#S	SS
9  US   R                  X#USS9  US   R                  X#US	SS9  UR                  SS5      R                  5       nUS   R                  U[        R
                  " X"S   5      SSS9  US   R                  SS 5        US   R                  U[        R
                  " X"S   5      SSS9  US   R                  SS 5        US   R                  U[        R
                  " X"S   5      [        R                  " [        U5      S-   5      U-  SSS9  US   R                  US 5        US   R                  U[        R
                  " X"S   5      [        R                  " [        U5      S-   5      U-  SSS9  US   R                  US 5        g )N)r;   r<   r   r0  r<   r   r;   r<   r   r0  r   r  r<   r   TrB  r;   rT   )rV   rB  )r  rB  r   )r  rV   rB  r   post)r  rL  )r   r+  r  r  rl   r  r
  r5  r	  r   r  )r"   r#   r  r  bsr/  r0  s          r%   test_stairs_fillr7  	  s   1t	B!!!Q'//1IaLd+aL\EaL"48aL",!  # 1%--/HQKT299Q"#6VJQKD!QKdBIIa2$7fKQKD!QKT299Q"#6WWSVAX.r11  FQKT"QKdBIIa2$7 ggc!fQh/2A  GQKT"r'   c                 |   SnU R                  5       nUR                  / SQ5      nUR                  U5        UR                  / SQ5        UR                  [        R
                  " S5      S-   S9  UR                  / SQ[        R
                  " S5      S-  5        UR                  / SQ5        UR                  S [        R
                  " S5      5        [        R                  " UR                  5       S   [        R
                  " S	S5      5      (       d   e[        R                  " UR                  5       S	   [        R
                  " S5      5      (       d   eUR                  S
S9  UR                  5       R                  S
:X  d   eUR                  5       nUR                  / SQS
S9nUR                  U5        g )N)r  r0  r  r  r0  r<   edges)r;   r<   r;   r   r;   r  r!  )	r   r  r
  set_datarl   rt   allcloseget_datar  )r"   r#   r   test_axr  ref_axs         r%   test_stairs_updater@  	  s?    D""$Gy!ATJJyJJRYYq\!^J$JJy"))A,q.)JJyJJtRYYq\";;qzz|A		!Q8888;;qzz|A		!5555JJJ::<  B&&&   "Fi"-A
OODr'   c                 (   [         R                  " / SQ5      n[         R                  " / SQ5      nU R                  5       nUR                  X2S S9  SSS.nUR                  5       nUR                  " U[         R
                  " X3S   5      4SS	0UD6  g )
N)r   r<   r   r   r   )g|?5^?gV-?g+?rg  r!  r"  r#  r$  r   r'  r(  )rl   rO  r   r  r   r  )r"   r#   r4   r5   r/  r   r0  s          r%   test_stairs_baseline_NonerB  	  s~    
!"A
,-A$$&IQD) '6BE""$HMM!RYYqB%(JLJEJr'   c                      [         R                  " 5       R                  5       n U R                  / S/5        U R	                  5       S:X  d   eU R                  5       S:X  d   eg )N*   )'   r  rt  )r)   r   r   r  r   r   r  s    r%   test_stairs_emptyrF   
  sN    		!	!	#BIIb2$;;=H$$$;;=M)))r'   c                      [         R                  " [        SS9   [        R                  " SS/S[
        R                  S/5        S S S 5        g ! , (       d  f       g = f)NNan values in "edges"rr  r;   r<   r   )r   r   r  r)   r  rl   r  r   r'   r%   test_stairs_invalid_nanrI  
  s:    	z)@	A

Aq6Arvvq>* 
B	A	Ar  c                      [         R                  " [        SS9   [        R                  " SS/SS/5        S S S 5        g ! , (       d  f       g = f)NSize mismatchrr  r;   r<   r   )r   r   r  r)   r  r   r'   r%   test_stairs_invalid_mismatchrL  
  s2    	z	9

Aq6Aq6" 
:	9	9	   ?
Ac                      [         R                  " SS// SQ5      n [        R                  " [        SS9   U R                  S[        R                  S/S9  S S S 5        g ! , (       d  f       g = f)Nr;   r<   rG  rH  rr  r9  )r)   r  r   r   r  r;  rl   r  r  s    r%   test_stairs_invalid_updaterP  
  sJ    

Aq69%A	z)@	A	

!RVVQ
( 
B	A	As   !A
A-c                      [         R                  " SS// SQ5      n [        R                  " [        SS9   U R                  [        R                  " S5      S9  S S S 5        g ! , (       d  f       g = f)Nr;   r<   rG  rK  rr  r   r9  )r)   r  r   r   r  r;  rl   rt   rO  s    r%   test_stairs_invalid_update2rR  
  sF    

Aq69%A	z	9	

1
& 
:	9	9s   $A""
A0ztest_stairs_options.pngc                  @   [         R                  " / SQ5      [         R                  " / SQ5      R                  [        5      pUR	                  5       n[         R
                  US'   [        R                  " 5       u  p4UR                  US-  U SSSS9  UR                  XS-  S-
  S	SS
SS9  UR                  X SSSSS9  UR                  US-  U S-  S-
  SSSS
SS9  UR                  US S S2   S-  S-   U S-
  S	SSS SS9  UR                  US S S2   S-  S-   U SSSSSS9  UR                  US S S2   S-  S-   U S-   [         R                  " SS [        U5      5      S!SS"SS#9  UR                  US S S S S2   S-  S$-   U S S S-   S%SSS&S'S(S)9  UR                  S*S+9  g ),Nr;   r<   r   r0  r   r  r;   r   r   Tr  )r   rB  r2   r9  rT   r  )r   rB  rV   r2   r  rM  r<   r  )r   r  rL  r2   r   r_  )r  rL  r  rV   r2   r      E)r   r  rL  r  r2   r  rP  r  F)r  r   r  rL  r2   r   r3     r   G)r  r   r  r2   rB  rO  r:  r  //H)r   r  rL  r  r>  r2   r   rB   )rl   rO  r   r  copyr  r)   r   r  r  r  rK   )r4   r5   ynr/   r$   s        r%   test_stairs_optionsr^  
  s   88O$bhh|&<&C&CE&Jq	
BFFBqEllnGCIIac1G$cI:IIa1Qe$&c  3IIb8#I>IIbdAaCEdq3&c  3IIa"gailAaCu!d  IIa"gailA!3  8IIb2hqjmQqS2;;r2s1v+Ft3T  ;IIafTrTl1nR3B7tS  2II!Ir'   ztest_stairs_datetime.pngc            	         [         R                  " SS9u  pUR                  [        R                  " S5      [        R                  " [        R
                  " S5      [        R
                  " S5      5      5        [         R                  " SS9  g )NT)constrained_layout$   z
2001-12-27z
2002-02-02r   )rotation)r)   r   r  rl   rt   rk  xticks)fr$   s     r%   test_stairs_datetimere  5
  sY    LLD1EAIIbiimiil3l356 JJr'   c                     U R                  5       nUR                  / SQSSS9  UR                  5       nUR                  / SQSS9nUR                  S5        g )Nr  r9  T)r   rB  r4  )r   r  	set_color)r"   r#   r>  r?  sts        r%   test_stairs_edge_handlingri  >
  sR     ""$GNN9EN5   "F	yt	,BLLr'   c                      [         R                  " SSS5      n [         R                  " SSS5      n[         R                  " U 5      [         R                  " US S 2[         R                  4   5      -   nXU4$ )Nr  r      r  )rl   r  rg  r  r  )r4   r5   r  s      r%   contour_datrl  J
  sW    
B3A
B3A
q	BFF1Q

]+,,A7Nr'   contour_hatchingc                      [        5       u  pn[        R                  " 5       u  p4UR                  XUS/ SQ[        R
                  S   SSS9  g )Nrj  )r<  \rZ  rL  r  r   r   )r  r   extendr  )rl  r)   r   r  r   r  r  s        r%   test_contour_hatchingrq  Q
  sE    mGA!llnGCKKa$:]]6*S  *r'   contour_colorbargHzG?c                     [        5       u  pn[        R                  " 5       u  p4UR                  XU[        R
                  " SSS5      [        R                  S   SSSS9nUR                  XU[        R
                  " S	S
S5      S/SSS9nUR                  XU[        R
                  " SSS5      S/SS9nUR                  XTS9nUR                  U5        UR                  USS9  g )Ngg7A`?r   RdBug333333r  r   )levelsr   r  r  rp  gg^I+r5   r   r<   )ru  r  
linestylesr#  r  r?   )ru  r  r#  r  F)erase)rl  r)   r   r  rl   rt   r   r  r  rL   	add_lines)	r4   r5   r  r/   r$   cscs1cs2rO   s	            r%   test_contour_colorbarr|  Z
  s     mGA!llnGC	Q1RYYtUC%@--/"	 
 
$B
 **Q1RYYtVS%A E ' !  #C **Q1RYYsC%= E !  #C <<<"DNN3NN3eN$r'   z
hist2d.pngc                     S[         R                  S'   [        R                  R	                  S5        [        R                  R                  S5      S-  S-   n [        R                  R                  S5      S-
  n[         R                  " 5       u  p#UR                  XSSS	9  XS
.n[         R                  " 5       u  p#UR                  SSSUSS9  g )NFr  r   r   r<   r   r   Tr  
rasterizedr   r4   r5   )r  r  r  )r)   r   rl   rm   rn   r  r   hist2d)r4   r5   r/   r$   r  s        r%   test_hist2dr  q
  s     ',CLL"#IINN1
		Qq A
		QAllnGCIIaI- DllnGCIIc3RdtI<r'   zhist2d_transpose.pngc                  0   S[         R                  S'   [        R                  R	                  S5        [        R
                  " S/S-  5      n [        R                  R                  S5      S-
  n[         R                  " 5       u  p#UR                  XSSS	9  g )
NFr  r   r   r   r<   r   Tr~  )	r)   r   rl   rm   rn   rO  r  r   r  r  s       r%   test_hist2d_transposer  
  so     ',CLL"#IINN1 	!SA
		QAllnGCIIaI-r'   c                      [         R                  R                  S5      u  p[        R                  " 5       R	                  5       nU[        4 H  nUR                  XSS9  M     g )Nr  Tr  )rl   rm   r)   r   r   r  )r4   r5   r$   objs       r%   test_hist2d_densityr  
  sJ    99H%DA				 BCy

1
& r'   c            "           \ rS rSr\" S/SSS9S 5       r\" S/SS9S	 5       r\" S
/SS/S9S 5       r\" S/S9S 5       r	S r
\R                  R                  SSS0S\R                  " 5       0SS0SS0/5      S 5       rS r\R&                  R)                  S5      S 5       rS rS r\" S/S9S 5       r\" S/S9S 5       rS  r\" S/S9S! 5       r\" S/S9S" 5       rS#S$/S%4S&S'S(/ S)QS*4S+S,/S%4S,/S--  S%4S./S/-  S*4S./S--  S*4S./S0-  S14/ S2QS*4/ S3QS*4/ S4QS%4/ S5Q/S*4/ S5Q/S/-  S14/ S5Q/S--  S*4/ S5Q/S0-  S14/ S6Q/S*4/ S6Q/S/-  S14/ S6Q/S--  S*4/ S6Q/S0-  S14/ S6Q/S/-  / S5Q/-   S*4/ S6QS7S8/S14/ S6QS7S8S9/S*4/ S6QS7S8S9/ S:Q/S14/ S6QS7S,/S%4/ S6QS7S8S,/S%4/ S6QS7S8S9S,/S%4/r\R                  R                  S;\5      S< 5       r\R&                  R)                  S5      \" S/S9S= 5       5       rS> r S? r!S@r"g*)ATestScatteri
  r=   r   Tr  c                 \   [         R                  " / SQ5      [         R                  " / SQ5      / SQ/ SQ/ SQS.n[        R                  " 5       u  p#UR	                  US   S-
  US	   S-
  US
   US   S9  UR	                  US   S-   US	   S-   US   US   S9  UR	                  SS	S
SUS9  g )Nr   r0  r<   r   r<   r   r<   r   rO  r5   r%  limerN  r         )0.50.60.7z0.8)r4   r5   r?   r  c2r4   r   r5   r?   r  r?   r  r  )r?   r  r  )rl   rO  r)   r   r=   )ry  r  r/   r$   s       r%   test_scatter_plotTestScatter.test_scatter_plot
  s    XXl+"((<2H,3C24 ,,.


49r>49r>T#Y$s)
L


49r>49r>T$Z49
M


3sc
5r'   zscatter_marker.pngr  c                 .   [         R                  " SS9u  nu  p#nUR                  / SQ/ SQ/ SQ/ SQ/ SQSS	9  UR                  / SQ/ SQ/ SQ/ SQ/ SQ[        R                  " S
SS9S	9  Su  pVXV-  [
        R                  -  n[
        R                  " SS[
        R                  -  S5      n[
        R                  " [
        R                  " U5      U-  U-  [
        R                  " U5      U-  U-  /5      n	UR                  / SQ/ SQ/ SQ/ SQ/ SQU	S	9  g )Nr   r  r  r  )r;   r   r   r5   r%  r  )r.  r[  r"  r   )rE  rO  gr%  r  )r?   r  rn  r   r   rA   	fillstyler  r   r<   r  )r)   r   r=   r  r   rl   r  r  column_stackrg  r  )
ry  r/   ro  r  r  rxryarear  r'  s
             r%   test_scatter_markerTestScatter.test_scatter_marker
  s    "||!4_cL,3&3	 	 	 
 	L,3&3#//uE	 	 	G wAq255y"-!3d!:!#!3d!:!< =L,3&3 	 	 	"r'   
scatter_2Dr   )r  r   c                     [         R                  " S5      n[         R                  " S5      n[         R                  " X5      u  pX-   n[        R                  " 5       u  pEUR                  XUSSS9  g )Nr   r<   r  face)r?   r  rn  )rl   rt   r  r)   r   r=   )ry  r4   r5   r  r/   r$   s         r%   test_scatter_2DTestScatter.test_scatter_2D
  sT    IIaLIIaL{{1 E,,.


11
7r'   r   c                    [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " U Vs/ s H  n[        U5      PM     sn5      n[         R                  " U Vs/ s H  n[        U5      PM     sn5      n/ SQn/ SQn	UR                  5       n
U
R	                  XgXS9  UR                  5       n
U
R	                  X4XS9  g s  snf s  snf )NrJ  rK  r  r  r  )rl   rO  r   r   r=   )ry  r"   r#   rN  rO  rC  r4   r5   r?   r  r$   s              r%   test_scatter_decimal TestScatter.test_scatter_decimal
  s    XX*+XX*+HH"-"Qgaj"-.HH"-"Qgaj"-.# 


11
"


2Q
$ .-s   C5Cc                 D   [         R                  " [        5         [        R                  " SS/SS/SS/S9  S S S 5        [         R                  " [        5         [        R                  " / SQ/ SQ/ SQS9  S S S 5        g ! , (       d  f       NN= f! , (       d  f       g = f)Nr;   r<   r   r   rP  r  )r   r   r  r)   r=   ry  s    r%   test_scatter_colorTestScatter.test_scatter_color
  sc    ]]:&KKAAsCj9 ']]:&KK	9I> '& '&&&s   B B 
B
Br  r   r  r  r  r   r  c                    Sn[         R                  " [        US9   [        R                  " / / 40 UD6  S S S 5        [         R                  " [        US9   [        R                  " SS/SS/4S/ 0UD6  S S S 5        [        R                  " / / 4S/ 0UD6  [        R                  " SS/SS/4SSS/0UD6  g ! , (       d  f       N= f! , (       d  f       NZ= f)	Nz"No data for colormapping provided rr  r;   r<   r   r0  r?   r   )r   r  Warningr)   r=   )ry  r  
warn_matchs      r%   test_scatter_color_warning&TestScatter.test_scatter_color_warning
  s     :
 \\'4KKB)&) 5\\'4KKAA7"77 5 	B+b+F+QFQF7q!f77 5444s   B8C	8
C	
Cc           
      (   [         R                  " / SQ/ SQ/ SQ[        R                  " SSS9/ SQS9nUR	                  5       R
                  S	:X  d   e[        UR                  5       / S
Q/ SQ/ SQ/5        [        UR                  5       / SQ5        g )NrG  r;   r   r<   0.1z0.3r  r   r1  r  rl  r9  ?r?   r   r#  )r   r0  r   r   r   r;   r   r   r   r;   r   r   r   r;   )	r)   r=   r  r   get_facecolorsr  r   get_edgecolorsget_linewidthsry  colls     r%   test_scatter_unfilled!TestScatter.test_scatter_unfilled
  s    {{9i3H"*"6"6sf"M&57 ""$**f4444..03E3E3E3G 	H 	4..0/Br'   r  c                    [         R                  " / SQ/ SQ/ SQS/ SQS9n[        UR                  5       UR	                  5       5        [        UR	                  5       / SQ/ SQ/ S	Q/5        [        UR                  5       / SQ5        g )
NrG  r  r  r4   r  r  r  r  r  )r)   r=   r   r  r  r  r  s     r%   test_scatter_unfillable#TestScatter.test_scatter_unfillable
  ss    {{9i3H"%&57 	4..0$2E2E2GH4..03E3E3E3G 	H 	4..0/Br'   c                     [         R                  " S5      n[        R                  " [        SS9   [
        R                  " XUSS  5        S S S 5        [        R                  " [        SS9   [
        R                  " USS  USS  U5        S S S 5        [        R                  " [        SS9   [
        R                  " XS5        S S S 5        g ! , (       d  f       N= f! , (       d  f       NY= f! , (       d  f       g = f)Nr0  zsame size as x and yrr  r;   zfloat array-liker  )rl   rt   r   r   r  r)   r=   )ry  r4   s     r%   test_scatter_size_arg_size&TestScatter.test_scatter_size_arg_size  s    IIaL]]:-CDKKae$ E]]:-CDKK!"qua( E]]:-?@KKe$ A@	 EDDD@@s#   C,C,C/
C
C,/
C=c                    [         R                  " / SQS[        R                  [        R                  /SS9n[        R
                  " UR                  5       S5      (       d   e[         R                  " / SQS[        R                  [        R                  S/SS9n[        R
                  " UR                  5       S5      (       d   eg )Nr  r;   r  r6  r  r  )r)   r=   rl   r  r  
same_colorrc  r  s     r%   test_scatter_edgecolor_RGB&TestScatter.test_scatter_edgecolor_RGB  s    {{9q"&&"&&&9&/1!!$"4"4"6	BBBB{{<!RVVRVVQ)?&24!!$"4"4"6EEEEr'   c           	         UR                  5       n[        R                  S   R                  S5      nUR	                  SS5        UR                  [        S5      [        S5      S[        R                  S[        R                  // SQUSS	9  UR                  5       n[        R                  S   R                  S5      nUR                  S
S/S
S/SS/SS/US9  UR                  SS/SS/SS/SS9  g )Nr  r  rE  r;   r0  r<   r  Tr?   r  r   plotnonfiniter   r   r?   r  r   )r  r   	r   r   r  r  set_badr=   r   rl   r  ry  r"   r#   r$   r   s        r%   test_scatter_invalid_color&TestScatter.test_scatter_invalid_color  s     }}Y'11"5S! 	

58U1XBFF+|D 	 	2 }}Y'11"5


Aq6Aq6aV1vD
A


Aq6Aq6aV3
7r'   c           	      r   UR                  5       n[        R                  S   R                  S5      nUR	                  SS5        UR                  [        S5      [        S5      S[        R                  S[        R                  // SQUSS	9  UR                  5       nUR                  S
S/S
S/SS/SS/US9  g )Nr  r  rE  r;   r0  r<   r  Fr  r   r   r  r  r  s        r%   test_scatter_no_invalid_color)TestScatter.test_scatter_no_invalid_color&  s      }}Y'11"5S!


58U1XBFF+|E 	 	3 


Aq6Aq6aV1vD
Ar'   c           
          / SQn[         R                  " 5       n[        R                  " [        SS9   UR                  XU[        R                  " SS5      SSS9  S	S	S	5        g	! , (       d  f       g	= f)
r  r  r  rr  r  r   r   r   )r?   r  r  r  N)r)   ri  r   r   r  r=   r  r  )ry  r4   r$   s      r%   test_scatter_norm_vminvmax&TestScatter.test_scatter_norm_vminvmax2  se    XXZ]]:"DE JJqqw'8'8b'AA  'E E Es   )A%%
A3c                     UR                  5       nUR                  SSSS9  UR                  5       nUR                  S/S/S/S9  g )Nr;   rQ  )r   r=   )ry  r"   r#   r$   s       r%   test_scatter_single_point%TestScatter.test_scatter_single_point<  sH     


1a1



A3s
#r'   c                 0   [         R                  " S5      nUR                  5       nUR                  X3R	                  SS5      UR	                  SS5      S9  UR                  5       nUR                  UR	                  SS5      X3R	                  SS5      S9  g )Nr   r<   r   rQ  )rl   rt   r   r=   r   )ry  r"   r#   r4   r$   s        r%   test_scatter_different_shapes)TestScatter.test_scatter_different_shapesC  ss    IIbM 


1ii1o1a
9


199Q?A1a
9r'   )r  Nrgby
conversion)r9  N)r1  N)NN)rO  r  r%  r1  N)jauner  r  r0  r   r   r   r  )r  z0.4r  r  )r  r9  r  C5)r  r   r  r  r  r;   r   r   r   r9  z0.0r  r   r;   r   zc_case, re_keyc           	      |   S nSnSSS.nUb  [         R                  " [        XR   S9OL[        U[        5      (       a#  [        U5      S:X  a  [         R                  " SS9O[        R                  " 5       nU   [        R                  R                  R                  US	0 UUS
9  S S S 5        g ! , (       d  f       g = f)Nc                      gNr   r   r   r'   r%   get_next_color2TestScatter.test_scatter_c.<locals>.get_next_color{  s    r'   r0  z!^'c' argument has [0-9]+ elementsz^'c' argument must be a color)r  r  rr  r   (argument looks like a single numeric RGBr:  r?   rn  r  xsizeget_next_color_func)r   r   r  r   r%  r  r  
contextlibnullcontextr   ri  r   _parse_scatter_color_args)ry  c_casere_keyr  r  REGEXPassert_contexts          r%   test_scatter_cTestScatter.test_scatter_cy  s    	  99 ! MM*FN; &$''CK1,< $NO'') 	 HHMM33WRu$2 4 4 ^^s   8,B--
B;c                    / SQ/n/ SQ/nUR                  5       nUR                  [        R                  " S5      [	        S5      US9  UR                  [        R                  " S5      S-  [	        S5      US9  UR                  5       nUR                  [        R                  " S5      [	        S5      US9  UR                  [        R                  " S5      S-  [	        S5      US9  g )N)r;   r   皙?)r;   r   r  r   r   rP  r0  r<   rQ  )r   r=   rl   r   r   )ry  r"   r#   rgbrgbarz   ry   s          r%   test_scatter_single_color_c'TestScatter.test_scatter_single_color_c  s     "# !!#rwwqz5837rwwqz!|U1XT: ##%
E!H4
1eAh$7r'   c                    [         R                  " S5      n[        R                  " 5       u  p#[	        S5       HK  nUR                  U[         R                  " SU5      SU 3SSUS-   S9nUR                  5       US-   :X  a  MK   e   UR                  U[         R                  " SS5      SSS/ [	        SS5      QS PS9n[        UR                  5       / [	        SS5      Q[        R                  S	   P5        g )
Nr   r   r  r4   r   r;   )r?   r   r  r#  C3lines.linewidth)rl   rt   r)   r   r   r=   rf   r  r   r   r   )ry  r4   r/   r$   rC  pcs         r%   test_scatter_linewidths#TestScatter.test_scatter_linewidths  s    IIaL,,.qAArwwq!}!A3s'(1u  .B$$&!a%/// 
 ZZ2771a=D#7U1a[#7$#7  92,,.JU1a[J#,,7H*IJ	Lr'   c                    [         R                  " [        SS9   [        R                  " / SQ/ SQ/ SQSS9  S S S 5        [         R                  " [        SS9   [        R                  " / SQ/ SQ/ SQS	S
9  S S S 5        [         R                  " [        SS9   [        R                  " / SQ/ SQ/ SQS	S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N_= f! , (       d  f       g = f)NzGGot both 'linewidth' and 'linewidths', which are aliases of one anotherrr  r  )r   rF  r   r   )r#  r7  zGGot both 'edgecolor' and 'edgecolors', which are aliases of one another)#ffffffz#000000z#f0f0f0r  )rn  r6  zGGot both 'facecolors' and 'facecolor', which are aliases of one another)
facecolorsr5  )r   r   r   r)   r=   r  s    r%   &test_scatter_singular_plural_arguments2TestScatter.test_scatter_singular_plural_arguments  s    ]]9"#$ KK	9TWX$
 ]]9"#$ KK	9#D$-/$ ]]9"#$ KK	9#D&/1$ $$ $
$ $$ $s#   B?CC!?
C
C!
C/r   )#r|  r}  r~  r  r   r  r  r  r   r  r  r   markparametrizer  r  r  r  r   r   contextr  r  r  r  r  r  r  r  params_test_scatter_cr  r  r  r  r  r   r'   r%   r  r  
  sR   ykdC6 D6 +,$?" @"0 |n$E7K8 L8 UG,% -%? [[X%+V$4%+W->->-@$A%+QK%+QK	!"#
8#
8C 	YYy!C "C%F UG,8 -8 UG,	B -	B' UG,$ -$ UG,: -: 	
< 	 $'
L!
1l#
q$
q$
q'	%t,	$d+	"L1
d
Q 
Q
Q 
	4 
	!	W%
	!	T"
	!	W%
	!	yk	)40
%	'1
%	-t4
%i	8'B
%	)<8
%	0,?
%g	6EQ)V [[-/DE4 F4. 	YYy!UG,8 - "8L1r'   r  )rn  c                
    XX14$ r  r   )r?   r  rn  r  s       r%   _paramsr    s    6))r'   _resultz	c, colorszparams, expected_resultr%  rH  )r?   r  rO  rQ  r  rP  r  )r   r   r   r;   c                     S n[         R                  R                  R                  " U SU06u  p4nX1R                  :X  d   e[        XAR                  5        g )Nc                      gr  r   r   r'   r%   r  5test_parse_scatter_color_args.<locals>.get_next_color      r'   r  )r   ri  r   r  r?   r   r  )paramsexpected_resultr  r?   r  _edgecolorss         r%   test_parse_scatter_color_argsr    sQ     !XX]]DD	5%35A{!!!!!F223r'   zkwargs, expected_edgecolorsr  r  r1  )r6  rn  )r?   r6  rn  )r   r6  c                     S nU R                  SS 5      nU R                  SS 5      n[        R                  R                  R	                  X4U SUS9u    pVXa:X  d   eg )Nc                      gr  r   r   r'   r%   r  @test_parse_scatter_color_args_edgecolors.<locals>.get_next_color  r  r'   r?   rn  r<   )r  r  )popr   ri  r   r  )r  expected_edgecolorsr  r?   rn  r  result_edgecolorss          r%   (test_parse_scatter_color_args_edgecolorsr$    se     	

3AL$/J//6 	0 	P Aq 333r'   c            	          S n [         R                  " [        SS9   [        R                  " / SQ/ SQ/5      n[
        R                  R                  R                  US 0 SU S9  S S S 5        g ! , (       d  f       g = f)Nc                      gr  r   r   r'   r%   r  ;test_parse_scatter_color_args_error.<locals>.get_next_color   r  r'   z&RGBA values should be within 0-1 rangerr  )r   r   r  )r   rF  gffffff?r<   r  r  r  )	r   r   r  rl   rO  r   ri  r   r  )r  r?   s     r%   #test_parse_scatter_color_args_errorr)    sh     
zE
GHHo78//tBa^ 	0 	M
G 
G 
Gs   AA..
A<zYou passed both c and facecolor/facecolors for the markers. c has precedence over facecolor/facecolors. This behavior may change in the future.)r9  r   r9  r   r   r  r  r  r  )r;   r;   r   zc, facecolorc           	         S n[         R                  " [        [        S9   [        R
                  R                  R                  U SSU0SUS9  SSS5        [         R                  " [        [        S9   [        R
                  R                  R                  U SSU0SUS9  SSS5        g! , (       d  f       Nb= f! , (       d  f       g= f)z<Test the internal _parse_scatter_color_args method directly.c                      gr  r   r   r'   r%   r  =test_parse_c_facecolor_warning_direct.<locals>.get_next_color  r  r'   rr  Nr  r<   r  r5  )r   r  rQ  WARN_MSGr   ri  r   r  )r?   r5  r  s      r%   %test_parse_c_facecolor_warning_directr.    s     
k	2//D,	)B 	0 	9 
3 
k	2//D+y)A 	0 	9 
3	2 
3	2 
3	2s   .B+4.B<+
B9<
C
c                    [         R                  " 5       u  p#[        U [        [        45      (       a  SS/OS/nUn[
        R                  " [        [        S9   UR                  XEXS9  SSS5        [
        R                  " [        [        S9   UR                  XEXS9  SSS5        g! , (       d  f       NE= f! , (       d  f       g= f)z:Test the warning through the actual scatter plot creation.r   r;   rr  )r?   r  N)r?   r5  )
r)   r   r   r%  tupler   r  rQ  r-  r=   )r?   r5  r/   r$   r4   r5   s         r%   ,test_scatter_c_facecolor_warning_integrationr1  +  s     llnGCQu..AQCA	A 
k	2


11
3 
3 
k	2


11
2 
3	2	 
3	2 
3	2s   B)B:)
B7:
Cc                  V    " S S5      n U " 5       nU " 5       n[         R                  Ul        [        R                  " SUS9n[        U5      [        L d   e[        R                  " 5         [        R                  " SUS9n[        U5      [        L d   e[        R                  " 5         g )Nc                        \ rS rSrS rS rSrg)#test_as_mpl_axes_api.<locals>.Polari=  c                     SU l         g Nr   theta_offsetr  s    r%   __init__,test_as_mpl_axes_api.<locals>.Polar.__init__>  s
     !Dr'   c                 *    [         SU R                  04$ )Nr8  )r   r8  r  s    r%   _as_mpl_axes0test_as_mpl_axes_api.<locals>.Polar._as_mpl_axesA  s    ~t/@/@AAAr'   r7  N)r|  r}  r~  r  r9  r<  r  r   r'   r%   Polarr4  =  s    	"	Br'   r>  rH  r  y   )	rl   r  r8  r)   ri  typer   rm  rk  )r>  prjprj2r$   s       r%   test_as_mpl_axes_apirC  ;  s    B B 'C7DD 
,3	/B8y   IIK 
SS	)B8y   IIKr'   c                  L   [         R                  " 5       u  p[         R                  " 5       u  p#[         R                  " U5        U[         R                  " 5       L d   eU [         R                  " 5       L d   e[         R
                  " U 5        [         R
                  " U5        g r  )r)   r   scard  gcfrm  )fig1r  fig2r  s       r%   test_pyplot_axesrI  T  se    IDIDGGCL#'')3779IIdOIIdOr'   c                  p   [         R                  " 5       u  pUR                  [        R                  " [        R
                  " SS5      5      5        UR                  SSS9  UR                  5         UR                  SSS9  S UR                  UR                  4 5       u  p#U/ SQ:X  d   eU/ S	Q:X  d   eg )
Nr   r   r.        @)r  r   c              3      #    U  HM  nUR                  5        Vs/ s H,  o"R                  5       UR                  R                  5       4PM.     snv   MO     g s  snf 7fr  )_update_ticksget_loclabel1get_text)r  r"  r  s      r%   r  "test_log_scales.<locals>.<genexpr>e  sM      (D 6:5G5G5IJ5I))+qxx((*	+5IJ( 	Ks   A3AA))r   z$\mathdefault{9^{0}}$)r   z$\mathdefault{9^{1}}$)g     @T@z$\mathdefault{9^{2}}$r   r   r  r   r  r   r  r   )r  r   )r  r   )r  r   )g      2@r   )g      ;@r   )g      B@r   )g     F@r   )g      K@r   )g     O@r   )      R@r   ))gF]tE?z$\mathdefault{5.5^{-1}}$)r   z$\mathdefault{5.5^{0}}$)rK  z$\mathdefault{5.5^{1}}$)gF]tE?r   )gtE]t?r   )gF]tE?r   )g]tE?r   rR  rS  rT  rU  )r)   r   r   rl   r.  r  r  r  rW  r]   r_   )r/   r$   rc  ytickss       r%   test_log_scalesrX  _  s    llnGCGGBFF2;;sC()*MM%cM"OOMM%cM"XXrxx(NF     &     r'   c                     [         R                  " 5       u  pUR                  SSS9  UR                  R	                  [
        R                  " S5      5        UR                  5       UR                  5       s=:X  a  S:X  d   e   eg )Nr.  )r  r  r;   r;   r   )	r)   r   r   r]   r	  r   MultipleLocatorr   r   r  s     r%   test_log_scales_no_datar\    sa    LLNEAFF%F&HHw66q9:;;=BKKM4W44444r'   c                     [         R                  " 5       u  pUR                  S5        [        R                  " [
        SS9   UR                  SS5        S S S 5        UR                  S5        [        R                  " [
        SS9   UR                  SS5        S S S 5        g ! , (       d  f       NT= f! , (       d  f       g = f)Nr.  zAttempt to set non-positiverr  r   r   )	r)   r   rW  r   r  rQ  r	  r  r
  r.   s     r%   test_log_scales_invalidr^    s    llnGCMM%	k)F	G
B 
HMM%	k)F	G
B 
H	G 
H	G 
H	Gs   B#B4#
B14
Czstackplot_test_image.pngc            	         [         R                  " 5       n [        R                  " SSS5      nSU-  nSU-  S-   nSU-  S-   nU R	                  SSS5      nUR                  XX45        UR                  S5        UR                  S	5        XX4S
.n[         R                  " 5       u  pUR                  SSSSU/ SQS9  UR                  S5        UR                  S	5        g )Nr   r   r   r   r;   r  r<   r   r   r   r1  )r4   r  rS  y3r4   r  rS  rb  )r  C1C2)r  r  )	r)   r   rl   r  r   	stackplotr	  r
  r   )r/   r4   r  rS  rb  r$   r  s          r%   test_stackplotrf    s     **,C
Ar2A	qB	q1B	q1B	Aq	!BLLKKKK B1DllnGCLLdD$T:LLMKKKKr'   zstackplot_test_baseline.pngc                     [         R                  R                  S5        S n U " SS5      nSUSS S 24'   [        R                  " SS5      u  p#US   R                  [        S5      UR                  SS	9  US
   R                  [        S5      UR                  SS	9  US   R                  [        S5      UR                  SS	9  US   R                  [        S5      UR                  SS	9  g )Nr   c                    [         R                  " X45      n[        U 5       H  n[        S5       H  nSS[         R                  R                  5       -   -  nS[         R                  R                  5       -  S-
  nSS[         R                  R                  5       -   -  nUS S 2U4==   U[         R                  " [         R
                  " U5      U-  U-
  U-  S-  * 5      -  -  ss'   M     M     U$ )Nr   r;   r   r<   r   r   )rl   r  r   rm   exprt   )r  r  r   rC  jr4   r5   r  s           r%   layers'test_stackplot_baseline.<locals>.layers  s    HHaVqA1Xbii..001		((**R/"ryy//112!Q$1rvv1)9A)=(Bq'H&HIII	   r'   r   r   r[  r<   r  zeror!  r  symr;   r   wiggler}  weighted_wiggle)rl   rm   rn   r)   r   re  r   r  )rk  r  r/   r  s       r%   test_stackplot_baselinerr    s    IINN1 	q#AAb!eH||Aq!HCIc
ACC&9Ic
ACC%8Ic
ACC(;Ic
ACC2CDr'   c           	         [         R                  " SSS5      nSU-  nSU-  S-   nSU-  S-   nUR                  5       nUR                  X#XE/ SQS	/S
9  UR	                  S5        UR                  S5        [         R                  " [        U5      5      nU R                  5       nUR                  X'USS	S9  UR                  X#X4-   SS	S9  UR                  X#U-   X4-   U-   SS	S9  UR	                  S5        UR                  S5        g )Nr   r   r   r   r;   r  r<   )r4   rZ  \\r;  )r>  r  r`  ra  r4   )r>  r5  rZ  rt  )	rl   r  r   re  r	  r
  r  r  r  )	r#   r"   r4   r  rS  rb  ry   stack_baselinerz   s	            r%   test_stackplot_hatchingrv    s   
Ar2A	qB	q1B	q1B!GaR+>yQWWXXc!f%NF
2SGL
ruDGD
b5"%(&GL
OOG
OOGr'   c                     U $ r  r   )r  s    r%   r  r    s    1r'   c                    [         R                  R                  S5        [        R                  R
                  " [         R                  R                  SSSS940 U D6n[        R                  " 5       u  pEUR                  SS5      S:X  a  UR                  S5        OUR                  S5        UR                  S	S
5      (       d$  [        R                  S   [        R                  S'   UR                  " U" U5      40 UD6  g )N  rg  r   )r  r0  )meansigmar  rV   verticalr.  patch_artistFr  boxplot.boxprops.linewidth)rl   rm   rn   r   cbookboxplot_stats	lognormalr)   r   getr  rW  r   bxp)stats_kwargstransform_stats
bxp_kwargslogstatsr/   r$   s         r%   _bxp_test_helperr    s    IINN3yy&&
		Rg>PBNPHllnGC~~mZ0J>
e
e >>.%00LL*+ 	12FF?8$3
3r'   zbxp_baseline.pngr"  )r/  r   c                      [        5         g r  r  r   r'   r%   test_bxp_baseliner    s
     r'   zbxp_rangewhis.pngc                  (    [        [        SS/S9S9  g )Nr   r   whisr  r  r  r   r'   r%   test_bxp_rangewhisr    s     $QH"56r'   zbxp_percentilewhis.pngc                  (    [        [        SS/S9S9  g )Nr   _   r  r  r  r   r'   r%   test_bxp_percentilewhisr     s     $QG"45r'   zbxp_with_xlabels.pngc                      S n [        U S9  g )Nc                 J    [        U [        S5      5       H	  u  pX!S'   M     U $ NABCDr2   r  r%  statsr  r2   s      r%   r4  (test_bxp_with_xlabels.<locals>.transform  %    E4<0HAgJ 1r'   )r  r  r4  s    r%   test_bxp_with_xlabelsr    s    
 Y/r'   zbxp_horizontal.pngr   )r  r/  r   r   c                  $    [        [        SS9S9  g )NrT   rU   r  r  r   r'   r%   test_bxp_horizontalr    s      >?r'   zbxp_with_ylabels.png)r/  r   r   c                  ,    S n [        U [        SS9S9  g )Nc                 J    [        U [        S5      5       H	  u  pX!S'   M     U $ r  r  r  s      r%   r4  (test_bxp_with_ylabels.<locals>.transform!  r  r'   rT   rU   r  r  r  r  s    r%   test_bxp_with_ylabelsr    s    

 Y $ >@r'   zbxp_patchartist.png)r  r/  r   c                  $    [        [        SS9S9  g )NT)r}  r  r  r   r'   r%   test_bxp_patchartistr  *  s    
 $ 78r'   zbxp_custompatchartist.pngr   c                  8    [        [        S[        SSSS9S9S9  g )NTr  r   :)r5  r6  r  )r}  boxpropsr  r  r   r'   r%   test_bxp_custompatchartistr  2  s$    
 GD!F Gr'   zbxp_customoutlier.pngc            
      6    [        [        [        SSSS9S9S9  g )Nr1  r  r  r   r   mfc)
flierpropsr  r  r   r'   r%   test_bxp_customoutlierr  <  s!    
 &#>!@ Ar'   zbxp_withmean_custompoint.pngc                  8    [        [        S[        SSSS9S9S9  g )NTr1  r  r   r  )	showmeans	meanpropsr  r  r   r'   r%   test_bxp_showcustommeanr  E  s"    
 A! r'   zbxp_custombox.pngc            
      6    [        [        [        SSSS9S9S9  g )NrM  r%  r   r   r   rL  )r  r  r  r   r'   r%   test_bxp_customboxr  P      
 CA6!8 9r'   zbxp_custommedian.pngc            
      6    [        [        [        SSSS9S9S9  g )NrM  r%  r   r  medianpropsr  r  r   r'   r%   test_bxp_custommedianr  Y  s    
 4sq9!; <r'   zbxp_customcap.pngc            
      6    [        [        [        SSSS9S9S9  g )NrM  r  r   r  )cappropsr  r  r   r'   r%   test_bxp_customcapr  b  r  r'   zbxp_customwhisker.pngc            
      6    [        [        [        SSSS9S9S9  g )NrL  r  r   r  )whiskerpropsr  r  r   r'   r%   test_bxp_customwhiskerr  k  s    
 Csq9!; <r'   c                     [         R                  " S5      nSS0n0 UESS0EnU R                  5       R                  X#S9  UR                  5       R                  X$S9  g )Nr   r7  r  r&  r#  r  )rl   rt   r   r  )r"   r#   r  medianprops_testmedianprops_refs        r%    test_boxplot_median_bound_by_boxr  t  sa    99Q<D#R(D)D+;VDODtAr'   zbxp_withnotch.pngc                  $    [        [        SS9S9  g )NT)shownotchesr  r  r   r'   r%   test_bxp_shownotchesr  }  s    
  67r'   zbxp_nocaps.pngc                  $    [        [        SS9S9  g )NF)showcapsr  r  r   r'   r%   test_bxp_nocapsr    s    
 e 45r'   zbxp_nobox.pngc                  $    [        [        SS9S9  g )NF)showboxr  r  r   r'   r%   test_bxp_noboxr    s    
 U 34r'   zbxp_no_flier_stats.pngc                  ,    S n [        U [        SS9S9  g )Nc                 <    U  H  nUR                  SS 5        M     U $ )Nfliers)r!  )r  r  s     r%   r4  *test_bxp_no_flier_stats.<locals>.transform  s    AEE(D! r'   F)
showfliersr  r  r  s    r%   test_bxp_no_flier_statsr    s    

 Y $ 68r'   zbxp_withmean_point.pngc                  &    [        [        SSS9S9  g )NTFr  meanliner  r  r   r'   r%   test_bxp_showmeanr    s    
 te DEr'   zbxp_withmean_line.pngc                  &    [        [        SSS9S9  g )NTr  r  r  r   r'   r%   test_bxp_showmeanasliner    s    
 td CDr'   zbxp_scalarwidth.pngc                  $    [        [        SS9S9  g )Nr  r  r  r  r   r'   r%   test_bxp_scalarwidthr    s    
 C 01r'   zbxp_customwidths.pngc                  (    [        [        / SQS9S9  g )N)r   r  g?g333333?r  r  r  r   r'   r%   test_bxp_customwidthsr    s    
 ,D EFr'   zbxp_custompositions.pngc                  (    [        [        / SQS9S9  g )N)r;   r   r   rj  r~  r  r  r   r'   r%   test_bxp_custompositionsr    s    
 | <=r'   c                      [         R                  " [        5         [        [	        S/S9S9  S S S 5        g ! , (       d  f       g = f)Nr;   r  r  r   r   r  r  r  r   r'   r%   test_bxp_bad_widthsr    s)    	z	"D$45 
#	"	"	   6
Ac                      [         R                  " [        5         [        [	        SS/S9S9  S S S 5        g ! , (       d  f       g = f)Nr<   r   r~  r  r  r   r'   r%   test_bxp_bad_positionsr    s+    	z	"DAq6$:; 
#	"	"s	   7
Azbxp_custom_capwidths.pngc                  (    [        [        / SQS9S9  g )N)r  r   r   r   r  r  r  r   r'   r%   test_bxp_custom_capwidthsr    s     /C DEr'   zbxp_custom_capwidth.pngc                  $    [        [        SS9S9  g )Nr  r  r  r  r   r'   r%   test_bxp_custom_capwidthr    s     s 34r'   c                      [         R                  " [        5         [        [	        S/S9S9  S S S 5        g ! , (       d  f       g = f)Nr;   r  r  r  r   r'   r%   test_bxp_bad_capwidthsr    s)    	z	"DA3$78 
#	"	"r  zboxplot.pngg{Gz?)r   r   c                     [         R                  R                  S5        [         R                  " SSS5      n [         R                  " SU S/5      n [
        R                  " 5       u  pUR                  X /SSS	9  UR                  S
5        SX /0n[
        R                  " 5       u  pUR                  SSSUS9  UR                  S
5        g )Nry  ri  rj     rX  '  r;   	bootstrapnotchr  r   r4   )r  r  r  	rl   rm   rn   r  hstackr)   r   r  r
  )r4   r/   r$   r  s       r%   test_boxplotr    s     IINN3
B3A
		32,AllnGCJJvaJ0KK	 !=DllnGCJJse14J8KK	r'   c                    [         R                  " SSS5      nU R                  5       nX"S:     nUR                  U5        [         R                  R                  US5      nUR                  5       nUR                  U5        g )Nr   r;   r  r   )rl   r  r   r  r	   masked_less)r"   r#   x_origr$   r4   s        r%   test_boxplot_maskedr    sj     [[Q$F				B{AJJqM
&!$A				BJJqMr'   zboxplot_custom_capwidths.pngc                      [         R                  " SSS5      n [         R                  " SU S/5      n [        R                  " 5       u  pUR                  X /SSS/S	9  g )
Nri  rj  r  r  rX  r;   r  r   )r  r  )rl   r  r  r)   r   r  r8  s      r%   test_boxplot_custom_capwidthsr   	  sO     	B3A
		32,AllnGCJJvQ4+J6r'   zboxplot_sym2.pngc                  h   [         R                  R                  S5        [         R                  " SSS5      n [         R                  " SU S/5      n [
        R                  " SS5      u  nu  p#UR                  X /S	S
S9  UR                  S5        UR                  X /S	SS9  UR                  S5        g )Nry  ri  rj  r  r  rX  r;   r<   r  ^)r  rn  r  r  r  )r4   r/   r  r  s       r%   test_boxplot_sym2r    s     IINN3
B3A
		32,All1a(OC#KK%SK1LLKK%SK1LLr'   zboxplot_sym.pngc                      [         R                  " SSS5      n [         R                  " SU S/5      n [        R                  " 5       u  pUR                  X /SS9  UR                  S5        g )	Nri  rj  r  r  rX  r#  rn  r  )rl   r  r  r)   r   r  r
  r8  s      r%   test_boxplot_symr  $  sU    
 	B3A
		32,AllnGCJJv4J KK	r'   z$boxplot_autorange_false_whiskers.pngz#boxplot_autorange_true_whiskers.pngc                     [         R                  R                  S5        [         R                  " S5      n [         R                  " SU S/5      n [
        R                  " 5       u  pUR                  X /SSS9  UR                  S5        [
        R                  " 5       u  p4UR                  X /SSS	S
9  UR                  S5        g )Nry  r  r   r<   r  r;   r  )r  r   T)r  r  	autorange)	rl   rm   rn   r   r  r)   r   r  r
  )r4   rG  r  rH  r  s        r%   test_boxplot_autorange_whiskersr	  1  s    
 IINN3
A
		1a)AIDKK%qK1LLIDKK%qDKALLr'   c                     [         R                  " SSS5      n[         R                  " SUS/5      n[        R                  " U5         U R                  X"/5        S S S 5        U $ ! , (       d  f       U $ = f)Nri  rj  r  r  rX  )rl   r  r  rY   r   r  )r$   rc_dictr4   s      r%   _rc_test_bxp_helperr  D  s\    
B3A
		32,A			w	'


A6 
(I 
(	'Is   A%%
A4zboxplot_rc_parameters.png)r/  r  r   r   c                     [         R                  R                  S5        [        R                  " S5      u  p0 SS_SSS/_SS	_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SSS .EnS!S"/SS#.nSS$S$S$SSSSSSSS%S&.nX#U/n[        X5       H  u  pg[        Xg5        M     [        R                  R                  US'   R                  5        Vs/ s H  n[        U5      PM     sn;   d   eg s  snf )(Nry  r   zboxplot.notchTboxplot.whiskersr   r  zboxplot.bootstrapr  zboxplot.flierprops.colorr%  boxplot.flierprops.markerr   z"boxplot.flierprops.markerfacecolorr  z"boxplot.flierprops.markeredgecolorzboxplot.flierprops.markersizezboxplot.flierprops.linestylerM  zboxplot.flierprops.linewidthr   zboxplot.boxprops.colorrO  r~  zboxplot.boxprops.linestylezboxplot.capprops.colorr?   zboxplot.capprops.linewidthzboxplot.capprops.linestylezboxplot.medianprops.colorrE  )zboxplot.medianprops.linewidthzboxplot.medianprops.linestyler   r   )r  zboxplot.patchartistF-.)r  zboxplot.showcapszboxplot.showboxzboxplot.showflierszboxplot.showmeanszboxplot.meanlinezboxplot.meanprops.colorzboxplot.meanprops.linewidthzboxplot.meanprops.linestylezboxplot.whiskerprops.colorzboxplot.whiskerprops.linewidthzboxplot.whiskerprops.linestyler;   )rl   rm   rn   r)   r   r  r  rY   r<  r=  get_childrenr@  )	r/   r$   rc_axis0rc_axis1rc_axis2	dict_listr"  rc_axisr  s	            r%   test_boxplot_rc_parametersr  L  s   
 IINN3ll1oGCQG 	U
 	#C 	$S 	-c 	-c 	( 	' 	' 	!# 	%c 	%d" 	!##$ 	%c%& 	%d'* 	$S+, *-)-/H6 H#H  ! #! #&'*'+&)*-*.H  X.IR+D* , (( e00232T!W234 5 43s   C9zboxplot_with_CIarray.pngc                  X   [         R                  R                  S5        [         R                  " SSS5      n [         R                  " SU S/5      n [
        R                  " 5       u  p[         R                  " SS/S	S
//5      nUR                  X /SS S/USS9  UR                  S5        g )Nry  ri  rj  r  r  rX  rb  r  rc        @r  r   r;   )r  usermediansconf_intervalsr  r  )
rl   rm   rn   r  r  r)   r   rO  r  r
  )r4   r/   r$   CIss       r%   test_boxplot_with_CIarrayr    s     IINN3
B3A
		32,AllnGC
((T2Jc
+
,C JJvT3K!  ,KK	r'   zboxplot_no_inverted_whisker.pngc                  &   [         R                  " / SQ[         R                  S9n [        R                  " 5       nUR                  U 5        UR                  S5        UR                  R                  SSS9  UR                  R                  S5        g )N)r   i(#  rk  X   i^  i@ ix  i  r  r.  Fminorwhich)
rl   rO  r  r)   ri  r  r  r_   r  r]   )r4   r  s     r%   test_boxplot_no_weird_whiskerr#    sb     	;zz	#A
((*CKKNNN5IINN5N(IINN5r'   c                     [         R                  " SSS5      n [         R                  " SU S/5      n [        R                  " 5       u  p[
        R                  " [        5         UR                  U SS/S9  S S S 5        [
        R                  " [        5         UR                  X /SS/SS//S9  S S S 5        g ! , (       d  f       NI= f! , (       d  f       g = f)	Nri  rj  r  r  rX  r;   r<   )r  	rl   r  r  r)   r   r   r   r  r  r8  s      r%   test_boxplot_bad_mediansr&    s    
B3A
		32,AllnGC	z	"


11a&
) 
#	z	"


A6AA'7
8 
#	" 
#	"	"	"s   #B9C
9
C

Cc                     [         R                  " SSS5      n [         R                  " SU S/5      n [        R                  " 5       u  p[
        R                  " [        5         UR                  X /SS//S9  S S S 5        [
        R                  " [        5         UR                  X /SS/S//S9  S S S 5        g ! , (       d  f       NH= f! , (       d  f       g = f)	Nri  rj  r  r  rX  r;   r<   )r  r%  r8  s      r%   test_boxplot_bad_cir(    s    
B3A
		32,AllnGC	z	"


A6Aq6(
3 
#	z	"


A6Aq6A3-
8 
#	" 
#	"	"	"s   #B:C:
C
Cc                     [         R                  " S5      n [        R                  " 5       u  pUR	                  U 5      S   S   R                  5       S:X  d   eUR	                  U SS9S   S   R                  5       S:X  d   eg )Nr   boxesr   r<   r  )rl   rt   r)   r   r  r  )r4   r  r$   s      r%   test_boxplot_zorderr,    ss    
		"AllnGC::a=!!$//1Q666::a:#G,Q/::<BBBr'   c                     S[         R                  S'   S[         R                  S'   S[         R                  S'   [         R                  " 5       u  p[        R                  " S5      nSUS	'   UR                  US
S9nS H$  nX4    H  nUR                  5       S:X  a  M   e   M&     US   S   R                  5       S:X  d   eUS   S   R                  5       S:X  d   eg )Nr  rc  r   r  r  zboxplot.meanprops.markerr   rk  r   T)r  )whiskerscapsr*  mediansr   r  r   means)r)   r   r   rl   rt   r  
get_marker)r/   r$   	test_data
bxp_handle	bxp_lines	each_lines         r%   test_boxplot_marker_behaviorr7    s    #&CLL 03CLL,-/2CLL+,llnGC		#IIbMI6J=	#.I'')R/// / > h"--/3666gq!,,.#555r'   z&boxplot_mod_artists_after_plotting.pngc                      / SQn [         R                  " 5       u  pUR                  U SS9nU H  nX4    H  nUR                  S5        M     M!     g )N)r  r  ru  ru  Q?gQ?gQr   r  r   )r)   r   r  rg  )r4   r/   r$   bpkeyr  s         r%   &test_boxplot_mod_artist_after_plottingr<    sJ     	4AllnGC	A3	B7CMM'"  r'   zviolinplot_vert_baseline.pngc            	         [         R                  R                  S5        [        S5       V s/ s H   n [         R                  R	                  SS9PM"     nn [
        R                  " 5       nUR                  U[        S5      SSSS9  SU0n[
        R                  " 5       u  p2UR                  S[        S5      SSSUS9  g s  sn f )	Nier0  r   r  Fr  r  showextremashowmediansr  )r  r  r?  r@  r  )	rl   rm   rn   r   ro   r)   ri  
violinplotr   )r  r  r$   r/   s       r%   test_vert_violinplot_baselinerB    s     IINN905a91BII#&D9	BMM$%(e#  % ;DllnGCMM#qU#$  0 :s   'C zviolinplot_vert_showmeans.pngc                     [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSS9  g s  snf )Niw5+r0  r   r  TFr>  r)   ri  rl   rm   rn   r   ro   rA  r$   r  r  s      r%   test_vert_violinplot_showmeansrF    sl    	BIINN905a91BII#&D9MM$%(d#  % :   'Bzviolinplot_vert_showextrema.pngc                     [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSS9  g s  snf )Nir0  r   r  FTr>  rD  rE  s      r%    test_vert_violinplot_showextremarI    sl    	BIINN905a91BII#&D9MM$%(e#  % :rG  zviolinplot_vert_showmedians.pngc                     [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSS9  g s  snf )Nib}&r0  r   r  FTr>  rD  rE  s      r%    test_vert_violinplot_showmediansrK    sl    	BIINN905a91BII#&D9MM$%(e"  $ :rG  zviolinplot_vert_showall.pngc                  4   [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSSS/SS	/S
S/SS//S9  g s  snf )NiOr0  r   r  Tr   ?r   r  r   r  rF  r  )r  r  r?  r@  	quantilesrD  rE  s      r%   test_vert_violinplot_showallrO    s    	BIINN905a91BII#&D9MM$%(d"!3Z#sc3Z#sL  N :s   'Bz#violinplot_vert_custompoints_10.pngc            	         [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSSS9  g s  snf )Ni$r0  r   r  Fr   r  r  r?  r@  pointsrD  rE  s      r%   $test_vert_violinplot_custompoints_10rS    sn    	BIINN905a91BII#&D9MM$%(e#B  0 :   'B	z$violinplot_vert_custompoints_200.pngc            	         [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSSS9  g s  snf )NiYqVr0  r   r  Fr  rQ  rD  rE  s      r%   %test_vert_violinplot_custompoints_200rV  &  sn    	BIINN905a91BII#&D9MM$%(e#C  1 :rT  zviolinplot_horiz_baseline.pngc            	         [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSSS9  g s  snf )Ni\dr0  r   r  rT   Fr  rV   r  r?  r@  rD  rE  s      r%   test_horiz_violinplot_baselinerY  0  so    	BIINN905a91BII#&D9MM$%(PU#  8 :rT  z violinplot_horiz_showmedians.pngc            	         [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSSS9  g s  snf )	Nilo/r0  r   r  rT   FTrX  rD  rE  s      r%   !test_horiz_violinplot_showmediansr[  :  so    	BIINN905a91BII#&D9MM$%(PU#  7 :rT  zviolinplot_horiz_showmeans.pngc            	         [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSSS9  g s  snf )	Ni&r0  r   r  rT   TFrX  rD  rE  s      r%   test_horiz_violinplot_showmeansr]  D  so    	BIINN905a91BII#&D9MM$%(PT#  8 :rT  z violinplot_horiz_showextrema.pngc            	         [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSSS9  g s  snf )	Nie!r0  r   r  rT   FTrX  rD  rE  s      r%   !test_horiz_violinplot_showextremar_  N  so    	BIINN905a91BII#&D9MM$%(PU"  7 :rT  zviolinplot_horiz_showall.pngc                  6   [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSSSS/S	S
/SS/SS//S9  g s  snf )Ni"r0  r   r  rT   Tr   rM  r   r  r   r  rF  r  )r  rV   r  r?  r@  rN  rD  rE  s      r%   test_horiz_violinplot_showallra  X  s    	BIINN805a91BII#&D9MM$%(PT"!3Z#sc3Z#sL  N :s   'Bz$violinplot_horiz_custompoints_10.pngc            
         [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSSSS9  g s  snf )	Ni0r0  r   r  rT   Fr   r  rV   r  r?  r@  rR  rD  rE  s      r%   %test_horiz_violinplot_custompoints_10rd  c  sr    	BIINN905a91BII#&D9MM$%(PU#r  C :   'B
z%violinplot_horiz_custompoints_200.pngc            
         [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nnU R                  U[        S5      SSSSSS9  g s  snf )	Ni<9!r0  r   r  rT   Fr  rc  rD  rE  s      r%   &test_horiz_violinplot_custompoints_200rg  m  sr    	BIINN905a91BII#&D9MM$%(PU#s  D :re  zviolinplot_sides.pngc                  `   [         R                  " 5       n [        R                  R	                  S5        [        R                  R                  SS9/n[        / SQ/ SQ5       H  u  p#U R                  X/SSSSUS	9  M     [        / S
Q/ SQ5       H  u  p#U R                  X/SSSSUS	9  M     g )Nrb   r   r  )r   r  r   )r   lowhighrT   FT)r  rV   r  r?  r@  side)r0  r        @r|  )r)   ri  rl   rm   rn   ro   r  rA  )r$   r  r   rk  s       r%   test_violinplot_sidesrm  w  s    	BIINN8II#&'D)@A	
deQV"&Dt 	 	E B (?@	
deu"&Dt 	 	E Ar'   c                  |   [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nn[        R                  " [        5         U R                  U[        S5      S9  S S S 5        g s  snf ! , (       d  f       g = f)Ni@ 3r0  r   r  r   r~  r)   ri  rl   rm   rn   r   ro   r   r   r  rA  rE  s      r%   test_violinplot_bad_positionsrp    s{    	BIINN905a91BII#&D9	z	"
deAh/ 
#	" :	"	"s   'B(B--
B;c                     [         R                  " 5       n [        R                  R	                  S5        [        S5       Vs/ s H   n[        R                  R                  SS9PM"     nn[        R                  " [        5         U R                  U[        S5      / SQS9  S S S 5        g s  snf ! , (       d  f       g = f)NiA#r0  r   r  r  )r  r  ro  rE  s      r%   test_violinplot_bad_widthsrr    s}    	BIINN905a91BII#&D9	z	"
deAhyA 
#	" :	"	"s   'B+B00
B>c                  <   [         R                  " 5       n [        R                  R	                  S5        [        R                  R                  SS9/n[        R                  " [        5         U R                  USS/SS//S9  S S S 5        g ! , (       d  f       g = f)	Nil r   r  r   r   r   r  rN  
r)   ri  rl   rm   rn   ro   r   r   r  rA  r$   r  s     r%   test_violinplot_bad_quantilesrw    sn    	BIINN9II#&'D 
z	"
dSzC:&>? 
#	"	"s   -B
Bc                     [         R                  " 5       n [        R                  R	                  S5        [        R                  R                  SS9/n[        R                  " [        5         U R                  U/ SQ/S9  S S S 5        [        R                  " [        5         U R                  U/ SQ/S9  S S S 5        g ! , (       d  f       NE= f! , (       d  f       g = f)Niq4r   r  )r   r   r   ?rt  )皙r   r   rf  ru  rv  s     r%   $test_violinplot_outofrange_quantilesr{    s    	BIINN9II#&'D 
z	"
d'<&=> 
# 
z	"
d'>&?@ 
#	"	 
#	" 
#	"s   -C #C 
C
Cc                    [         R                  R                  S5        [         R                  R                  SS9/nU R	                  5       nUR                  U/ SQS9  UR	                  5       nUR                  U/ SQ/S9  g )N+r   r  )r   r   rM  rt  )rl   rm   rn   ro   r   rA  )r"   r#   r  r$   s       r%   %test_violinplot_single_list_quantilesr~    sq     IINN9II#&'D 
			BMM$/M2 
			BMM$?"3M4r'   c                    [         R                  R                  S5        UR                  [         R                  R	                  SS9/ SQS9nUR                  [         R                  R	                  SS9[        S5      S9nUR                  [         R                  R	                  SS95      nU R                  5       R                  X4U/5        UR                  5       R                  UR                  UR                  UR                  /5        g )	Nr}  rj  r  )rv  r  rj  r   r   r0  r   r  rv  	ABCDEFGHIrO  )	rl   rm   rn   r  ro   r%  r   rA  r'  )r"   r#   r  s1s2s3s         r%   test_violinplot_pandas_seriesr    s    IINN9	299###+3H	IB	299###+43D	EB	299###,	-B""BB<0!!299bii"CDr'   c                     [         R                  " 5       u  pUR                  SS5        UR                  5       n[        R
                  R                  S5        [        R
                  R                  SSS5      n[        R
                  R                  SSS5      nUR                  X4/SS/SS	9  UR                  5       n[        X%5        g )
Nr   r0  r   r   r  r;   r<   F)r  manage_ticks)
r)   r   r	  r   rl   rm   rn   ro   r  r   )r  r$   old_xlimr  rS  new_xlims         r%   test_manage_xticksr    s    LLNEAKK1{{}HIINN1			"a	$B			!Q	#BJJxAq6J>{{}Hx*r'   c                     [         R                  " 5       u  pUR                  [        R                  R                  S5      S/S9  UR                  [        R                  R                  S5      S/S9  U R                  R                  5         UR                  5       S:X  d   e[        UR                  5       5      SS/:X  d   eUR                  5        Vs/ s H  o"R                  5       PM     snSS/:X  d   eg s  snf )Nr   r   r~  r   )rD  rK  r  5)r)   r   r  rl   rm   r   r  r  r   r%  
get_xticksr  rP  rs  s      r%   test_boxplot_not_singler    s    llnGCJJryy~~c"qcJ2JJryy~~c"qcJ2JJOO;;=J&&& QF***"$"4"4"67"6QJJL"67C:EEE7s   C<c                      [         R                  " SS/SS/5        [        R                  R	                  SS05        [
        R                  " 5       n [         R                  " U SSS9  g )Nr   r;   z	font.sizeP   raw)r-  format)r)   r   rY   r   updateioBytesIOsavefigr%  s    r%   test_tick_space_size_0r    sN     HHaVaVQ/0


AKKr%(r'   )errorbar_basic.pngzerrorbar_mixed.pngr  c            
      6   [         R                  " SSS[         R                  S9n [         R                  " U * 5      nSS[         R                  " U 5      -  -   nSU-   n[
        R                  " 5       nUR                  5       nUR                  XSSS9  UR                  S5        [
        R                  " S	S	S
S9u  pFUS   nUR                  XUSS9  UR                  S5        UR                  SS9  US   nUR                  XUSSS9  UR                  S5        US   nUR                  XUS	U-  /US	U-  /SS9  UR                  S5        US   nUR                  S5        [         R                  " SX-
  5      nX-
  nUR                  XUS	U-  /USSS	S9  UR                  S5        UR                  SS5        UR                  S5        XS .n	[
        R                  " 5       nUR                  5       nUR                  S!S"SSU	S#9  UR                  S5        g )$Nr   r0  r   r  r   rF  rU  z&Simplest errorbars, 0.2 in x, 0.4 in yr<   T)r  r  r  r  r   rW  r   zVert. symmetricnbinsr  )rV  r   r  zHor. symmetric w/ alpharo  z--orW  rV  r   zH, V asymmetricr}  r.  r  r  )rW  rV  r   ecolorcapthickzMixed sym., log yr6  zVariable errorbarsr   r4   r5   rV  rW  r  )rl   rt   
longdoubleri  r  r)   r   rd  rR  r7   r   locator_paramsr  maximumr
  suptitle)
r4   r5   rW  rV  r/   r$   r  ylower
yerr_lowerr  s
             r%   test_errorbarr    s    			#q#R]]3A
r
ARWWQZD:D **,C	BKK3SK)LL9: ||!1T:HC	TBKK4SK)LL"# A	TBKK4SK4LL*+	TBKKD!D&>qvEKJLL"#	TBMM%ZZah'FJKKJ$/da  1LL$%KKcLL%& D
**,C	BKKSs4K8LL9:r'   zmixed_errorbar_polar_caps.pngc                  <   [         R                  " 5       n [         R                  " SSS9n/ SQnS/S-  nUR                  X#SSS	S
9  [        R
                  S-  S-   [        R
                  S-   /nSS/nUR                  XES[        R
                  -  SS	S
9  S[        R
                  -  S-  S-   S[        R
                  -  S-  S-   S[        R
                  -  S-
  /nS/S-  n/ SQ/ SQ/n/ SQ/ SQ/n	UR                  XgXS	S
9  S/n
S/nUR                  XSSS	S
9  g)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.
r  r-  r  r  rM  r   ffffff?r   r   rV  rW  r   r<   r   g?r  r  r  r0  r   rl  )r   r   r   )r   r   r   )r  r   r   )r   r  r    @@r   N)r)   r   rk  rR  rl   r  )r/   r$   th_symr_symth_longr_longth_asymr_asymrV  rW  th_overr_overs               r%   test_mixed_errorbar_polar_capsr  "  s    **,C	SW	-B FE!GEKKDsK< uuQw|RUURZ(G3ZFKKcBEEk#KF wqy2~qwqy2~qws{;GU1WF,'D=)DKKd3K? eGUFKKbrsK;r'   c                  b   [         R                  " 5       u  p[        R                  " S5      nSU-  nUR	                  X#S S9u  n  nUR	                  USU-  S S9u  n  nUR                  USU-  5      u  n[        R                  " UR                  5       5      [        R                  " S5      :X  d   e[        R                  " UR                  5       5      [        R                  " S5      :X  d   e[        R                  " UR                  5       5      [        R                  " S5      :X  d   eg )Nr   r<   rQ  r0  r  rc  rd  )	r)   r   rl   rt   rR  r   r  to_rgba	get_color)rd  r$   r4   r5   r  r  r  ln1s           r%   test_errorbar_colorcycler  D  s    LLNEA
		"A	!A{{14{(HB1{{1acT{*HB1771ac?DC??2<<>*good.CCCC??2<<>*good.CCCC??3==?+wt/DDDDr'   c                 l   [         R                  " SSS5      n[        S5       Vs/ s H  n[         R                  " U* U-   5      PM     nnU R	                  5       nUR	                  5       n[        U/ SQ5       H2  u  pxUR                  X'US-  SSSS	9  UR                  X'US-  SSUSS
9  M4     g s  snf )Nr   r0  r   )r  rc  rd  r  r  rL  r   r:  )rW  r   r   r  )rW  r   r   r   r  )rl   rt   r   ri  r   r  rR  )	r"   r#   r4   r  r5   axtaxryir   s	            r%   test_errorbar_cycle_ecolorr  S  s    
		#q#A$Qx(x!1xA(



C



C45	Q"t) 	 	1Q"t)uW 	 	> 6 	)s   $B1c            	         [         R                  " 5       n U R                  5       n[        R                  " SSS5      n[        R
                  " U* 5      nSS[        R                  " U5      -  -   n[        R                  " USU-  45      R                  nSU-   n[        R                  " [        5         UR                  X#USS9  S S S 5        [        R                  " [        5         UR                  X#USS9  S S S 5        [        R                  " [        5         UR                  X#XVSS	9  S S S 5        g ! , (       d  f       Nw= f! , (       d  f       NT= f! , (       d  f       g = f)
Nr   r0  r   r   r<   r   r  )rV  r   r  )r)   r   rd  rl   rt   ri  r  vstackr  r   r   r  rR  )r/   r$   r4   r5   yerr1rW  rV  s          r%   test_errorbar_shaper  b  s    
**,C	B
		#q#A
r
A#bggaj. E99eQuW%&((D:D	z	"
At- 
#	z	"
At- 
#	z	"
AtC8 
#	"	 
#	"	"	"	"	"s$   5D8)E	E8
E	
E
E(zerrorbar_limits.pngc                     [         R                  " SSS5      n [         R                  " U * 5      nSnSnSn[        R                  " 5       u  pVUR                  XX#USS9  [         R                  " U 5      nSU/ S	Q'   UR                  XS-   X#XtS
S9  [         R                  " U 5      nSU/ SQ'   UR                  XS-   X#XSS9  UR                  XS-   SSX#XUSS9
  Sn[         R                  " U S5      nSUSS/'   Un	Un
[         R                  " U 5      n[         R                  " U 5      nSUS/'   SUS/'   UR                  XS-   SSX#XUUSSSSS9  UR                  S5        UR                  S5        g )Nr   rK  r   r   dottedr   )rV  rW  r  r   T)r;   r   rv  r   )rV  rW  uplimsr  r   )r<   r0  r  r   r9  )rV  rW  lolimsr  r   r   r   r  magenta)r   r  rV  rW  r  r  r  r   r   r   r   r  r1  r   cyan)r   r  rV  rW  xlolimsxuplimsr  r  r  r7  capsizer   )r   rK  zErrorbar upper and lower limits)
rl   rt   ri  r)   r   rR  
zeros_like	full_liker	  r7   )r4   r5   rV  rW  r  r/   r$   r  r  r  r  s              r%   test_errorbar_limitsr  t  s   
		#sC A
r
ADD	BllnGC KK4rK@ ]]1FF9KKS5tv   ]]1FF9KKS5tv   KKS59  F D<<3DD!QLGG]]1F]]1FFA3KFA3KKKS5&fa   KKLL23r'   c                  0   [         R                  " S5      n [         R                  " S5      n[        R                  " XSSSS9u  p#nUb   eU HE  n[         R                  " UR                  5       [        R                  " S5      :H  5      (       a  ME   e   g )Nr   r;   r1  r  r  )rl   rt   r)   rR  r  r  r  r  )r4   r5   plotliner  barlineserrbars         r%   test_errorbar_nonefmtr    sw    
		!A
		!ALLAA6JHvvf&&(GOOD,AABBBB r'   c                     [         R                  " S5      n [         R                  " S5      n[        R                  " 5       u  p#UR	                  XSSS9n[        UR                  5      S:X  d   e[        UR                  5      S:X  d   e[        UR                  5      S:X  d   eUR                  5         UR                  (       a   eUR                  (       a   eUR                  (       a   eg )Nr   r;   rU  r<   )
rl   rt   r)   r   rR  r  
containersr*  r  rj  )r4   r5   r/   r$   ecs        r%   test_errorbar_remover    s    
		!A
		!AllnGC	Q	*Br}}"""rxx=Ar~~!###IIK}}xx<~~~r'   c                      [         R                  " S5      n [         R                  " S5      n[        R                  " XSSSSSSSSS	S
S9u  n  nUR	                  5       S:X  d   eUR                  5       S:X  d   eg )Nr   r;   Noner  rf   z	steps-midroundr"  r#  bevel)
rV  rW  r  r   r  r'  dash_capstyledash_joinstyler&  r%  )rl   rt   r)   rR  get_fillstyleget_drawstyle)r4   r5   r  r  s       r%   "test_errorbar_line_specific_kwargsr    s~     			!A
		!A\\!QQ6),,707181729;NHa !!#v---!!#{222r'   c           
         UR                  5       nUR                  / SQ/ SQSSSSS9  UR                  / SQ/ SQSS	S
SSS9  UR                  / SQ/ SQSSSSSS9  UR                  SS5        [        / SQ/ SQ/ SQ/ SQS9n[        R
                  " SUS9  U R                  5       nUR                  / SQ/ SQSS9  UR                  / SQ/ SQSS	S9  UR                  / SQ/ SQSSS9  UR                  SS5        g )N)r<   r0  r   rG  r   rM  r  rE  )r4   r5   rW  r  r   r  r<   r   r0  z	tab:greenr  r5   )r4   r5   rW  r   r  r   r  r0  r   r   ztab:bluer  r   r?   )r4   r5   rW  r   r  r   r  r;   rO  )rM  r  r  )r  r  r   )rE  r5   r?   r%  r  rO  )r  r   r  r   ri  )
prop_cycler4   r5   rW  )r4   r5   rW  r   )r4   r5   rW  r   )r   rR  r	  r
   r)   rc)r"   r#   r$   _cycles       r%   test_errorbar_with_prop_cycler    s    				BKK*	  .KK*	;s  -KK*	  .KK2('@FFF6f%				BKK*	K4KK*	;KGKK*	KDKK2r'   c                     [         R                  " SSS5      n U SU -
  -  nUS-  n[        R                  " 5       R	                  5       n[
        R                  " [        SS9   UR                  XUSS9  S S S 5        [
        R                  " [        SS9   UR                  XUS	S9  S S S 5        [
        R                  " [        S
S9   UR                  XUSS/S9  S S S 5        [
        R                  " [        SS9   UR                  XUSS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nd= f! , (       d  f       g = f)Nr   r;   r   r   znot a tuple of two integersrr  r  )
errorevery)r  r   znot a valid NumPy fancy indexFTznot a recognized valuefoobar)	rl   r  r)   r   r   r   r   r  rR  )r4   r5   rW  r$   s       r%   test_errorbar_every_invalidr    s    
Aq"A	QqS	AQ3D				 B	z)F	G
A$95 
H	z)F	G
A$84 
H	z)H	I
A$E4=9 
J	z)A	B
A$84 
C	B 
H	G	G	G	I	I	B	Bs0   "DD)D:=E
D&)
D7:
E
Ec            
      P   [         R                  " 5       R                  5       n [        R                  " [
        SS9   U R                  S/S/S/S//S/S//S9  S S S 5        [        R                  " [
        SS9   U R                  S/S/S/S//S9  S S S 5        [        R                  " [
        SS9   U R                  S/S/S/S//S	9  S S S 5        [        R                  " [
        SS9   [        R                  " S
5      nU Vs/ s H!  n[        R                  " SSUS-  S-   5      PM#     nnU R                  UU[        R                  " SS9S	9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= fs  snf ! , (       d  f       g = f)Nz''xerr' must not contain negative valuesrr  r   r  r;   r4   r5   rV  rW  r]  z''yerr' must not contain negative valuesr  r   r  rv  r<   r  r  )r)   r   r   r   r   r  rR  rl   rt   r>  r  )r$   r4   rC  r5   s       r%   test_xerr_yerr_not_negativer    sz   				 B	zF
H
qcaS}TFQC=I
H 
zF
H
qcaS}5
H 
zF
H
qcaS}5
H 
zF
HIIaL<=>AqXtQA	2A>
a!++5 	 	7	
H 
H
H 
H
H 
H
H 
H ?
H 
HsA   E;E04F-F(F0%F
E-0
E>
FF
F%c                     [         R                  " 5       R                  5       n [        R                  " [
        SS9   U R                  S/S/S /S//S /S//S9  S S S 5        [        R                  " [
        SS9   U R                  S/S/S /S//S9  S S S 5        [        R                  " [
        SS9   U R                  S/S/S /S//S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       NY= f! , (       d  f       g = f)	Nz'xerr' must not contain Nonerr  r   r;   r  r]  z'yerr' must not contain Noner  )r)   r   r   r   r   r  rR  r  s    r%   test_xerr_yerr_not_noner    s    				 B	z;
=
qcaS}TFQC=I
= 
z;
=
qcaS}5
= 
z;
=
qcaS}5
= 
=
= 
=
= 
=
= 
=s#   C;C&4C7
C#&
C47
Dc                    [         R                  " SSS5      nUSU-
  -  nUS-  nUR                  5       nU R                  5       n[        S/ SQ5       HR  u  pxUS-  nUR	                  X#XHS4SUS	9  UR                  X#US
S9  UR	                  X(S S2   X8S S2   XHS S2   SUSS9  MT     UR	                  X#S-   USSSS9  UR                  USS S2   USS S2   S-   SS
S9  UR	                  X#S-   USSS9  UR	                  X#S-   U[        SS S5      [        SS S5      SSSS9  UR                  USS S2   USS S2   S-   SSS
S9  UR	                  USS S2   USS S2   S-   USS S2   SSSS9  UR	                  X#S-   U/ SQS-  / SQS-  SSSS9  UR                  USS S2   USS S2   S-   SSS
S9  UR	                  USS S2   USS S2   S-   USS S2   SSSS9  g )Nr   r;   r   r   rgbk)r   r   r<   rj  r  r0  )r  r  r?   r  )r?   r  r1  )r  r?   r   r   )r;   r0  r   )r  r  r   r+  )r  r   r   r<   r   r  )r  r  r  r?   r   r  r   rc  )rl   r  r   r  rR  r   r  )	r"   r#   r4   r5   rW  rz   ry   r   shifts	            r%   test_errorbar_everyr    s   
Aq"A	QqS	AQ3DF!GFL1	S 	t
!"e 	 	-
 	AE#.((Qxax[$xax. !U 	 	8 2 QCL
KK!$Q$14a43CK8
OOA3waVO< QC%42C$Qa0$C  1 KK!$Q$14a43tCK@
OOAaddGQqt!tWs]DAJ6  3 QC2F2J3a7$C  1 KK!$Q$14a43tCK@
OOAaddGQqt!tWs]DAJ6  3r'   
elinewidthr  c                 >    [         R                  " / SQ/ SQ/ SQU S9  g )Nr  )rW  r  )r)   rR  )r  s    r%   test_errorbar_linewidth_typer  F  s     LLII*Mr'   c                    U R                  5       n[        S5      n[        R                  " SS[        R                  [        R                  S/5      n[        R                  " SS[        R                  [        R                  S/5      nUR                  X4US9  UR                  5       nUR                  SS/SS/SS/S9  UR                  S/S/S/S	S
9  g )Nr   r;   r<   r   r0  r   rW  r   r  r  )r   r   rl   rO  r  rR  )r"   r#   r$   xsysess         r%   test_errorbar_nanr   M  s    				B	qB	1a+	,B	1a+	,BKKRK 				BKKAAaVK,KKaSsK-r'   c                    U R                  5       n[        S5      n[        R                  " / SQ5      n[        R                  R                  / SQUS9n[        R                  R                  / SQUS9nUR                  X5US9  UR                  5       nUR                  SS/SS	/S
S/S9  UR                  S
/S/S/SS9  g )Nr   )FFTTF)r;   r<   r<   r<   r   r  )r0  r   r   r  r   r  r   r;   r<   r0  r   r   r  r  )r   r   rl   rO  r	   rR  )r"   r#   r$   r  r  r  r  s          r%   test_errorbar_masked_negativer  Y  s    				B	qB8856D	_4	0B	'd	3BKKRK 				BKKAAaVK,KKaSsK-r'   zhist_stacked_stepfilled.pngc                     [         R                  " SSS5      n [         R                  " SSS5      n[        R                  " 5       u  p#UR	                  X4SSS	9  S
X40n[        R                  " 5       u  p#UR	                  S
SSUS9  g )Nr;   r   r  r   r   r[  r  Tr  r4   )r  r  r  rl   r  r)   r   r  )d1d2r/   r$   r  s        r%   test_hist_stacked_stepfilledr  f  sw     
Q2	B	QB	BllnGCGGRH|TG: "?DllnGCGGC,4G@r'   zhist_offset.pngc                      [         R                  " SSS5      n [         R                  " SSS5      n[        R                  " 5       u  p#UR	                  U SS9  UR	                  US	S9  g )
Nr   r   r[  r;   r   r  r   r  r   r  r  r  r/   r$   s       r%   test_hist_offsetr
  t  sU     
QB	B	Q2	BllnGCGGBqGGGBrGr'   zhist_step.pngc                      [         R                  " SSS5      n [        R                  " 5       u  pUR	                  U SS9  UR                  SS5        UR                  SS	5        g )
Nr;   r   r  r  r  r   r   r   r   )rl   r  r)   r   r  r
  r	  r  r/   r$   s      r%   test_hist_stepr  ~  sO     
Q2	BllnGCGGBG KK2KKAr'   zhist_step_horiz.pngc                      [         R                  " SSS5      n [         R                  " SSS5      n[        R                  " 5       u  p#UR	                  X4SSS	9  g )
Nr   r   r[  r;   r   r  r  rT   )r  rV   r  r	  s       r%   test_hist_step_horizr    sI     
QB	B	Q2	BllnGCGGRHv<G@r'   zhist_stacked_weights.pngc                     [         R                  " SSS5      n [         R                  " SSS5      n[         R                  " SSS5      n[         R                  " S	S
S5      n[        R                  " 5       u  pEUR	                  X4X#4SSS9  g )Nr   r   r[  r;   r   r  r  r  r  r   r  T)weightsr  r  r  )r  r  w1w2r/   r$   s         r%   test_hist_stacked_weightedr    sq     
QB	B	Q2	B	T3	#B	T2r	"BllnGCGGRHrhtGLr'   zstem.pngc            	          [         R                  " SS[         R                  -  S5      n [        R                  " 5       u  pUR                  U [         R                  " U 5      SSSSS9  UR                  5         g )	Nr   r<   r   C2-.zk+C1-. )linefmt	markerfmtbasefmtr2   )rl   r  r  r)   r   r  rg  rK   r8  s      r%   	test_stemr    s[    
CRUUC(AllnGC GGArvvaydF#  GIIKr'   c            	         S n [         R                  " 5       u  p/ SQn/ SQnU " UR                  U5      / SQU4S9  U " UR                  X45      X44S9  U " UR                  X4SS9X44S9  U " UR                  X4S5      X44S9  U " UR                  X4SSS	9X44S9  U " UR                  USS9/ SQU4S9  U " UR                  US5      / SQU4S9  g
)z5Test that stem() correctly identifies x and y values.c                     [        [        U R                  R                  5       5      u  p#X!S   :X  d   eX1S   :X  d   eg Nr   r;   )mapr%  
markerliner=  )stem_containerexpectedr4   r5   s       r%   _assert_equal%test_stem_args.<locals>._assert_equal  s?    422;;=>QKQKr'   r;   r   r   rv  r  rj  rG  )r#  rM  r  zb--)r  r  Nr)   r   r  r$  r/   r$   r4   r5   s        r%   test_stem_argsr+    s     
 llnGCAA "''!*	1~6"''!-1&1"''!'.!@"''!&!8"''!u'=O"''!U'+y!nE"''!U#y!n=r'   c            	           SS jn [         R                  " 5       u  p/ SQn/ SQnU " UR                  X45      SSS9  U " UR                  X4SS	9SSS9  U " UR                  X4S
S	9SSS9  U " UR                  X4S5      SSSS9  U " UR                  X4S
5      SSSS9  U " UR                  X4SSS	9SSSS9  U " UR                  X4SSS	9SSSS9  U " UR                  X4SSS	9SSSS9  U " UR                  X4SSS	9SSSS9  U " UR                  X4SSS	9SSSS9  U " UR                  X4SS9SSSS9  U " UR                  X4SSS9SSSS9  U " UR                  X4SSS9SSSS9  g)zATest that stem(..., markerfmt=...) produces the intended markers.Nc                 n   Ub6  [         R                  " U R                  R                  5       U5      (       d   eUb6  [         R                  " U R                  R                  5       U5      (       d   eUb   U R                  R                  5       U:X  d   eU R                  R                  5       S:X  d   eg)zT
Check that the given StemContainer has the properties listed as
keyword-arguments.
Nr  )r  r  	stemlinesr  r!  r2  get_linestyle)r"  	linecolormarkercolorr   s       r%   r$  *test_stem_markerfmt.<locals>._assert_equal  s      %%((224    "%%))335    !,,779VCCC((668FBBBr'   r&  r'  r  r   )r1  r   r4   )r  r  rO  )r0  r1  r   r  gxr  r  r   r(  )r  r  )NNNr)  r*  s        r%   test_stem_markerfmtr4    s   BF!C$ llnGCAA "''!-T#>"''!#'.DM"''!$'/SM 
c3s4 
d3s4 
cS)3s4 
cS)3s4 
cT*3s4 
cS)3v7 
cR(3v7
 
c"3s4 
cS13s4 
cT23s4r'   c                      [         R                  " SS5      u  p[        R                  R	                  S5      [        R                  R	                  S5      /nSS/nUR                  X#5        g )Nr;   z2013-9-28 11:00:00z2013-9-28 12:00:00r   r  )r)   r   dateutilparserparser  )r/   r$   r  r  s       r%   test_stem_datesr9    sU    ll1a GC
//

 4
5
//

 4
5
7B
sBGGBOr'   zstem_orientation.pngc            	          [         R                  " SS[         R                  -  S5      n [        R                  " 5       u  pUR                  U [         R                  " U 5      SSSSS9  g )	Nr   r<   r[  r  kxr  rT   )r  r  r  rV   )rl   r  r  r)   r   r  rg  r8  s      r%   test_stem_orientationr<    sP    
C255"%AllnGCGGArvvaydF$  &r'   z!hist_stacked_stepfilled_alpha.pngc                      [         R                  " SSS5      n [         R                  " SSS5      n[        R                  " 5       u  p#UR	                  X4SSS	S
9  g )Nr;   r   r  r   r   r[  r  Tr   )r  r  r  r  r	  s       r%   "test_hist_stacked_stepfilled_alphar>    sK     
Q2	B	QB	BllnGCGGRH|TGEr'   zhist_stacked_step.pngc                      [         R                  " SSS5      n [         R                  " SSS5      n[        R                  " 5       u  p#UR	                  X4SSS	9  g )
Nr;   r   r  r   r   r[  r  Tr  r  r	  s       r%   test_hist_stacked_stepr@    sI     
Q2	B	QB	BllnGCGGRHvtG4r'   zhist_stacked_normed.pngc                      [         R                  " SSS5      n [         R                  " SSS5      n[        R                  " 5       u  p#UR	                  X4SSS9  g )	Nr;   r   r  r   r   r[  T)r  r  r  r	  s       r%   test_hist_stacked_densityrB  #  sI     
Q2	B	QB	BllnGCGGRHdDG1r'   zhist_step_bottom.pngc                      [         R                  " SSS5      n [        R                  " 5       u  pUR	                  U [         R
                  " S5      SS9  g )Nr;   r   r  r   r  )rR   r  )rl   r  r)   r   r  rt   r  s      r%   test_hist_step_bottomrD  ,  s=     
Q2	BllnGCGGBryy}|G<r'   c            	          / SQn / SQnSS/SS/SS/SS/SS/SS/SS/SS//nSS/SS/SS/SS/SS//nSU4SX#-   44 H:  u  pE[         R                  " XUS	9u    nu  n[        UR                  5       U5        M<     g )
Nr   r;   r<   r   r   r   r;   r;   r;   r<   r   r<   r;   r   r  r  r  r  r)   r  r   get_xyr  r  rA   rR   r  r  r  polygons           r%   test_hist_step_geometryrM  4  s    DDq6Aq6Aq6Aq6Aq6Aq6Aq6Aq6
JC!fq!fq!fq!fq!f5F #s|(DEHHTxH1kw7>>+R0 Fr'   c            	          / SQn / SQnSS/SS/SS/SS/SS/SS/SS/SS	//nSS	/SS/SS/SS/SS//nS
U4SX#-   44 H=  u  pE[         R                  " X/ SQUS9u    nu  n[        UR                  5       U5        M?     g )NrF  rG  r   r;   r   r   r<   rD  r   r  r  r;   r<   r   )r  rR   r  rI  rK  s           r%   test_hist_step_bottom_geometryrP  ?  s    DDq6Aq6Aq6Aq6Aq6As8aX3x
PC#hAAAA7F #s|(DEHHT[.681kw7>>+R0 Fr'   c            
          / SQn / SQn/ SQnSS/SS/SS/SS/SS/SS/SS/SS//SS/SS/SS/SS/SS/SS/SS/SS///nSS/SS/SS/SS/SS//SS/SS/SS/SS/SS///n[        X45       VVs/ s H	  u  pVXV-   PM     nnnS	U4S
U44 Hy  u  p[        R                  " X/U SUS9u    p[        U5      S:X  d   eUS   u  n[	        UR                  5       U	S   5        US   u  n[	        UR                  5       U	S   5        M{     g s  snnf )NrF  rG  rG  r   r<   r;   r   r0  r  r  T)r  r  r  r  r)   r  r  r   rJ  r  data_1data_2topsbottomsr  r%  combinedr  r  r  r<  rL  s                r%   test_hist_stacked_step_geometryrY  K  s~   DFF
Q!Q!Q!Q!Q!Q!Q!QH
Q!Q!Q!Q!Q!Q!Q!QHD
 Q!Q!Q!Q!Q0
Q!Q!Q!Q!Q0G #&d"45"4$!"4H5 $,)AB&!1d*2417|q   1:7>>+RU31:7>>+RU3 C 6s   1D
c            
      &   / SQn / SQn/ SQnSS/SS/SS/SS/SS/SS	/SS	/SS
//SS/SS/SS/SS/SS/SS/SS/SS	///nSS
/SS/SS/SS/SS//SS	/SS/SS/SS/SS///n[        X45       VVs/ s H	  u  pVXV-   PM     nnnSU4SU44 H|  u  p[        R                  " X/U S/ SQUS9u    p[        U5      S:X  d   eUS   u  n[	        UR                  5       U	S   5        US   u  n[	        UR                  5       U	S   5        M~     g s  snnf )NrF  rG  rG  r   r;   r   r   r<   rD  r   r0  r   r  r  r  TrO  )r  r  rR   r  rR  rS  s                r%   &test_hist_stacked_step_bottom_geometryr[  c  s   DFF
Q!Q!Q!Q!Q!SAs8aXN
Q!Q!Q!Q!Q!SAs8aXND
 SAq6Aq6Aq6Aq62
SAq6Aq6Aq6Aq62G #&d"45"4$!"4H5 $,)AB&!1d(3hH17|q   1:7>>+RU31:7>>+RU3 C 6s   1Dzhist_stacked_bar.pngc            	          / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/n / SQn/ SQn[         R                  " 5       u  p4UR                  U S	S
SUUS9  UR                  SSSS9  g )N)r   r   r   r   r  @  i  r  r  rI  6  rH  )r     r[  rO  r   i  )r  r  r  r  r  rk     )r.  r.  r.  r.  r  r  r   r   r   r   r   r  )+  ra  ra  r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r  r  r  r  r  r  r  r  ))gXxn?r   r  )r  r   g `p?)r  r   gǟ?)r  gˢ`?r   )gC?r  r   )gK?r  r   )r   r  z yellowr  r:  r   r  mid)r  r  r<  r   r2   zupper right)r   r   r;   )rC   bbox_to_anchorr  )r)   r   r  rK   )r  r  labelsr/   r$   s        r%   test_hist_stacked_barre  {  sl     
D	#%H	8	H	A		CA
OF @FllnGCGGABU&  II-
!IDr'   r  r5  r  r6  r>  )r<  ro  r   r   )rL  rM  r  r7  )r;   r   r<   r   c           
      *   [         R                  R                  S5        S Vs/ s H"  n[         R                  R                  U5      PM$     nnU R	                  S5      u  pVUR	                  S5      u  pxSXW4SXh44 H  u  pnU
R
                  " U4SU	S.UD6u  pn[        [        UR                  5       5      5      u  p[        [        XO5      5       H3  u  nu  nnUR
                  " U4XS.UU0DS[        U5      U-
  S-  0D6  M5     M     g s  snf )	Nrb   )r  r[  r   r<   r  r  r   rH  r  )rl   rm   rn   r  r   r  nextiteritemsr  r  r  )r"   r#   r  r  r  axt1axt2axr1axr2r  r  r  r  r  kwr'  rC  r4   rD  s                      r%   test_hist_vectorized_paramsro    s    IINN8&3	4m"))//!
mB	4$$Q'LT##A&LT ,d9FD;OPsXXbGrHGG
$v||~./
&s27MAz5HHQ +T +U + WQYM+ 8	 Q 
5s   )Dc                  n   Sn / SQnSn[         R                  R                  SS9n[        R                  " X0UUS9u    pE[
        R                  " US   R                  5       U 5      (       d   e[
        R                  " US   R                  5       U5      (       d   eUS   R                  5       U:X  d   eg )N)rO  r   r   r   r   )r   r}  r[  r  )r5  r6  r   r   )
rl   rm   uniformr)   r  r  r  rb  rc  r/  )r5  r6  r   arrr  r  s         r%   test_hist_sequence_type_stylesrt    s    III
))



$C#i$-/JAqd1g335yAAAAd1g335yAAAA7  "i///r'   c                      [         R                  R                  SS9n [        R                  " U SSS9u    pUS   R                  5       (       d   S5       eUS   R                  5       (       d   S5       eg )Nr[  r  r1  )r5  r6  r   r_  )rl   rm   rr  r)   r  rb  rc  )rs  r  r  s      r%   test_hist_color_nonerv    sk    
))



$C#6BJAq7  ""0L0"7  ""0L0"r'   zkwargs, patch_face, patch_edger5   )r  r   r5  r6  )r5   r   )r  r   r6  )rO  r   )r  r   r5  rE  )r  r5  r6  )r  r   )r  r5  r  )r  r6  )r  r   r  c                    ^^ [         R                  " 5       R                  5       R                  " / SQ40 U D6u    p4[	        UU4S jU 5       5      (       d   eg )Nr  c              3      >#    U  H<  n[         R                  " UR                  5       UR                  5       /TT/5      v   M>     g 7fr  )r  r  rb  rc  )r  r  
patch_edge
patch_faces     r%   r  ,test_hist_color_semantics.<locals>.<genexpr>  sF      NEL !!1??#4aoo6G"H#-z":< <ELs   AA)r)   r   r   r  r  )r  rz  ry  r  r<  s    ``  r%   test_hist_color_semanticsr|    sW    < JJL))+00EfEMAq NELN N N N Nr'   c                      [         R                  " SS/5      n [        R                  " SS/SS//SSU S9  U R	                  5       SS/:X  d   eg )Nr   r  r   r;   r<   r  )r  rR   )rl   rO  r)   r  tolistr  s    r%   %test_hist_barstacked_bottom_unchangedr    sK    
"bAHHq!fq!fq<B88:"b!!!r'   c                  |    [         R                  " 5       u  pUR                  / [        S5      [        S5      /SS9  g )Nr   r  r  )r)   r   r  r   r.   s     r%   test_hist_emptydatar    s.    llnGCGGRrE"I&G8r'   c                      [         R                  " 5       u  pUR                  / SQ// SQS9  UR                  5       u  p#US/:X  d   eg )Nr  )r'  unusedzalso unusedr  r'  )r)   r   r  get_legend_handles_labels)r/   r$   r  rd  s       r%   test_hist_unused_labelsr    sD     llnGCGGYKBGC,,.IAhZr'   c                      [         R                  " 5       u  pUR                  SS/SS9u    p#US   R                  5       S:X  d   eUR                  SS/S/S9u    p#US   R                  5       S:X  d   eUR                  SS/S S9u    p#US   R                  5       S:X  d   eUR                  SS/SS9u    p#US   R                  5       S:X  d   eUR                  SS/SS9u    p#US   R                  5       S:X  d   eg )Nr   r;   r  r#  r  00)r)   r   r  r  )r/   r$   r  r  s       r%   test_hist_labelsr    s   llnGC!Qq)JAq7#%%%!Qs+JAq7#%%%!Qt,JAq7,...!Qs+JAq7#%%%!Qt,JAq7$&&&r'   transparent_markersc                      [         R                  R                  S5        [         R                  R                  S5      n [        R                  " 5       u  pUR                  U SSSS9  g )Nr   r[  r_  r1  r   )r  r   rl   rm   rn   r)   r   r   r  s      r%   test_transparent_markersr    sG    IINN199BDllnGCGGD#6cG2r'   rgba_markersc            
         [         R                  " SS9u  pSS/nSS/nS S/n[        SS	S
9n[        U5       Hl  u  pg[        U5       HX  u  p[        U5       HD  u  pX   R                  " US-   U
S-   S4XUS.UD6  X   R                  " US-   U
S-   S4XS.UD6  MF     MZ     Mn     U H  nUR                  / SQ5        M     g )Nr<   r  r  r  rH  )r   r   r;   r   r   r   r  )r  r6  r;   r   )r  r7  r  r   r4   )r7  r  )r   r0  r   r   )r)   r   r  r  r   r"  )r/   r  rcolorsbcolorsalphasrn  rC  r  rj  rcolorrE  bcolorr$   s                r%   test_rgba_markersr    s    ||!$HC^,G^,GC[F	"	Bf%"7+IA&w/	AaC1c /v"'/+-/AaC1cIvIbI 0 , & 
 r'   zmollweide_grid.pngc                  l    [         R                  " 5       n U R                  SS9nUR                  5         g )N	mollweider  )r)   r   r   r  r.   s     r%   test_mollweide_gridr    s(     **,C	K	0BGGIr'   c                     [         R                  " 5       n U R                  SS9n[        R                  " [        R
                  * [        R
                  S5      n[        R                  " [        R
                  * S-  [        R
                  S-  S5      SS n[        R                  " X#5      u  p#[        R                  " UR                  5       UR                  5       45      R                  nUR                  R                  U5      nUR                  R                  5       R                  U5      n[        R                  R                  XFS5        g )	Nr  r  r  r   r`  r;   r   r   )r)   r   r   rl   r  r  r  r  r+  r  transProjectionr4  invertedr   r   )r/   r$   lonlatllr  ll2s          r%   &test_mollweide_forward_inverse_closurer  "  s     **,C	K	0B ++ruufbeeS
)C
++ruufslBEECK
5a
;C{{3$HC	CKKM3;;=1	2	4	4B 
			%	%b	)B 


%
%
'
1
1"
5C JJ((!4r'   c                     [         R                  " 5       n U R                  SS9n[        R                  " SSS5      n[        R
                  " X"5      u  p#[        R                  " UR                  5       UR                  5       45      R                  nUR                  R                  5       R                  U5      nUR                  R                  U5      n[        R                  R                  XFS5        g )Nr  r  r   r;   r  r   )r)   r   r   rl   r  r  r  r+  r  r  r  r4  r   r   )r/   r$   r4   r5   r  r  xy2s          r%   &test_mollweide_inverse_forward_closurer  9  s     **,C	K	0B 	Aq#A;;qDA	AIIK-	.	0	0B 
			$	$	&	0	0	4B 


&
&r
*C JJ((!4r'   
test_alphac            
         [         R                  R                  S5        [         R                  R                  S5      n [        R                  " 5       u  pUR                  U S/ SQ/ SQSSS9  UR                  U S	-   S/ SQ/ SQSSS
S9  UR                  U S-   S/ SQ/ SQSSSS9  UR                  U S-   S/ SQ/ SQSSS9  UR                  U S-   S/ SQ/ SQSSS9  g )Nr   r[  z-Dr  r  r  r   )r   r  r   rL  r<   r;   )r   r  r   rL  r  r0  r   r   r  r  r  s      r%   r  r  N  s    IINN199BDllnGC GGD$i]b  " GGD1Hd-]b  
 GGD1Hd)b  
 GGD1Hd-]b  " GGD1Hd-Yb  "r'   zeventplot.pngc                  H   [         R                  R                  S5        [         R                  R                  SS/5      R                  5       n [         R                  R                  SS/5      R                  5       nX-   n[	        U5      n/ SQ/[	        U 5      -  n/ SQ/ SQ/ SQ/ S	Q/ S
Q/ SQ/nXE-   nS[         R
                  " S[	        U 5      5      S-  -   n/ SQnUR                  5       U-   n	S/[	        U 5      -  n
/ SQnX-   n[        R                  " 5       nUR                  5       nUR                  X&U	US9n[	        U5      nUU:X  d   eX&XS.n[        R                  " 5       nUR                  5       nUR                  SSSSUS9n[	        U5      nUU:X  d   eg )Nr   r   r  r   )r   r;   r  r  r  r  )r;   rf  r   )r;   r   r;   )r   r;   r;   r  Q?)ir  r;   r   r   r   )r   r<   r;   r;   r   r   )r  lineoffsetslinelengths)r   r?   lor  r   r?   r  r  )r  r  r  r  )
rl   rm   rn   r~  r  rt   r)   r   r   	eventplot)ro  data2r  num_datasetscolors1colors2r  lineoffsets1lineoffsets2r  linelengths1linelengths2r  r/   axobjcollsnum_collectionss                    r%   test_eventplotr  l  s   IINN1IIb"X&--/EIIaW%,,.E=Dt9LlSZ'GG F		!SZ0366L+L%%',6K53u:%L'L-K
**,COOEOOD[(3  5E %jOl*** KKD
**,COOEOOE#4(,4  9E%jOl***r'   ztest_eventplot_defaults.pngc                  r   [         R                  R                  S5        [         R                  R                  SS/5      R                  5       n [         R                  R                  SS/5      R                  5       nX-   n[        R
                  " 5       nUR                  5       nUR                  U5        g)zZ
test that eventplot produces the correct output given the default params
(see bug #3728)
r   r   r  r   N)rl   rm   rn   r~  r)   r   r   r  )ro  r  r  r/   r  s        r%   test_eventplot_defaultsr    s     IINN1IIb"X&--/EIIaW%,,.E=D
**,COOE	OODr'   r  ))r  )z
tab:orangeztab:pinkztab:cyanbLacK)r9  r  N)r;   r   r;   r   c                    S/S/S/S//nU  Vs/ s H	  o"b  UOSPM     nn[        U5      S:X  a  US   n[        R                  " [        R                  " U5      [        U5      S45      n[
        R                  " 5       u  pE[        U 5      S:X  a  U S   n UR                  XS9n[        Xc5       H  u  px[        UR                  5       U5        M!     gs  snf )	zBTest the *colors* parameter of eventplot. Inspired by issue #8193.r   r;   r<   r   Nr  r0  r  )r  rl   r  r  to_rgba_arrayr)   r   r  r  r   r  )	r  r  r?   r#  r/   r$   r  r  r   s	            r%   test_eventplot_colorsr    s     C!qcA3D 7==f],fH= 8}A;w44X>TAOHllnGC
6{a,,t,3K;1(%0 2 >s   Cc                  z   [         R                  " 5       u  pUR                  / SQ/ SQ/SS9nUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eUR                  / SQ/ SQ/SS/S9nUS   R                  5       S:X  d   eUS   R                  5       S:X  d   e[        R
                  " [        SS	9   UR                  / SQ/ SQ// S
QS9  S S S 5        [        R
                  " [        SS	9   UR                  / SQSS/S9  S S S 5        g ! , (       d  f       NE= f! , (       d  f       g = f)N)r   r<   r0  )r;   r   r   rj  r  r  r   r;   r   zalpha and positions are unequalrr  )r   r  rM  )r)   r   r  	get_alphar   r   r  )r/   r$   r  s      r%   test_eventplot_alphar    s   llnGC ,,	<8,DKq>##%,,,q>##%,,, ,,	<8c
,KKq>##%,,,q>##%,,,	z)J	K
i.oF 
L 
z)J	K
YsCj1 
L	K 
L	K 
L	Ks   D=D,
D),
D:z!test_eventplot_problem_kwargs.pngc           
         [         R                  R                  S5        [         R                  R                  S/5      R                  5       n[         R                  R                  S/5      R                  5       nX/n[        R
                  " 5       nUR                  5       nUR                  USS/SS/SS	/S	S/S
S/SS/S9  [        U 5      S:X  d   e[        S U  5       5      (       d   eg)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)
r   r  r   rO  r%  r?   r  r<   r;   r   dasheddashdotr  )r  r   r#  r7  rv  r   r   c              3   j   #    U  H)  n[        UR                  [        R                  5      v   M+     g 7fr  )
issubclasscategoryr   rl  )r  wis     r%   r  0test_eventplot_problem_kwargs.<locals>.<genexpr>  s+      " 2 "++s'G'GHH s   13N)
rl   rm   rn   r~  r)   r   r   r  r  r  )recwarnro  r  r  r/   r  s         r%   test_eventplot_problem_kwargsr    s     IINN1IIbT"))+EIIbT"))+E>D
**,COOE	OOD:* !1v !f '2((3  5 w<1 " " " " " "r'   c                      [         R                  " SS5      u  pUR                  / /S/S9  [         R                  " 5         g )Nr;   )r  r  r  r  r  r)   r   r  r  r.   s     r%   test_empty_eventplotr    s3    ll1a GCLL"34L5HHJr'   r  rV   )Nr|  rT   c                     Uc  0 OSU0n[         R                  " SS5      u  p4UR                  " U 40 UD6  [         R                  " 5         g)z#Introduced when fixing issue #6412.NrV   r;   r  )r  rV   optsr/   r$   s        r%   test_eventplot_orientationr    sA     $2=+*FDll1a GCLLHHJr'   c                    [         R                   " SSS5      [         R                   " SSS5      [         R                   " SSS5      /n[         R                   " SSS5      [         R                   " SSS5      /nUR                  5       nUR                  USS9  UR                  USS9  U R                  5       nUR                  X#/5        g )	Nr  r;   r<   r   r   r  r   )r  )r>  r   r  )r"   r#   ts_1ts_2r$   s        r%   test_eventplot_units_listr    s     dAq)8+<+<T1a+HdAq)+DdAr*H,=,=dAr,JKD				BLL1L%LL1L%				BLL$r'   zmarker_styles.pngc            
         [         R                  " 5       u  p[        [        R                  R
                  R                  S S9nUR                  S5        S/UQn[        U5       HY  u  p4UR                  US-  S-  [        R                  " S5      S-  -   [        R                  " S5      S-  U-  SUSUS-  -   US9  M[     g )	Nc                 B    [        [        U 5      5      [        U 5      -   $ r  )r  r@  r4   s    r%   r  $test_marker_styles.<locals>.<lambda>  s    3tAw<A#6r'   )r;  r1  r<   r   r   r   )r   r   r   r2   )r)   r   sortedrY   markersr   rj  r  r   rl   rt   r   )r/   r$   r  r5   r   s        r%   test_marker_stylesr    s    llnGC
 Z''33;;68GNN6  Gw'	
Q	BIIbM",,bggbk"nQ.>""QqS& 	 	@ (r'   zrc_markerfill.pnggl?c                      [         R                  " 5       u  p[        R                  " S5      n[	        / SQ5       H-  u  nu  pEU[
        R                  S'   UR                  X#-   US9  M/     g )Nrj  ))rA   r  )rR   r   )r1  r  zmarkers.fillstylerK  )r)   r   rl   rt   r  rY   r   r   )r/   r$   r4   idxr   r   s         r%   test_markers_fillstyle_rcparamsr  #  sZ     llnGC
		!A ):!<_e38
/0
f%!<r'   zvertex_markers.pngc                     [        [        S5      5      n Sn/ SQn[        R                  " 5       u  p4UR	                  U SUSS9  UR	                  U S S S2   SUSS9  UR                  SS/5        UR                  SS/5        g )Nr   ))r   r   rr  r}  rs  r   rE  r  r   r%  )r%  r   r)   r   r   r	  r
  )r  marker_as_tuplemarker_as_listr/   r$   s        r%   test_vertex_markersr  .  sv    b	?D:O9NllnGCGGDBCG@GGD2J"^GEKKRKKRr'   zvline_hline_zorder.pngzerrorbar_zorder.pngg9v?c            	         [        [        S5      5      n [        R                  " 5       nUR	                  5       nUR                  U SSS9  UR                  SSSSS9  UR                  SSSSS9  UR                  SS	SSS9  UR                  S
SSSS9  UR                  S5        [        R                  " 5       nUR	                  5       n[        [        S5      5      n [        R                  " S5      n[        [        S5      5      nUR                  XUSSSS9  [        S5       H(  nUR                  USSUS9  UR                  U* SSUS9  M*     UR                  S5        g )Nr   r   )rL  r  r;   r9  )r   rL  r  r   rj  r  r<   rE  r   zaxvline and axhline zorder testrO  )rW  r  rL  r   )rL  r   r  zerrorbar zorder test)r%  r   r)   r   rd  r   rv   axvliner7   rl   r  rR  )r4   r/   r$   r5   rW  rj  s         r%   test_eb_line_zorderr  :  s4    	U2YA **,C	BGGA"QGJJq"QJ/JJqBrJ2JJq1J-JJq1J-LL23 **,C	BU2YA
Ab	?DKK4asK;2Y


1#a
0


A2!3q
1  LL'(r'   c                 ,   U R                  5       nUR                  SSS9  UR                  SS/SS/S5        UR                  SSS	S
9  UR                  5       nUR                  SSS9  UR                  SS/SS/S5        UR                  SS/SS/S	S
9  g )N)r   r   )r\  r;   rw  r   r  z.-)r;   r\  )r   r  rE  rQ  r;   r   r\  r  )r   r   r  axliner!   s      r%   test_axline_loglogr  X  s    				BFF		F*IIr2hR$'IIisI+				BFF		F*IIr2hR$'IIq"gd|sI+r'   c                 :   U R                  5       nUR                  SSS9  UR                  SS5        UR                  SSSS9  UR                  SS	S
S9  UR                  SSSS9  UR                  SSSS9  UR                  S[        S5      SS9  UR                  5       nUR                  SSS9  UR	                  SS/SS/5        UR                  SSS9  UR                  SS
S9  UR                  SSS9  UR	                  SS/SS/SS9  UR                  SSS9  g )Nrs  rw  r  r}  ro  rc  rP  )r   r   r;   r   rd  )gffffffr  r   r  )sloper   )r;   r  r  C4)r  r;   infr  r   r;   r   )r   r   r  r  r   rv   r  r!   s      r%   test_axliner  e  s   				BFFgF&IIffIIffDI)IIhI-IIl!4I0IIit4I0IIiuU|4I8				BFFgF&GGRGb!WJJqJJJs$JJJt4J GGRGc4[G-JJt4J r'   c                    U R                  5       nUR                  SSS9  UR                  SSUR                  S9  UR                  SSSUR                  S9  UR                  S	S
SUR                  S9  UR                  SSSUR                  S9  UR                  5       nUR                  SSS9  UR	                  SS/SS/5        UR	                  S
S/SS
/SS9  UR	                  SS/S
S
/SS9  UR	                  S
S
/SS/SS9  g )Nrs  rw  r  r;   r  r4  r  rc  r  r   r4  r   r   r   rd  )r   r   )r   r;   r  )r   r4  r   rP  )r   r   r  r@  r   r!   s      r%   test_axline_transaxesr  |  s    				BFFgF&IIfAI6IIhatr||IDIIjIFIIhIE				BFFgF&GGRGb!WGGQFRG4G(GGRGaV4G(GGQFRG4G(r'   c                    U R                  5       nUR                  SSS9  UR                  SSUR                  S9  UR                  SSSUR                  S	9  UR                  SS
SUR                  S	9  UR                  SSS9  U R	                  SS5        UR                  5       nUR                  SSS9  UR	                  SS5        UR                  S
S/S
S/5        UR                  S
S/S
S/SS9  UR                  S
S/SS/SS9  g )Nrs  rw  r  r;   r  r  r<   rc  r  r   rd  )r   r   r`  r   r   r   rP  )r   r   r  r@  set_size_inchesr   r!   s      r%   test_axline_transaxes_panzoomr    s     
			BFFgF&IIfAI6IIjIFIIjIFFFWF%Q"				BFFWF%Aq!GGQFQFGGQFQG4G(GGQFQF$G'r'   c                     [         R                  " 5       u  p[        R                  " [        5         UR                  S5        SSS5        [        R                  " [        5         UR                  SSSS9  SSS5        UR                  S5        [        R                  " [        5         UR                  SSS9  SSS5        UR                  S5        UR                  S5        [        R                  " [        5         UR                  SSS9  SSS5        UR                  S5        [        R                  " [        5         UR                  SS5        [         R                  " 5         SSS5        g! , (       d  f       GN8= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g= f)z3Exactly one of *xy2* and *slope* must be specified.r  Nr}  r;   )r  r.  rV  )
r)   r   r   r   r   r  rW  r  r  r  r.   s     r%   test_axline_argsr    s   llnGC	y	!
		& 
"	y	!
		&&	* 
"MM%	y	!
		&	" 
"MM(MM%	y	!
		&	" 
"MM(	z	"
		&&!
 
#	" 
"	!	!	! 
"	! 
"	! 
#	"s;   E5&F+F F*(F;5
F
F
F'*
F8;
G	)vlines_basicvlines_with_nanvlines_maskedc            	      "   / SQn / SQn[         R                  " 5       u  p#UR                  U SUSSS9  / SQnSS	S
S[        R                  S/n[         R                  " S
SS9u  nu  pxn	UR                  USUSSS9  / SQn
[        R                  SS	S
SS/nUR                  U
SUSS
SS9  / SQn[        R                  SS	S
S[        R                  /nU	R                  USUSSS9  X7X4 H  nUR                  SS5        M     UR                  5       UR                  5       :X  d   eUR                  5       UR                  5       :X  d   eUR                  5       U	R                  5       :X  d   e[         R                  " 5       u  nn[        R                  R                  / SQS5      n[        R                  R                  / SQS5      n[        R                  R                  / SQS5      nUR                  UUUSSS9  UR                  SS5        g N)r<   r   r0  r   rj  )r<   r   r  r<   r   r  r   r  r7  )r<   r   r0  r   r   rj  r<   r  r   r  )r0  r  )r  r  rO  rM  )r  r7  r   rE  r   )r<   r0  r   r  r   r  )r   r;   r   r   r<   r;   )rU  r  r   r     rM  rM  r   )	r)   r   ru   rl   r  r	  r   r	   masked_equal)r6  r  rG  r  rR  rS  rH  r  r  rG  x3rb  x4y4r$   fig3ax5x5ymin5ymax5s                       r%   test_vlinesr
	        
B	BIDJJr1bJ2 
B
RArvvq	!BLLq&AD/3SJJr1bJ2	B
&&!RAq	!BJJr1bTJB	B
&&!RArvv	&BJJr1bJ2 "
Ar # <<>S\\^+++<<>S\\^+++<<>S\\^+++ID#			0!	4BEE2A6EEE7<EJJr5%qJ9LLBr'   c                  (   [         R                  " 5       u  p[        R                  " SS05         UR	                  SSS5      n[        R
                  R                  UR                  5       S5      (       d   e S S S 5        g ! , (       d  f       g = fNzlines.colorr9  r   r   r;   )r)   r   r   r   ru   r  r  r  r/   r$   r*  s      r%   test_vlines_defaultr	    b    llnGC	.	/		#q!$zz$$U__%6>>>> 
0	/	/   A	B
B)hlines_basichlines_with_nanhlines_maskedc            	      "   / SQn / SQn[         R                  " 5       u  p#UR                  U SUSSS9  / SQnSS	S
S[        R                  S/n[         R                  " S
SS9u  nu  pxn	UR                  USUSSS9  / SQn
[        R                  SS	S
SS/nUR                  U
SUSS
SS9  / SQn[        R                  SS	S
S[        R                  /nU	R                  USUSSS9  X7X4 H  nUR                  SS5        M     UR                  5       UR                  5       :X  d   eUR                  5       UR                  5       :X  d   eUR                  5       U	R                  5       :X  d   e[         R                  " 5       u  nn[        R                  R                  / SQS5      n[        R                  R                  / SQS5      n[        R                  R                  / SQS5      nUR                  UUUSSS9  UR                  SS5        g r  )	r)   r   hlinesrl   r  r
  r   r	   r	  )r  r6  rG  r  rS  rR  rH  r  r  rG  rb  r	  r	  r	  r$   r	  r	  y5xmin5xmax5s                       r%   test_hlinesr	    r	  r'   c                  (   [         R                  " 5       u  p[        R                  " SS05         UR	                  SSS5      n[        R
                  R                  UR                  5       S5      (       d   e S S S 5        g ! , (       d  f       g = fr	  )r)   r   r   r   r	  r  r  r  r	  s      r%   test_hlines_defaultr	    r	  r	  r   rT  r0  c                 <   / SQnU R                  SSS5      R                  USSUSS9  U R                  SSS5      R                  USSUSS9  / SQn/ SQnUR                  SSS5      R                  USSUSS9  UR                  SSS5      R                  USSUSS9  g )	N)r9  r   r   r  r  r<   r;   r   r   r  )r;   r<   r   r   )r9  r   r   r  )r   ru   r	  )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 ) J I5L1a ''	1a/;q ( J1a ''	1a/;q ( Jr'   vlines_hlines_blended_transform)r   r   c                     [         R                  " SSS5      n [         R                  " U * 5      [         R                  " S[         R                  -  U -  5      -   S-   n[
        R                  " SSSS9u  nu  p4UR                  XS	5        UR                  SS
/SSUR                  5       SS9  UR                  XS	5        UR                  SS/SSUR                  5       SS9  g )Nr  r6  r   r<   r   r;   r   r   rD  r  rv  r   r   rO  )rj   rk   r4  r  r   rj  r  )yminymaxr4  r  )rl   rt   ri  r  r  r)   r   r   r	  get_yaxis_transformru   get_xaxis_transform)r  r  r/   haxvaxs        r%   $test_vlines_hlines_blended_transformr+	  %  s     			#tS!A
r
RVVAIM**R/All1a8OC#HHQ3JJAwQS0023  @HHQ3JJ1vADC4K4K4M  r'   step_linestyler   c            
         [         R                  " S5      =p[        R                  " SS5      u  p#UR	                  5       n/ SQn[        X45       Hg  u  pVUR                  XSUSS9  UR                  XS-   SUSS9  UR                  XS-   SUS	S9  UR                  S
S/5        UR                  S
S/5        Mi     XUS-   US-   S.n[        R                  " SS5      u  p#UR	                  5       n/ SQn[        X45       Hg  u  pVUR                  SSSUSUS9  UR                  SSSUSUS9  UR                  SSSUS	US9  UR                  S
S/5        UR                  S
S/5        Mi     g )Nr   r<   )rL  rM  r  r  r   pre)rL  r   r=  r;   rb  r5  r   rj  )r  Y0Y1Y2r  r/	  )rL  r   r=  r  r0	  r1	  )	rl   rt   r)   r   r+  r  r  r	  r
  )r4   r5   r/   ax_lst	ln_stylesr$   r  r  s           r%   test_step_linestyler4	  3  s`   
 IIbMA ,,q!$KC^^F&If(
b6
q5Q"E:
q5Q"F;
RG
RG ) 1Q3ac2D,,q!$KC^^F&If(
Ta2UF
Ta2UF
Ta2V$G
RG
RG )r'   mixed_collectionc                  t   [         R                  " 5       u  p[        R                  " SSSSS9n[        R
                  R                  U/SS9nUR                  SS/S	S	//5        UR                  S
S/5        [        R
                  R                  U/SS9nUR                  SS/SS//5        UR                  S
S/5        UR                  / SQ/ SQ/5        UR                  R                  S5        UR                  U5        UR                  U5        UR                  SS5        UR                  SS5        g )Nr  r  r0  r1  r   radiusr5  r6  T)match_originalr   rN  r;   r   r  ii)r   r   r   r   )r   r   r   r   r  r  )r)   r   r  Circler   r  PatchCollectionset_offsetsset_linewidthsset_edgecolorsr  rg  r$  r	  r
  )r/   r$   r?   r*  r+  s        r%   test_mixed_collectionr@	  T  s    llnGCqFgNA 
	(	(!T	(	BBNNQFRH%&q!f 
	(	(!T	(	BBNNRGc3Z()q!f')9:;HHubbKK2KK2r'   c                      [         R                  " [        R                  " S5      [        R                  " S5      S5      n U R                  5         U R                  5       R                  5       S:X  d   eg )Nr   r;   )r   r;   r   r   )r)   rk  rl   int32r   r  get_subplotspecget_geometryr  s    r%   test_subplot_key_hashrE	  n  sM    	RXXa["((1+q	1BHHJ,,.,>>>r'   )zspecgram_freqs.pngzspecgram_freqs_linear.pngzspecgram_noise.pngzspecgram_noise_linear.pngQ?)r  r   r   c                     S[         R                  S'   Sn SnUS-  US-  US-  /US-  US	-  US
-  //n[        SU-  [        R                  " U5      -  5      n[        R
                  " SU SU-  5      n[        R                  " [        R                  " S[        R                  -  [        R                  R                  X$5      -  5      R                  SS95      n[        SU-  S-  5      n[        R                  R                  S5        [        R                  " [        R                  R                  U 5      [        R                  R                  U 5      /5      n/ SQnXS4Xv44 H  u  pU
S-  n[        S[        R                   " [        R"                  " U
5      5      -  5      n[%        [&        R(                  " 5       R+                  S5      U5       H  u  pUR-                  XXXS9  M     [%        [&        R(                  " 5       R+                  S5      U5       H4  u  pUR-                  XXXS[         R.                  R1                  5       S9  M6     M     g)z)Test axes.specgram in default (psd) mode.r   r  r  r6  r0  r   rO  @ffffff@'@r   r   r;   r<   r  r  onesidedtwosidedr   )NFFTFsnoverlappad_tosidesrV  )rN	  rO	  rP	  rQ	  rR	  r-  r  N)rY   r   intrl   rs  rt   r  r  r  multiplyouterr  rm   rn   r  r   r   log2r  r)   r   r   specgramr  r  )r  rO	  fstims
NFFT_freqsr4   y_freqs
NFFT_noisey_noise	all_sidesr5   rN	  rP	  rQ	  r$   rR	  s                  r%   test_specgramr^	  t  s    2;J-.A	B!tRT2b5!BsFBsFBtG#<=FR"Wrvvf~-.J
		!Q"Ann
q255y2;;,,V778<<!<DFG R"Wr\"JIINN1nnbii77:BIINN1<MNOG3I)G+@A19Q"''"''$-001SZZ\2215yAIBKK%  4 B SZZ\2215yAIBKK%&Z->->-F-F-H  J B Br'   )zspecgram_magnitude_freqs.pngz#specgram_magnitude_freqs_linear.pngzspecgram_magnitude_noise.pngz#specgram_magnitude_noise_linear.pngc                     S[         R                  S'   Sn SnUS-  US-  US-  /US-  US	-  US
-  //n[        SU-  [        R                  " U5      -  5      n[        R
                  " SU SU-  5      n[        R                  " S[        R                  -  [        R                  R                  X$5      -  5      R                  SS9nSUSS2S4'   [        R                  " U5      n[        SU-  S-  5      n[        R                  R                  S5        [        R                  " [        R                  R                  U 5      [        R                  R!                  U 5      /5      n/ SQn	Xc4X44 H  u  pZU
S-  n[        S[        R"                  " [        R$                  " U
5      5      -  5      n['        [(        R*                  " 5       R-                  S5      U	5       H  u  pUR/                  XZXXSS9  M     ['        [(        R*                  " 5       R-                  S5      U	5       H5  u  pUR/                  XZXXSS[         R0                  R3                  5       S9	  M7     M     g)z%Test axes.specgram in magnitude mode.r   r  r  r6  r0  r   rO  rH	  rI	  rJ	  r   r   r;   r<   r  Nr   r   rK	  r   	magnituderN	  rO	  rP	  rQ	  rR	  rh   rV  )rN	  rO	  rP	  rQ	  rR	  rh   r-  r  )rY   r   rS	  rl   rs  rt   r  r  rT	  rU	  r  r  rm   rn   r  r  r   r   rV	  r  r)   r   r   rW	  r  r  )r  rO	  rX	  rY	  r4   r5   rZ	  r[	  r\	  r]	  rN	  rP	  rQ	  r$   rR	  s                  r%   test_specgram_magnituderb	    s    2;J-.A	B!tRT2b5!BsFBsFBtG#<=FS2Xv./J
		!Q"A
q255y2;;,,V778<<!<DAAaeHiilGR"Wr\"JIINN1nnbii77:BIINN1<MNOG3I)G+@A19Q"''"''$-001SZZ\2215yAIBKK%  F B SZZ\2215yAIBKK%&Z->->-F-F-H  J B Br'   )zspecgram_angle_freqs.pngzspecgram_phase_freqs.pngzspecgram_angle_noise.pngzspecgram_phase_noise.pngc                     S[         R                  S'   Sn SnUS-  US-  US-  /US-  US	-  US
-  //n[        SU-  [        R                  " U5      -  5      n[        R
                  " SU SU-  5      n[        R                  " S[        R                  -  [        R                  R                  X$5      -  5      R                  SS9nSUSS2S4'   [        R                  " U5      n[        SU-  S-  5      n[        R                  R                  S5        [        R                  " [        R                  R                  U 5      [        R                  R!                  U 5      /5      n/ SQn	Xc4X44 H  u  pZU
S-  n[        S[        R"                  " [        R$                  " U
5      5      -  5      nS H  n['        [(        R*                  " 5       R-                  S5      U	5       HM  u  pUR/                  XZXXUS9  [0        R2                  " [4        5         UR/                  XZXXUSS9  SSS5        MO     M     M     g! , (       d  f       Mi  = f)z,Test axes.specgram in angle and phase modes.r   r  r  r6  r0  r   rO  rH	  rI	  rJ	  r   r   r;   r<   r  Nr   rK	  )r  phaser   ra	  dB)rN	  rO	  rP	  rQ	  rR	  rh   r-  )rY   r   rS	  rl   rs  rt   r  r  rT	  rU	  r  r  rm   rn   r  r  r   r   rV	  r  r)   r   r   rW	  r   r   r  )r  rO	  rX	  rY	  r4   r5   rZ	  r[	  r\	  r]	  rN	  rP	  rQ	  rh   r$   rR	  s                   r%   test_specgram_anglerf	    s    2;J-.A	B!tRT2b5!BsFBsFBtG#<=FR"Wrvvf~-.J
		!Q"A
q255y2;;,,V778<<!<DAAaeHiilGR"Wr\"JIINN1nnbii77:BIINN1<MNOG3I)G+@A19Q"''"''$-001&D !6!6q!99E	AR#)T  C]]:.KK'-&*   , /. F ' B /.s   I 	 
Ic                      [         R                  " [        R                  " S5      SSS9u  pp#UR	                  5       u  pEpgUS:X  a  US:X  d   eg)z;Test axes.specgram when Fs is None, should not throw error.r  NrV  )rO	  r-  r   `   )r)   rW	  rl   r   
get_extent)specfreqsr  r  rj   rk   freq0freq1s           r%   test_specgram_fs_nonern	    sF    bggclt8LD!}}D2:$"*$$*r'   c                 $   [         R                  " S5      n[         R                  " U5      nS[        R                  S'   UR                  5       R                  U5        S[        R                  S'   U R                  5       R                  U5        g)zCTest specgram ignores image.origin rcParam and uses origin 'upper'.r  upperzimage.originr   N)rl   rt   r  r)   r   r   rW	  )r"   r#   r  signals       r%   test_specgram_origin_rcparamrr	    sn     			#AVVAYF#*CLL  ' $+CLL    (r'   c                      [         R                  " S5      n [         R                  " U 5      n[        R                  " [
        5         [        R                  " USS9  SSS5        g! , (       d  f       g= f)z4Ensure passing origin as a kwarg raises a TypeError.r  r   r  N)rl   rt   r  r   r   r   r)   rW	  )r  rq	  s     r%   test_specgram_origin_kwargrt	    sB    
		#AVVAYF	y	!VG, 
"	!	!s   A&&
A4)zpsd_freqs.pngzcsd_freqs.pngzpsd_noise.pngzcsd_noise.pnggMb`?c            
      $   Sn SnUS-  US-  US-  /US-  US-  US-  //n[        S	U-  [        R                  " U5      -  5      n[        R                  " S
U SU-  5      n[        R                  " S[        R
                  -  [        R                  R                  X$5      -  5      R                  SS9n[        S	U-  S-  5      n[        R                  R                  S
5        [        R                  R                  U 5      [        R                  R                  U 5      /nSS0SSS.SSS./nXS4Xv44 GHV  u  pU
S-  n[        S[        R                  " [        R                  " U
5      5      -  5      n[        [         R"                  " 5       R%                  S5      U5       Hc  u  pUR&                  " [        R(                  " U	5      4XXS.UD6n[+        U5      SUR-                  SS5      -   :X  d   eUR/                  SSS9  Me     [        [         R"                  " 5       R%                  S5      U5       HN  u  pUR0                  " XUXS.UD6n[+        U5      SUR-                  SS5      -   :X  d   eUR/                  SSS9  MP     GMY     g )Nr        Y@r0  r   rO  rH	  rI	  rJ	  r  r   r;   r<   r  rR	  r  rL	  F)rR	  return_linerM	  Tr   )rN	  rO	  rP	  rQ	  rw	  r   xlabelylabel)rS	  rl   rs  rt   r  r  rT	  rU	  r  rm   rn   r  r   r   rV	  r  r)   r   r   psdr  r  r  r   csd)r  rO	  rX	  rY	  r4   ys_freqsr[	  ys_noise
all_kwargsr  rN	  rP	  rQ	  r$   r  rets                   r%   test_psd_csdr	    sN    	A	B!tRT2b5!BsFBsFBtG#<=FTBY/0J
		!Q"Avva"%%i"++"3"3F">>?CCCKHTBY^$JIINN1		))!,biinnQ.?@HI&&u=&t<>J +h-CD19Q"''"''$-001cjjl33A6
CJB&&+ E$"*E=CECs8q6::mU#CCCCCFF"RF(	 D
 cjjl33A6
CJB&&"B"*E=CECs8q6::mU#CCCCCFF"RF(	 D Er'   )z#magnitude_spectrum_freqs_linear.pngzmagnitude_spectrum_freqs_dB.pngzangle_spectrum_freqs.pngzphase_spectrum_freqs.pngz#magnitude_spectrum_noise_linear.pngzmagnitude_spectrum_noise_dB.pngzangle_spectrum_noise.pngzphase_spectrum_noise.pngc                     Sn SnUS-  US-  US-  /n[        SU-  [        U5      -  5      n[        S[        R                  " [        R                  " U5      5      -  5      n[        R
                  " SU S	U-  5      n[        R                  " S[        R                  -  [        R                  " XR5      -  5      S
[        R
                  " S5      -  -  R                  S	S9n[        R                  R                  S5        [        R                  " [        R                  R                  U 5      [        R                  R                  U 5      /5      S-
  n/ SQnXS.n	Xg4 GH  n
[        [         R"                  " 5       R%                  S5      U5       H-  u  pUR&                  " U
4SU0U	D6u  pnUR)                  SSS9  M/     [        [         R"                  " 5       R%                  S5      U5       H1  u  pUR&                  " U
4SU0U	DSS0D6u  pnUR)                  SSS9  M3     [        [         R"                  " 5       R%                  S5      U5       H-  u  pUR*                  " U
4SU0U	D6u  pnUR)                  SSS9  M/     [        [         R"                  " 5       R%                  S5      U5       H-  u  pUR,                  " U
4SU0U	D6u  pnUR)                  SSS9  M/     GM     g )Nr  rv	  r0  r   rO  r  r<   r   r;   r   r   r  r   rK	  )rO	  rQ	  rR	  r   rx	  r-  re	  )rS	  rs  rl   r   rV	  rt   r  r  rU	  r  rm   rn   r  r  r   r  r)   r   r   magnitude_spectrumr   angle_spectrumphase_spectrum)r  rO	  fstims1rN	  rQ	  r4   rZ	  r\	  r]	  r  r5   r$   rR	  rj	  rk	  r  s                   r%   test_spectrumr	  '  s}    	A	B!tRT2b5!Gtby3w<'(Dbggbggdm,,-F
		!Q"Aq255y288A#7782ryy|;KK IINN1ii2215ryy~~a7HIJROG3I)FSZZ\2215yAIB " 5 5a Ou O ODFF"RF( B SZZ\2215yAIB " 5 5a !Bu !B !B<@!BDFF"RF( B SZZ\2215yAIB " 1 1! K5 KF KDFF"RF( B SZZ\2215yAIB " 1 1! K5 KF KDFF"RF( B  r'   c                     [         R                  " 5       R                  S5      n U  H  nUR                  R	                  SS9  M     [
        R                  " SS9   U S   R                  [
        R                  " S5      5        U S   R                  [
        R                  " S5      [
        R                  " S5      5        S S S 5        g ! , (       d  f       g = f)	Nr<   T)r  r  r  r   r   r;   )
r)   r   r   r_   r   rl   r  r{	  r  r|	  r  r$   s     r%   test_psd_csd_edge_casesr	  Q  s    
**,


"C
d# 	H	%A

288A;A

288A;, 
&	%	%s   A&C


Cc                 ,   U R                  5       nUR                  5       nUR                  5       nUR                  5         UR                  5         UR                  5       nUR                  R                  5         UR                  R                  5         g r  )r   r  r  rj  r]   tick_bottomr_   	tick_left)r"   r#   ry   ax_twinxax_twinyrz   s         r%   test_twin_remover	  [  sj    ""$G}}H}}HOOOO  "F LL
LLr'   ztwin_spines.pnggI+?c                     S n [         R                  " SS9nUR                  SS9  UR                  5       nUR	                  5       nUR	                  5       nUR
                  R                  R                  S5        U " U5        UR
                  R                  R                  S5        UR                  / SQ/ SQS	5      u  nUR                  / SQ/ S
QS5      u  nUR                  / SQ/ SQS5      u  nUR                  SS5        UR                  SS5        UR                  SS5        UR                  SS5        UR                  R                  R                  UR                  5       5        UR                  R                  R                  UR                  5       5        UR                  R                  R                  UR                  5       5        [!        SSS9nUR"                  " SSUR                  5       S.UD6  UR"                  " SSUR                  5       S.UD6  UR"                  " SSUR                  5       S.UD6  UR"                  " SSS0UD6  g )Nc                     U R                  S5        U R                  R                  S5        U R                  S S  R                  S5        g )NTF)set_frame_onr  r    spinesr  s    r%   make_patch_spines_invisible5test_twin_spines.<locals>.make_patch_spines_invisiblen  s6    

U#
		!  'r'   )r0  r   rD  rf  )rE   )ri  r9  TrG  zb-)r   r   r<   zr-)r[  r   r   zg-r   r<   r0  r;   A   r   )r  r  r5   )r"  r  r"  r4   r   )r)   r   r  r   r  r	  rE   set_positionr    r   r	  r
  r_   r2   rg  r  r  tick_params)	r	  r/   hostpar1par2r*  r+  p3tkws	            r%   test_twin_spinesr	  j  s   (
 **V
$Cd#??D::<D::<D 	KK""=1  %KK!!$'
))Iy$
/CB
))Iy$
/CB
))I|T
2CBMM!QMM!QMM!QMM!RJJr||~.JJr||~.JJr||~.
AS
!C<#blln<<<#blln<<<#blln<<%#%%r'   ztwin_spines_on_top.pngc                     S[         R                  S'   S[         R                  S'   [        R                  " 5       n U R	                  SSS5      n[
        R                  " / SQ/ SQ/5      nUR                  5       nUR                  US   US   S-  S	S
9  UR                  US   US   S-  S	SS9  UR                  US   US   S-  SS
9  UR                  US   US   S-  SSS9  US   US   S-  S.n[        R                  " 5       n U R	                  SSS5      nUR                  5       nUR                  SSS	US9  UR                  SSS	SUS9  UR                  SSSUS9  UR                  SSSSUS9  g )Ng      H@r2  r  r;   )r  iL  i  i  )r^  i-  r  r  r   g     @@z#BEAED4rP  r  )r   r  z#7FC97Fr   )rC  rj  rC  rj  )r   r  )r   r  r  )
rY   r   r)   r   r   rl   rO  r  r   r  )r/   r  r  r  s       r%   test_twin_spines_on_topr	    s    -1J()-1J)*
**,C
//!Q
"C88-)+ ,D ))+CHHT!Wd1gckH3T!Wd1gck"EHHT!Wd1gckH3T!Wd1gck"E atAws{+D
**,C
//!Q
"C
))+CHHS#YTH2S#YbtDHHS#YTH2S#YbtDr'   z(grid_which, major_visible, minor_visible))r   TT)majorTF)r   FTc                 n  ^^ [         R                  R                  SU S.5        [        R                  " 5       u  p4UR
                  R                  5         [        U4S jUR                  R                   5       5      (       d   e[        U4S jUR                  R                   5       5      (       d   eg )NT)rd  zaxes.grid.whichc              3   ^   >#    U  H"  nUR                   R                  5       T:H  v   M$     g 7fr  gridliner  )r  tickmajor_visibles     r%   r  *test_rcparam_grid_minor.<locals>.<genexpr>  *      0.4 }}((*m;.   *-c              3   ^   >#    U  H"  nUR                   R                  5       T:H  v   M$     g 7fr  r	  )r  r	  minor_visibles     r%   r  r	    r	  r	  )r   r   r  r)   r   r  r  r  r]   
majorTicks
minorTicks)
grid_whichr	  r	  r/   r$   s    ``  r%   test_rcparam_grid_minorr	    s     LLdzJKllnGCJJOO 088..0 0 0 0 0 088..0 0 0 0 0r'   c                  >   [         R                  " 5       u  pUR                  5         U R                  R	                  5         UR
                  R                  S   R                  R                  5       (       d   eUR                  SS9  U R                  R	                  5         UR
                  R                  S   R                  R                  5       (       a   eUR                  SS9  U R                  R	                  5         UR
                  R                  S   R                  R                  5       (       d   eUR                  5         U R                  R	                  5         UR
                  R                  S   R                  R                  5       (       a   eg )Nr   FvisibleT)	r)   r   r  r  r  r]   r	  r	  r  r.   s     r%   	test_gridr	    s    llnGCGGIJJOO88q!**668888GGEGJJOOxx""1%..::<<<<GGDGJJOO88q!**668888GGIJJOOxx""1%..::<<<<<r'   c                  j   [         R                  " 5       u  pUR                  SSSS9  UR                  R                  S   R
                  R                  5       (       a   eUR                  SS9  UR                  R                  S   R
                  R                  5       (       d   e[         R                  " SS05         UR                  5         UR                  SSSS9  UR                  R                  S   R
                  R                  5       (       d   e S S S 5        g ! , (       d  f       g = f)	NTr	  r   )resetr"  	labelsizer   r9  rP  rd  )
r)   r   r	  r]   r	  r	  r  r  r   r  r.   s     r%   test_reset_gridr	    s    llnGCNNWN;xx""1%..::<<<<GG%G88q!**668888	d+	,


TB?xx""1%..::<<<< 
-	,	,s    AD$$
D2c                 <   X4 HN  nUR                  5       nUR                  S5        UR                  SSSSSSSS	S
SSSS9  UR                  5         MP     U R                   H7  nUR
                  R                  5         UR                  R                  5         M9     g )NTinr   r   r  r  r  rc  r  rd  r  r   rM  )	directionlengthr  r   padr	  
labelcolorlabelrotation
grid_color
grid_alphagrid_linewidthgrid_linestyle)r   r  r	  draw_without_renderingri  r]   reset_ticksr_   )r"   r#   r/   r$   s       r%   test_reset_ticksr	    s    "__

2QdTA	 	 	!
 	""$ # mm

 r'   c                     [         R                  " SSSSSSSSSS	.	5         [         R                  " 5       u  pS S S 5        W R                  5         WR                  R
                  S
   nUR                  R
                  SS   H  nUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  a  M   e   g ! , (       d  f       GN= f)Nr	  r   r   r  r  Tr  rc  )	xtick.directionzxtick.major.sizezxtick.major.widthxtick.colorzxtick.major.padxtick.bottom	xtick.topxtick.labelsizextick.labelcolorr   r;   )r)   r   r   r	  r]   r	  _size_width	_base_pad_labelrotation_zorder_tickdir)r/   r$   
first_tickr	  s       r%   test_context_ticksr	    s   	#RSB t!t	= 
>
 ,,.
>  $$Q'J##AB'zzZ-----{{j/////~~!5!5555""j&?&????||z11111}}
 3 3333 (
> 
>s   D33
Ec                      [         R                  " 5       n U R                  5       nUR                  S5        UR	                  / SQ5        [        UR                  5       S5        g )Nr   )r_  r   r   r   )r_  r   )r)   r   rd  r  r   r   r   r.   s     r%   test_vline_limitr	    s@    
**,C	BJJsOGG BKKM9-r'   zfv, fh, args)r;   r}  c                    [         R                  R                  S5      n[        R                  " [
        SS9   U " X#SS.6  S S S 5        [        R                  " [
        SS9   U " USUS.6  S S S 5        [        R                  " [
        SS9   U" X#SS.6  S S S 5        [        R                  " [
        SS9   U" USUS.6  S S S 5        g ! , (       d  f       N= f! , (       d  f       Nu= f! , (       d  f       N\= f! , (       d  f       g = f)	Nr;   z"ymin must be a single scalar valuerr  r%	  r&	  z"ymax must be a single scalar valuez"xmin must be a single scalar value)rj   rk   z"xmax must be a single scalar value)rY   r  num2dater   r   r  )fvfhargsbad_lims       r%   test_axline_minmaxr	    s     ''*G	z)M	N
DQ' 
O	z)M	N
Dqw' 
O 
z)M	N
DQ' 
O	z)M	N
Dqw' 
O	N 
O	N	N	N 
O	N	N	Ns/   	C#
C	C-8
C>
C
C*-
C;>
Dc                      [         R                  " SSSSS9u  pUS   R                  / SQ/ SQ5        US   R                  5       u  p#US   R	                  5       u  pEUS::  d   eUS:  d   eUS::  d   eUS	:  d   eg )
Nr;   r<   T)r  r  r  rc  r   r  )r<   r0  r   r   r   )r)   r   r   r   r   )r/   r  rN  r6  rO  r  s         r%   test_empty_shared_subplotsr	  %  sz    ||!1T$GHCFKK	9%V__FBV__FB7N77N77N77N7r'   c                  V   S H  n [         R                  " SSS9u  pUS   R                  SU SS9  US   R                  5       S:X  d   eUS   R	                  5       U :X  d   e[         R                  " SSS9u  pUS   R                  SU S9  US   R                  5       S	:X  a  M   e   g )
Nboxdatalimr<   T)r  r  r   )
adjustablesharer;   r	  r  )r)   r   
set_aspect
get_aspectget_adjustable)r	  r/   r  s      r%   test_shared_with_aspect_1r	  1  s    (
<<a5A!
$?1v  "a'''1v$$&*444<<a5A!
31v  "f,,, )r'   c                     [         R                  " SSSS9u  pUS   R                  SSS9  US   R                  SS/SS/5        US   R                  SS/SS/5        [         R                  " 5         US   R                  5       US   R                  5       :X  d   eUS   R                  5       US   R                  5       :X  d   eg )	Nr<   T)r  r  rc  r   )r	  r;   r   r0  )r)   r   r	  r   r  r   r   r  s     r%   test_shared_with_aspect_2r	  >  s    ||!D>HCFat$FKKAAFKKAAHHJq6??A 1111q6??A 1111r'   c                  D   S GH  n [         R                  " SSS9u  pUS   R                  SU S9  US   R                  SU S9  US   R                  SS/S	S
/5        US   R                  S	S
/SS/5        [         R                  " 5         US   R                  5       US   R                  5       :w  d   eUS   R                  5       US   R                  5       :X  d   eUR                  R                  UR                  R                  -  nU H  nUR                  5       nUR                  UR                  -  nUR                  R                  UR                  R                  -  nX6-  U-  n[        US
5      [        UR                  5       S
5      :X  a  M   e   GM     g )Nr	  r<   T)r  rc  r   r	  r;   r   r   r0  )r)   r   r	  r   r  r   r   bbox_inchesr  r  get_positionviewLimr  r	  )	r	  r/   r  
fig_aspectr$   r  
box_aspect
lim_aspectr#  s	            r%   test_shared_with_aspect_3r	  I  sd   (
<<a5A!
3A#*5AQFQF#AQFQF#
1v CFOO$55551v CFOO$5555__++coo.C.CC
B!AAGG+J**RZZ-=-==J!.;H1%r}})BBBB  )r'   c                      [         R                  " SSSSS9u  pUS   R                  S5        [        R                  " [
        SS9   U R                  5         S S S 5        g ! , (       d  f       g = f)	Nr;   r<   Tr  rc  r   r  zset_aspect\(..., adjustable=rr  )r)   r   r"  r   r   RuntimeErrorr	  )r/   ri  s     r%   test_shared_aspect_errorr	  ]  sP    Q$t<ICGLL	|+J	K""$ 
L	K	Ks   A!!
A/zerr, args, kwargs, matchr/  z@axis\(\) takes from 0 to 1 positional arguments but 2 were given)r  z4Unrecognized string 'foo' to axis; try 'on' or 'off'zThe first argument to axis*r  z1axis\(\) got an unexpected keyword argument 'foo'c                     [         R                  " XS9   [        R                  " U0 UD6  S S S 5        g ! , (       d  f       g = fNrr  )r   r   r)   r"  errr	  r  rs  s       r%   test_axis_errorsr 
  d  s-     
s	($!&! 
)	(	(	   5
Ac                  
   [         R                  " 5       n [        R                  " [        SS9   U R                  S5        S S S 5        [        R                  " [        SS9   U R                  S5        S S S 5        [        R                  " [        SS9   U R                  SSS9  S S S 5        [        R                  " [        SS9   U R                  S5        S S S 5        [        R                  " [        SS9   U R                  S	S
9  S S S 5        [        R                  " [        SS9   U R                  SSS	S9  S S S 5        [        R                  " [        SS9   U R                  SSS	S9  S S S 5        [        R                  " [        SS9   U R                  SS	S9  S S S 5        [        R                  " [        SS9   U R                  SS	S9  S S S 5        [        R                  " [        SS9   U R                  SS	S9  S S S 5        [        R                  " [        SS9   U R                  SS	S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNe= f! , (       d  f       GND= f! , (       d  f       GN$= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)Nzunknown value for which: 'foo'rr  r  z!Cannot supply both positional andr  r  zargument must be amongzscilimits must be a sequencer;   )	scilimitszSpecifying 'loc' is disallowedrS   )rC   r4   rA   )rC   r5   zCannot pass both 'left'r   )rS   rj   zCannot pass both 'right')rE   rk   zCannot pass both 'bottom')rR   r%	  zCannot pass both 'top')rA   r&	  )r)   rd  r   r   r  r(	  r'	  r   set_prop_cycle
set_anchorticklabel_formatr*   r+   r	  r
  r  s    r%   test_axis_method_errorsr
  v  s   	B	z)I	J
u% 
K	z)I	J
u% 
K	y(K	L
%u- 
M	z)A	B
e 
C	z)G	H
a( 
I	y(H	I
e1- 
J	y(H	I
e!, 
J	y(A	B
# 
C	y(B	C
!!$ 
D	y(C	D
11% 
E	y(@	A
" 
B	A) 
K	J	J	J	L	L	B	B	H	H	I	I	I	I	B	B	C	C	D	D	A	As   I"II%I7:J	+JJ-J?K5K#'K4
I
I"%
I47
J	
J
J*-
J<?
K
K #
K14
Lc                    [         R                  " 5       u  p[        USU  35      " 5       nUR                  S5        UR                  S5        [	        UR
                  R                  UR
                  R                  5        g )Nr  r   r<   )r)   r   r&  r	  r   bboxextents)r  r/   r$   rB  s       r%   test_twin_with_aspectr
    s]    llnGCbD-(*GMM!qrww||++-r'   c                  x   Sn SnSnSn[         R                  R                  5       nUR                  5       nUR	                  X5        UR                  5       U :X  d   eUR                  5       U:X  d   eUR	                  X#5      u  nUR                  5       U:X  d   eUR                  5       U:X  d   eUR                  S5        UR                  5       U:X  d   eUR                  5       U:X  d   eUR                  SS9  UR                  5         UR                  5       U :X  d   eUR                  5       U:X  d   eg )N)r  r6  )r  r]  )r  r5  FT)visible_only)
rY   r   r   r   r   r   r   r    relimr   )r6  r  rR  rS  r/   r$   r  s          r%   test_relim_visible_onlyr
    s   	B	B	B	B



"
"
$C		BGGBO;;=B;;=BGGBOED;;=B;;=BU;;=B;;=BHH$H;;=B;;=Br'   c                      [         R                  " 5       n U R                  5       nUR                  SS9  UR                  SS9  g)z
tests for issue #1172
large)r	  outr	  N)r)   r   rd  r	  r.   s     r%   test_text_labelsizer
    s6     **,C	BNNWN%NNUN#r'   zpie_default.pngr  c            
      n    Sn / SQn/ SQnSn[         R                  " SS9u  pEUR                  XXSSS	S
9  g )NFrogsHogsDogsLogsr   r   r  r   yellowgreengoldlightskyblue
lightcoralr   r   r   r   )r  r   rD  %1.1f%%Tr;  )exploderd  r  autopctshadow
startangler)   r   pie)rd  sizesr  r#
  rG  r  s         r%   test_pie_defaultr*
    sD     -FEBFGV,IDGGE6dr  ;r'   )pie_linewidth_0r+
  r+
  )r   r   r   c                     Sn / SQn/ SQnSn[         R                  " XXSSSSS	0S
9  [         R                  " S5        XX#S.n[         R                  " 5       nUR	                  5       nUR                  SSSSSSSSS	0US9	  UR                  S5        [         R                  " 5         [         R                  " SSSSSSSSS	0US9	  [         R                  " S5        g )Nr
  r
  r
  r!
  r"
  Tr;  r7  r   r#
  rd  r  r$
  r%
  r&
  
wedgepropsr  )lr  r?   exr  r0
  r/
  r?   )r#
  rd  r  r$
  r%
  r&
  r.
  r  )r)   r(
  r"  r   rd  )rd  r)
  r  r#
  r  r/   r$   s          r%   test_pie_linewidth_0r1
    s     -FEBFGGGE6dr#Q') HHW &@D
**,C	BFF3STb"A&T  3 GGG JJLGGCc#dr#Q'd4 HHWr'   zpie_center_radius.pngc                      Sn / SQn/ SQnSn[         R                  " XXSSSSS	0S
SS9
  [         R                  " SS
S[        SSS9[        SSS9S9  [         R                  " S5        g )Nr
  r
  r
  r!
  r"
  Tr;  r7  r   r/  r   )	r#
  rd  r  r$
  r%
  r&
  r.
  r\   r9	  zCenter point)r;   r  ->arc3)
arrowstyleconnectionstylesquare	lightgrey)boxstyler5  )r  r  r  r	
  r  )r)   r(
  r  r  r"  rd  r)
  r  r#
  s       r%   test_pie_center_radiusr;
    sv     -FEBFGGGE6dr#Q'sD LLF8 D179HDF
 HHWr'   zpie_linewidth_2.pngc                  ~    Sn / SQn/ SQnSn[         R                  " XXSSSSS	0S
9  [         R                  " S5        g )Nr
  r
  r
  r!
  r"
  Tr;  r7  r<   r-
  r  r)   r(
  r"  r:
  s       r%   test_pie_linewidth_2r>
    sE     -FEBFGGGE6dr#Q') HHWr'   zpie_ccw_true.pngc                  z    Sn / SQn/ SQnSn[         R                  " XXSSSSS9  [         R                  " S	5        g )
Nr
  r
  r
  r!
  r"
  Tr;  )r#
  rd  r  r$
  r%
  r&
  counterclockr  r=
  r:
  s       r%   test_pie_ccw_truerA
    s@     -FEBFGGGE6dr HHWr'   zpie_frame_grid.pngc                     Sn / SQn/ SQnSn[         R                  " XXSSSSS	0SS
S9
  [         R                  " US S S2   X0USSSSS	0SSS9
  [         R                  " XS S S2   XSSSSS	0SSS9
  [         R                  " S5        g )Nr
  r
  r
  r!
  r"
  Tr;  r7  r   r~  )	r#
  rd  r  r$
  r%
  r&
  r.
  framer\   r   )r   r<   )r   r   r  r=
  r:
  s       r%   test_pie_frame_gridrD
  "  s     -FEBFGGGE6dr#Q'v'
 GGE$B$Kdr#Q'v'
 GGE4R4=dr#Q'v'
 HHWr'   zpie_rotatelabels_true.pngc                  z    Sn / SQn/ SQnSn[         R                  " XXSSSSS9  [         R                  " S	5        g )
N)Hogwartsr
  r
  r
  r
  r
  r!
  r"
  Tr;  )r#
  rd  r  r$
  r%
  r&
  rotatelabelsr  r=
  r:
  s       r%   test_pie_rotatelabels_truerH
  =  s@     1FEBFGGGE6dr HHWr'   zpie_no_label.pngc                      Sn / SQn/ SQnSn[         R                  " XXSSSS SS9	  [         R                  " S	5        [         R                  " S
S5        [         R                  " 5         g )Nr
  r
  r
  r!
  r"
  Tr;  )r#
  rd  r  r$
  r%
  r&
  labeldistancerG
  r  g333333r9  )r)   r(
  r"  r   rK   r:
  s       r%   test_pie_nolabel_but_legendrK
  L  sW    ,FEBFGGGE6dr HHWHHT3JJLr'   zpie_shadow.pngc            
      4   / SQn / SQnSn[         R                  " SS5      u  p4US   S   R                  XUSSSS0S	9  US   S
   R                  XUSSSS0S	9  US
   S   R                  XUSSSSS.SSS0S	9  US
   S
   R                  XUSSSS.SSS0S	9  g )Nr
  r
  r!
  r<   r   Tr;  r7  )r#
  r  r%
  r&
  r.
  r;   Frz  rM  r1  )oxoyshader6  r  r   )rM
  r7  rO
  r'
  )r)
  r  r#
  r  ri  s        r%   test_pie_shadowrP
  Z  s     EBFGll1a GAGAJNN5&2*A.  0 	GAJNN5&B*A.  0 	GAJNN5&!&ecPVW k1-=  ? 	GAJNN5&!%AD k1-=  ?r'   c            	         / SQn / SQn[        SSSSSSS	9n[        R                  " 5       R                  XS
US9u  p4nXE4 H  nU H  nUR	                  5       US   :X  d   eUR                  5       US   :X  d   eUR                  5       US   :X  d   eUR                  5       US   :X  d   eUR                  5       US   :X  d   eUR                  5       US   :X  a  M   e   M     g )N)r_  "   r  )zLong name 1zLong name 2zLong name 3r\   rA   r;  anchorr  r9  )horizontalalignmentverticalalignmentrb  rotation_moder  r   %.2f)rd  r$
  	textpropsrT
  rU
  rb  rV
  r  r   )
r  r)   rd  r(
  get_haget_vaget_rotationget_rotation_modeget_sizer  )r  rd  rX
  r  textsr$
  txs          r%   test_pie_textpropsr`
  r  s    D:F', #+E	+I 	d609 & ;Ag"B99;),A"BBBB99;),?"@@@@??$	*(===='')Y-GGGG;;=If$5555<<>Yw%7777  #r'   c                      [         R                  " 5       u  p[        R                  " [        5         UR                  / SQ/ SQS9  S S S 5        g ! , (       d  f       g = f)N)r   r   r  )r   r   r   r#
  r)   r   r   r   r  r(
  r.   s     r%   test_pie_get_negative_valuesrd
    s7    llnGC	z	"
z;/ 
#	"	"   A
Ac                      [         R                  " 5       u  p[        R                  " [        5         UR                  / SQSS/S9  S S S 5        g ! , (       d  f       g = f)Nr  r   rb
  rc
  r.   s     r%   test_pie_invalid_exploderg
    s;    llnGC	z	"
y3*- 
#	"	"re
  c                      [         R                  " 5       u  p[        R                  " [        5         UR                  / SQSS/S9  S S S 5        g ! , (       d  f       g = f)Nr  OneTword  rc
  r.   s     r%   test_pie_invalid_labelsrl
    s;    llnGC	z	"
y%0 
#	"	"re
  c                      [         R                  " 5       u  p[        R                  " [        5         UR                  / SQSS9  S S S 5        g ! , (       d  f       g = f)Nr  r  )r9	  rc
  r.   s     r%   test_pie_invalid_radiusrn
    s7    llnGC	z	"
y$ 
#	"	"r0  c                  
   [         R                  " 5       u  p/ SQnUR                  USS9n[        US   S   R                  S-
  5      S:  d   eUR                  USS9n[        US   S   R                  S-
  5      S:  d   eg )	Nr   r   r   T)r4   	normalizer   r   g     v@r\  F)r)   r   r(
  rY  r  )r/   r$   r4   t1t2s        r%   test_normalize_kwarg_piert
    s    llnGCA	!t	$Br!uRy$&'$...	!u	%Br!uRy$&'$...r'   c                     / SQnSnU R                  5       R                  X#S9  UR                  5       R                  U5      u  pEU Vs/ s H  ofR                  U5      PM       ng s  snf )Nrp
  r
  r  )r   r(
  	set_hatch)r"   r#   r4   r>  wedgesr  ro  s          r%   test_pie_hatch_singlerx
    s]    AEA+  "&&q)IF!'(A[[((s   	A&c                     / SQn/ SQnU R                  5       R                  X#S9  UR                  5       R                  U5      u  pE[        XC5       VVs/ s H  u  pgUR                  U5      PM       nng s  snnf )Nrp
  )r<  r
  r   r  )r   r(
  r  rv
  )r"   r#   r4   r>  rw
  r  ro  hps           r%   test_pie_hatch_multir{
    sg    AEA+  "&&q)IF"%f"45"4Q[[_"455s   A6zset_get_ticklabels.pngg?c                  H   [         R                  " S5      u  pSS/nUS   R                  [        R                  " S5      5        US   R                  US   5        US   R                  [        R                  " S5      5        US   R                  US   5        US   R                  [        S5      5        US   R                  [        S5      5        US   R                  / SQSS	/-  -   5        US   R                  / S
QSS	/-  -   5        US   R                  US   R                  5       5        US   R                  US   R                  5       5        US   R                  US   R                  5       5        US   R                  US   R                  5       5        g )Nr<   ro   zset_x/yticklabelsr   r   r;   r   r%  r?   r  r   r   )11121314)r)   r   r   rl   rt   r7   
set_xticksr   
set_yticksset_xticklabelsset_yticklabelsr  
get_yticksr  get_yticklabels)r/   r$   rH   s      r%   test_set_get_ticklabelsr
    s^    ll1oGC
'	(BqEJJryy}qEOOBqEqEJJryy}qEOOBqE qEU2YqEU2YqE.bT9:qE2Q"X=> qERU%%'(qERU%%'(qE"Q%//12qE"Q%//12r'   c                      [         R                  " 5       u  p/ SQn[        R                  " [        SS9   UR
                  R                  USS9  SSS5        g! , (       d  f       g= f)zQ
When labels=None and any kwarg is passed, axis.set_ticks() raises a
ValueError.
r  z)Incorrect use of keyword argument 'alpha'rr  r   r  N)r)   r   r   r   r  r]   	set_ticks)r/   r$   tickss      r%   0test_set_ticks_kwargs_raise_error_without_labelsr
    sI    
 llnGCE	z)T	U
5, 
V	U	Us   A
A'c                 v   UR                  5       nUR                  / SQ5        UR                  / SQSS9  UR                  / SQ5        UR                  SS/SS	9  UR	                  S
S/SS	9  U R                  5       nUR                  / SQ/ SQSS9  UR                  / SQ5        UR                  SS/S
S/SS	9  g)z
Test that these two are identical::

    set_xticks(ticks); set_xticklabels(labels, **kwargs)
    set_xticks(ticks, labels, **kwargs)

)r;   r<   r0  r   r}
  bold)
fontweightr&  r<   r0  T)r   r  r  N)r   r
  r
  r
  r
  r!   s      r%   test_set_ticks_with_labelsr
    s     
			BMM,+?MM)MM1a&M%Sz.				BMM, 4MHMM)MM1a&3*DM1r'   c                  \   [         R                  " 5       R                  5       n [        R                  " [
        SS9   U R                  SS/S5        S S S 5        [        R                  " [        SS9   [         R                  " [        R                  " S5      R                  S5      5        S S S 5        [        R                  " [        SS9   [         R                  " [        R                  " S5      R                  S	5      5        S S S 5        [        R                  " [        SS9   [         R                  " [        R                  " S5      R                  S5      [        S5      S
9  S S S 5        [        R                  " [        SS9   [         R                  " [        R                  " S5      R                  S	5      [        S5      S
9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNC= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nzmust be a sequencerr  r<   rv  r  z
must be 1Dr0  rs  rr  rk
  )r)   r   r   r   r   r   r
  r  rc  rl   rt   r   r   r  s    r%   test_xticks_bad_argsr
    s8   		!	!	#B	y(<	=
q!fc" 
>	z	6

299Q<''01 
7	z	6

299Q<''01 
7	z	6

299Q<''0qB 
7	z	6

299Q<''0qB 
7	6 
>	=	6	6	6	6	6	6	6	6s=   G3:G):G;)AHAH
G&)
G8;
H	
H
H+c                     [         R                  " 5       u  pUR                  [        R                  " S5      5        UR
                  R                  [        R                  " S5      S-   5        UR                  SS9  UR
                  R                  S Vs/ s H  o"PM     sn5        [         R                  " 5         UR
                  R                  5        Vs/ s H  o3R                  5       PM     nnU/ SQ:X  d   eg s  snf s  snf )Nr   r   r   r  
bcdefghijk)r%  r  rd  r  rj  )r)   r   r   rl   rt   r]   r
  r  set_ticklabelsr  get_ticklabelsrP  )r/   r$   r?   r  rd  s        r%   test_subsampled_ticklabelsr
  	  s    llnGCGGBIIbMHHryy}s*+AHH51Q56HHJ$&HH$;$;$=>$=qjjl$=F>.... 6>s   D Dc                  X   [         R                  " 5       u  pUR                  [        R                  " S5      5        UR
                  R                  SS/5        [        R                  " [        5         UR
                  R                  / SQ5        S S S 5        g ! , (       d  f       g = f)Nr   r   rD  r  )r)   r   r   rl   rt   r]   r
  r   r   r  r
  r.   s     r%   test_mismatched_ticklabelsr
    sc    llnGCGGBIIbMHHSz"	z	"
0 
#	"	"s   4B
B)c                      [         R                  " 5       u  pUR                  SS/SS/5        UR                  SS/5        UR	                  / 5        g )Nr;   r<   )r)   r   r  r
  r
  r.   s     r%   test_empty_ticks_fixed_locr
    sC    llnGCFFAq6Aq6MM1a&rr'   zretain_tick_visibility.pngc                      [         R                  " 5       u  p[         R                  " / SQ/ SQ5        [         R                  " UR	                  5       SS9  UR                  SSSS9  g )	NrG  )r   r   r0  Fr	  r5   r   r   r"  r"  r	  )r)   r   r   setpr
  r	  r.   s     r%   test_retain_tick_visibilityr
  %  sF    llnGCHHY
#HHR!51NN6!N4r'   c                     [         R                  " 5       u  p[        R                  " [        SS9   UR                  SS/5        S S S 5        [         R                  " 5       u  pUR                  / SQ5        [        R                  " [        SS9   UR                  SS/5        S S S 5        g ! , (       d  f       Nn= f! , (       d  f       g = f)Nz:set_ticklabels\(\) should only be used with a fixed numberrr  r#  r  rF  z$The number of FixedLocator locations)	r)   r   r   r  rQ  r
  r
  r   r  r.   s     r%   test_warn_too_few_labelsr
  -  s    llnGC	N
P 	C<(
P
 llnGCMM+	zC
E
C<(
E 
E
P 
P
E 
Es   B-B>-
B;>
Cc                     [         R                  " 5       u  pS nUR                  R                  [         R                  " U5      5        UR                  / SQ5        UR                  SS5        U R                  R                  5         UR                  R                  5        Vs/ s H  o3R                  5       PM     nnU/ SQ:X  d   eg s  snf )Nc                     U S:X  a  S$ S$ )Nr;   
unit valuer   r   r   s     r%   formatter_func.test_tick_label_update.<locals>.formatter_funcB  s     Av|-2-r'   )r   r   r;   r<   r   r  rD  )r   r   r
  r   r   )r)   r   r]   r   r   r
  r	  r  r  r
  rP  )r/   r$   r
  r	  
tick_textss        r%   test_tick_label_updater
  <  s     llnGC.HH  !2!2>!BC MM"#KKcJJOO.0hh.E.E.GH.Gd--/.GJH7777 Is   %Czo_marker_path_snap.pngH   c                  d   [         R                  " 5       u  pUR                  S5        [        SS5       H.  nUR	                  SS/[
        R                  " S5      U-   SUS9  M0     [
        R                  " SSS5       H.  nUR	                  S	S
/[
        R                  " S5      U-   SUS9  M0     g )Nr   r;   r   r<   r   )r  r   rX  r   r0  )r)   r   rQ  r   r   rl   r   r  )r/   r$   r  s      r%   test_o_marker_path_snapr
  O  s    llnGCJJrNArl
A"''!*r/326  kk!R$
A"''!*r/326 %r'   c                     SS/n Sn[        U 5      S-
  n[        U 5      n[        U 5      n[        R                  " SS5      u  pVUR                  U 5        UR                  S5        UR                  5       S:X  d   eUR                  5       XU-
  S-  -
  X"U-
  S-  -   4:X  d   eUR                  5       X4U-
  S-  -
  XDU-
  S-  -   4:X  d   e[        R                  " SS5      u  pxUR                  U 5        UR                  SS5        UR                  5       S:X  d   eUR                  5       XU-
  S-  -
  X"U-
  S-  -   4:X  d   eUR                  5       X4U-
  S-  -
  XDU-
  S-  -   4:X  d   e[        R                  " SS5      u  pU
R                  U 5        U
R                  S	SS
9  U
R                  5       S:X  d   eU
R                  5       XU-
  S	-  -
  X"U-
  S	-  -   4:X  d   eU
R                  5       X4U-
  S-  -
  XDU-
  S-  -   4:X  d   eg )Nr;   r   r  r   r}  r   r<   )r   r<   皙ɿr   )r
  r   )	r  rs  r  r)   r   r   rQ  r   r   )r  rj   rk   r%	  r&	  rG  r  rH  r  r	  r  s              r%   test_marginsr
  Z  sK   r7DDt9s?Dt9Dt9DQ"IDHHTNKKN;;=F"""<<>dTkQ%66"TkQ%668 8 8 8<<>dTkQ%66"TkQ%668 8 8 8 Q"IDHHTNKKQ;;=H$$$<<>dTkS%88"TkS%88: : : :<<>dTkQ%66"TkQ%668 8 8 8 Q"IDHHTNKK$#K;;=K'''<<>dTkT%99"TkT%99; ; ; ;<<>dTkS%88"TkS%88: : : :r'   c                      [         R                  " 5       n U R                  5       nUR                  SS5        UR	                  5       S:X  d   eUR                  5       S:X  d   eg )Nr   r   )r)   r   r   rQ  get_xmarginget_ymarginr.   s     r%   test_margin_gettersr
  ~  sQ    
**,C		BJJsC>>s""">>s"""r'   c                      [         R                  R                  S5        [        R                  " 5       u  pUR                  SS/SS/5        UR                  SSS9  UR                  5       S:X  d   eg )Nr  r;   r<   r.  r   )r  xmarginr/  )r   r   r   r)   r   r   r   r   r.   s     r%   test_set_margin_updates_limitsr
    sY    IIMM)llnGCGGQFQFFF%F#;;=F"""r'   )r   z!margin must be greater than -0\.5rr  r   z@Cannot pass both positional and keyword arguments for x and/or yr  z&Must pass a single positional argumentc                     [         R                  " XS9   [        R                  " 5       nUR	                  5       nUR
                  " U0 UD6  S S S 5        g ! , (       d  f       g = fr	  )r   r   r)   r   r   rQ  )r	  r	  r  rs  r/   r$   s         r%   test_margins_errorsr
    sD     
s	(jjl__


D#F# 
)	(	(s   8A
A$c                  x    [         R                  " 5       u  pUR                  S5        UR                  S/5        g Nr;   )r)   r   r  r.   s     r%   test_length_one_histr
    s'    llnGCGGAJGGQCLr'   c                     [         R                  " 5       n U R                  5       nUR                  SS5        UR	                  5       S:X  d   eUR                  5       S:X  d   eUR                  SS9  UR	                  5       S:X  d   eUR                  5       S:X  d   eUR                  SS9  UR	                  5       S:X  d   eUR                  5       S:X  d   eUR                  SS5        UR                  5       S:X  d   eUR                  5       S:X  d   eUR                  SS9  UR                  5       S:X  d   eUR                  5       S:X  d   eUR                  SS9  UR                  5       S:X  d   eUR                  5       S:X  d   eg )	Nr   r  )r   r  r  )rp	  )r   r  )r   )r  r  )	r)   r   r   r%  
get_xboundr   r&  
get_yboundr   r.   s     r%   test_set_xy_boundr
    s]   
**,C		BMM#s==?j(((;;=J&&&MMM==?j(((;;=J&&&MMM==?j(((;;=J&&&MM#s==?j(((;;=J&&&MMM==?j(((;;=J&&&MMM==?j(((;;=J&&&r'   c                      S/S-  n [         R                  " SS5      u  pUR                  X 5        UR                  [        R
                  " 5       5        g )Nr   r   r;   )r)   r   r  r  r  r  )mylistr/   r$   s      r%   test_pathological_hexbinr
    s=    TCZFll1a GCIIfKK

r'   c                  \    [         R                  " 5       u  pUR                  SS/SS/S S9  g )Nr;   r<   rP  r  r.   s     r%   test_color_Noner
    s)    llnGCGGQFQF$G'r'   c                      [         R                  " 5       u  pUR                  SS/SS9S   nSUR                  5       :X  d   eg )Nr   r;   r  rQ  )r)   r   r   r  r/   r$   r  s      r%   test_color_aliasr
    s?    llnGC77Aq6V7$Q'DT^^%%%%r'   c                      [         R                  " 5       u  pUR                  [        S5      /S-  [        S5      S9  UR	                  5         g )Nr   r   r  )r)   r   r  r   rK   r.   s     r%   test_numerical_hist_labelr
    s6    llnGCGGU2YK!O58G,IIKr'   c                      [         R                  " 5       u  pSnSnUR                  S5      SUR                  S5      /nUR                  [	        S5      /S-  US9  UR                  5         g )Ns    很漂亮, römän chäráctèrss   שלוםzutf-8zhi aardvarkr   r   r  )r)   r   decoder  r   rK   )r/   r$   r   r%  rd  s        r%   test_unicode_hist_labelr
    sc    llnGC
@A+AhhwhhwF
 GGU2YK!O6G*IIKr'   c                     [         R                  R                  S5      S-  n [        R                  " 5       u  pUR	                  U 5        UR
                  R                  5         UR                  R                  R                  5       nUR                  R                  R                  5       S:X  d   eUR                  R                  5         UR
                  R                  5         UR                  R                  R                  5       nUS   US   :  a  US   US   :X  d   eUR                  R                  R                  5       S:X  d   e[        R                  " 5       u  pUR	                  U 5        UR
                  R                  5         UR                  R                  R                  5       nUR                  R                  R                  5       S:X  d   eUR                  R                  5         UR
                  R                  5         UR                  R                  R                  5       nUS   US   :X  a  US   US   :  d   eUR                  R                  R                  5       S:X  d   eg )	Nr   g^ 9^;rS   r   r;   rE   rA   rR   )rl   rm   r)   r   r   r  r  r_   
offsetTextr	  r^   
tick_rightr]   get_verticalalignmentr   )r  r/   r$   beforeafters        r%   test_move_offsetlabelr
    s   99B%'DllnGCGGDMJJOOXX  --/F88668FBBBHHJJOOHH,,.E8fQiE!Hq	$99988668GCCCllnGCGGDMJJOOXX  --/F88446%???HHJJOOHH,,.E8vay U1Xq	%99988446(BBBr'   zrc_spines.pngc                      SSSSS.n [         R                  " U 5         [        R                  " 5         S S S 5        g ! , (       d  f       g = f)NF)zaxes.spines.leftzaxes.spines.rightzaxes.spines.topzaxes.spines.bottom)rY   r   r)   r   )r  s    r%   test_rc_spinesr
    s<     "" #	%G
 
		w	' 
(	'	's	   =
Azrc_grid.pngc                     [         R                  " 5       n SSS.nSSS.nSSS.nXU/n[        US5       H7  u  pV[        R                  " U5         U R                  SSU5        S S S 5        M9     g ! , (       d  f       MK  = f)NTr   )rd  zaxes.grid.axisr4   r5   r;   r   )r)   r   r  rY   r   r   )r/   rc_dict0rc_dict1rc_dict2r  rC  r  s          r%   test_rc_gridr
    s    
**,C H
 H
 H X.I	1-
""7+OOAq!$ ,+ .++s   A11
B 	c                  P   SSSSS.n [         R                  " U S9   [         R                  " 5       nUR                  SSS5      nUR                  nUR
                  nUR                  S   (       a   eUR                  S   (       d   eUR                  S   (       a   eUR                  S   (       d   eUR                  S   (       d   eUR                  S   (       a   eUR                  S   (       d   eUR                  S   (       a   e S S S 5        g ! , (       d  f       g = f)NFT)r	  r	  
ytick.leftytick.rightr  r;   tick1Ontick2Onr)   r   r   r   r]   r_   _major_tick_kw_minor_tick_kwr  r/   r  xaxyaxs        r%   test_rc_tickr
  "  s    TE	3A	1	jjlooaA&iiii%%i000!!),,,%%i000!!),,,!!),,,%%i000!!),,,%%i0000 
		s   C1D
D%c            	      X   SSSSSSSSS.n [         R                  " U S9   [         R                  " 5       nUR                  SSS5      nUR                  nUR
                  nUR                  S   (       a   eUR                  S   (       d   eUR                  S   (       a   eUR                  S   (       d   eUR                  S   (       a   eUR                  S   (       d   eUR                  S   (       a   eUR                  S   (       d   e S S S 5        g ! , (       d  f       g = f)NTF)r	  r
  r	  r
  zxtick.minor.bottomzxtick.major.bottomzytick.major.leftzytick.minor.leftr
  r;   r
  r
  r
  r
  s        r%   test_rc_major_minor_tickr
  6  s   4T$E"		?A
 
1	jjlooaA&iiii%%i000!!),,,%%i000!!),,,%%i000!!),,,%%i000!!),,, 
		s   C1D
D)c                  *   [         R                  " S5      n [         R                  " / SQ5      n[        R                  " 5       u  p#UR                  XS5        UR                  S5        UR                  5       UR                  5       pT[         R                  " U5      [         R                  " U5      :X  d   eUR                  5       S:X  d   e[        UR                  SS9R                  S5        [        UR                  S	S9R                  S
5        g )Nr0  )r   r  r  r  mor7
  r;   T)originalg      ?r   rM  rM  F)g333333?r   g      ?rM  )rl   rt   rO  r)   r   r   r"  r   r   r  r	  r   r	  r

  )r4   r5   r/   r$   r   r   s         r%   test_square_plotr
  M  s    
		!A
!"AllnGCGGA$GGH$774=BGGDM)))==?a
&..0FH
'//1KMr'   c                  >   [         R                  " [        5         [        R                  " S 5        S S S 5        [         R                  " [        5         [        R                  " S S 5        S S S 5        [         R                  " [        5         [        R                  " [
        R                  " S5      [
        R                  " S5      5        S S S 5        [         R                  " [        5         [        R                  " [
        R                  " S5      R                  S5      [
        R                  " S5      R                  SS5      45        S S S 5        g ! , (       d  f       GN.= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)Nr~  r  r   rr  r   r;   )	r   r   r  r)   r   rl   r  rt   r   r   r'   r%   test_bad_plot_argsr
  \  s    	z	" 
#	z	"t 
#	z	"&!288F#34 
#	z	""))A,&&w/11E1Eb!1LMN 
#	" 
#	"	"	"	"	"	"	"s1   EE+A E=0A F
E(+
E:=
F
Fzxy, clsr   ))r   rj  )r<   r   )r;   r<   r0  r  r  rF  )r0  r   r  )r   r0  c                 x    [         R                  " 5       u  p4[        UR                  " / U QUP76 5      U:X  d   eg r  )r)   r   r@  r  )r  r  clsr/   r$   s        r%   test_pcolorfastr
  g  s5     llnGC(r(4()S000r'   c                  6   [         R                  " 5       u  p[        R                  " [        SS9   UR                  [        R                  " S5      [        R                  " S5      [        R                  " S5      5        S S S 5        g ! , (       d  f       g = f)Nz)the given X was 1D and the given Y was 2Drr  r   )r0  rj  r7	  )r)   r   r   r   r   r  rl   emptyr.   s     r%   test_pcolorfast_bad_dimsr
  z  s_    llnGC	I
L
bhhqk288F#3RXXf5EF
L 
L 
Ls   AB


Bc            	      b   [         R                  " 5       u  p[        R                  " [        SS9   UR                  [        R                  " S5      [        R                  " S5      [        R                  R                  SS5      5        SSS5        [        R                  " [        SS9   UR                  [        R                  " S	5      [        R                  " S5      [        R                  R                  SS5      5        SSS5        g! , (       d  f       N= f! , (       d  f       g= f)
aU  
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\)rr  r   rO  r   r  NzHLength of Y \(5\) must be one larger than the number of rows in C \(10\)r  )
r)   r   r   r   r  r  rl   rt   rm   r   r.   s     r%   ,test_pcolorfast_regular_xy_incompatible_sizer
    s     llnGC	 ?
@ 	biilBIIbM299>>"b3IJ
@
 
 <
= 	biimRYYq\299>>"b3IJ
= 
=
@ 
@

= 
=s   AD,AD 
D 
D.c                     [         R                  " SSSSS9u  pUS   R                  S5        US   R                  S5        UR                   H/  nUR                  5       S:X  d   eUR                  5       S:X  a  M/   e   US   R                  S5        US   R                  S5        UR                   H/  nUR                  5       S:X  d   eUR                  5       S:X  a  M/   e   g )Nr<   Tr	  r  r.  r}  rV  )r)   r   rW  r  r  
get_yscale
get_xscaler/   r  r$   s      r%   test_shared_scaler
    s    ||Aqd;HCIIhh}}%'''}}%'''  I"I"hh}}(***}}(*** r'   c                  $   [         R                  " [        5         [        R                  " SS9  S S S 5        [         R                  " [        5         [        R                  " SS9  S S S 5        g ! , (       d  f       NF= f! , (       d  f       g = f)NTr  rb  )r   r   r   r)   rk  r   r'   r%   test_shared_boolr
    sO    	y	!4  
"	y	!4  
"	! 
"	!	!	!s   A0B0
A>
Bc                  \    [         R                  " [        R                  " SS/5      5        g)z4Violin plot should handle point mass pdf gracefully.r   N)r)   rA  rl   rO  r   r'   r%   test_violin_point_massr     s    NN288QF#$r'   c            
         [        S[        R                  " S5      /5      [        S[        R                  " S5      /5      -   n [        SS/ SQ/ SQ/ SQ/[        R                  " S5      [        R                  " S5      S /5      n[        SU5      n[        S	U5      n[        S/ /5      [        S/ /5      -   [        S/ S /5      -  [        S	/ S /5      -  nX-  nX-  nX-  U-  n/ UQUQUQUQ$ )
Nr4   r   r5   r	  r;   )r;   r;   r;   r;   r;   )r<   r   rV  rW  )r
   rl   rt   r   )base_xy
err_cyclerxerr_cyyerr_cyr
  	xerr_only	yerr_onlyboth_errs           r%   generate_errorbar_inputsr	    s    S299Q<.)F3,EEG /!0!0!2 "
 " $ " #J VZ(GVZ(GS2$&rd"33FRJ'(*0"d*DEE!I!I 7*H6Y66X666r'   c                 r    [         R                  " 5       nUR                  " S0 U D6nUR                  5         g )Nr   )r)   rd  rR  rj  )r  r$   ebs      r%   test_errorbar_inputs_shotgunr    s'    	B		v	BIIKr'   dash_offsetc            	          [         R                  " 5       u  p[        R                  " SS5      n[        R                  " U5      n[        SSS5       H  nUR                  X$U-  US4SSS9  M     g )	Nr   r   r   r<   r   r   r   rE  )r  rL  r   )r)   r   rl   r  	ones_liker   r   )r/   r$   r4   r5   rj  s        r%   test_dash_offsetr    s[    llnGC
ArA
QA1c1
Q3Ax=Qc: r'   c                     [         R                  " 5       u  pUR                  SSS9  UR                  R	                  5       nUS   SU R
                  -  :X  d   eUR                  SSS9  UR                  R	                  5       nUS   S:X  d   eUR                  SS S9  UR                  R	                  5       nUS   [        R                  S   S-  U R
                  -  :X  d   eg )	Naardvarkr5  r	  rr  g?r  zaxes.titlepadrV  )r)   r   r7   titleOffsetTrans
get_matrixr-  rY   r   )r/   r$   r  s      r%   test_title_padr    s     llnGCLLL%
&&(AU8	CGG+,,,LLL$
&&(AU8r>>LLL&
&&(AU8
++O<sBSWWLMMMr'   c                  F   [         R                  " 5       u  pS[         R                  S'   UR                  S5        UR                  SSS9  UR                  SSS9  SUR	                  SS9:X  d   eSUR	                  SS9:X  d   eSUR	                  SS9:X  d   e[
        R                  " [        5         UR	                  SS9  S S S 5        [
        R                  " [        5         UR                  SSS9  S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)	Nr\   zaxes.titlelocationr  rS   rB   rE   r  fail)r)   r   r   r7   	get_titler   r   r  r.   s     r%   test_title_location_roundtripr    s    llnGC)1CLL%&LLLLVL$LLgL&R\\f\----bllwl////(3333	z	"
 
#	z	"
V' 
#	" 
#	"	"	"s   5D'D
D
D r  c                 >   [         R                  " SSU S9u  pUS   R                  SSS9  US   R                  SSS9  UR                  5         US   R                  R                  5       u  p4US   R                  R                  5       u  p5XEs=:X  a  S	:X  d   e   eg )
Nr<   r;   r  r   r  ir  r  r   )r)   r   r7   r	  r3   r	  )r  r/   r  r4   r  rS  s         r%   test_title_location_sharedr    s    ||Aq0HCFSc"FSc" FLL%%'EAFLL%%'EA?s???r'   z
loglog.pngc                      [         R                  " 5       u  p[        R                  " SS5      nUR	                  X"S-  SS9  UR                  SSS9  UR                  S	SS
S9  g )Nr;   rO  r   r   rN  rX  r<   )r	  r  r   r   )r	  r  r"  )r)   r   rl   rt   r  r	  )r/   r$   r4   s      r%   test_loglogr    sU    llnGC
		!RAIIaA!INN"AN&NN"AWN5r'   ztest_loglog_nonpos.pnggV-?)r  r   r   c                     [         R                  " SS5      u  p[        R                  " SS5      nUS-  nSUS'   SUS'   [	        [        / SQS	S
9UR                  5       H  u  u  pEnXT:X  a2  U(       a  UR                  X#S-  S	US9  M*  UR                  X#S-  S	S9  M?  UR                  X#S-  S	S9  U(       a  UR                  SUS9  U(       d  Mr  UR                  SUS9  M     g )Nr   r;   rO  g      rj  r  r0  )r  r  r   r<   )r  )rL  nonpositiverN  r.  )r!  )
r)   r   rl   rt   r  r   r  r  rW  r  )r/   r  r4   r5   mcymcxr$   s          r%   test_loglog_nonposr$    s     ||Aq!HC
		!RA	1AAaDAaDg&:1E!hh(
B:		!TaS	9		!Ta	(IIaA!I$e5se5(r'   c                     [         R                  " 5       u  pUR                  / SQ5        UR                  5       S   S:w  d   e[         R                  " 5       u  pUR	                  / SQ/ SQ5        UR                  5       S   S:X  d   e[         R                  " 5       u  pUR                  / SQ/ SQ5        UR                  5       S   S:X  d   e[         R                  " 5       u  pUR                  [        R                  " S5      5        UR                  5       S:X  d   eUR                  5       S:X  d   e[         R                  " 5       u  pUR                  [        R                  " S5      5        UR                  5       S:X  d   eUR                  5       S:X  d   e[         R                  " 5       u  pUR                  [        R                  " S5      5        UR                  5       S   S:X  d   e[         R                  " 5       u  pUR                  [        R                  " S5      5        UR                  5       S:X  d   eUR                  5       S:X  d   eg )NrF  r   )r;   r;   r;   r;   r  r`  r   )r  g      #@)r)   r   r   r
  r  r  r
  ri  rl   r  r  r  rt   r   r.   s     r%   test_axes_marginsr&  '  s   llnGCGGL==?1"""llnGCFF<&==?1"""llnGCGGL,'==?1"""llnGCIIbhhx !==?g%%%==?g%%%llnGCMM"((8$%==?g%%%==?g%%%llnGCGGBIIbM==?1"""llnGCIIbhhx !==?k)))==?k)))r'   )r  c                 0    S nS nXS.U R                      $ )Nc                     U R                  5       nUR                  5         U R                  SS5        U R                  R	                  5       " 5       nUS   S:  d   eg Nr   r   r   r  )r  rj  r	  r]   get_major_locatorr$   r  rO  s      r%   	_helper_x&shared_axis_remover.<locals>._helper_xK  I    hhj


ArHH&&(*urzzr'   c                     U R                  5       nUR                  5         U R                  SS5        U R                  R	                  5       " 5       nUS   S:  d   eg r)  )r  rj  r
  r_   r*  r+  s      r%   	_helper_y&shared_axis_remover.<locals>._helper_yR  r.  r'   r   )param)requestr,  r0  s      r%   shared_axis_removerr4  I  s      +GMM::r'   )rd  r   subplots_sharedrP  c                    U R                   S:X  a(  [        R                  " 5       nUR                  5       nX4$ U R                   S:X  a  [        R                  " 5       u  pX4$ U R                   S:X  a$  [        R                  " SSSSS9u  pUS   S   nX4$ U R                   S:X  a(  [        R                  " 5       nUR                  / S	Q5      nWW4$ )
Nrd  r   r5  r<   r  r	  r   rP  r   r   r  r  )r2  r)   r   rd  r   rP  )r3  r/   r$   r2	  s       r%   shared_axes_generatorr8  \  s     }}jjlWWY 7N 
*	$,,. 7N 
+	+ll1aeDAYq\ 7N 
*	$jjl\\*+7Nr'   c                     U u  p#U" U5        g r  r   )r8  r4  r/   r$   s       r%   test_remove_shared_axesr:  m  s    #GCr'   c                      [         R                  " SSSSS9u  pUS   S   nUS   S   R                  5       nUR                  5         UR	                  SS5        [        US   S   R                  5       U5        g )Nr<   r  r	  r   r;   r   )r)   r   r   rj  r	  r   )r/   r2	  r$   	orig_xlims       r%   test_remove_shared_axes_relimr=  s  sm    ,,q!E%@KC	1Bq	!%%'IIIKKK1vay|,,.	:r'   c                     [         R                  " SSS5      n [         R                  R                  U R                  U R                  45      n[
        R                  " SSSSS9u  nu  p4UR                  SS	5        UR                  SS	5        UR                  X U5        UR                  X U5        UR                  5       (       d  UR                  5       (       a   eUR                  5       (       d  UR                  5       (       a   eUR                  5       UR                  5       s=:X  a  S
:X  d   e   eUR                  5       UR                  5       s=:X  a  S
:X  d   e   eg )Nir;  r"  r<   r;   Tr	  r  )r?  r  )rl   rt   rm   random_sampler  r)   r   r	  r
  r  rW  rY  r   r   )r/
  r  r/   r  r  s        r%   test_shared_axes_autoscalerA  |  s   
		#r2A
		 01All1aTBOC#LLLLKKaKKa$$&&s/D/D/F/FFF$$&&s/D/D/F/FFF<<>S\\^<}<<<<<<<>S\\^<}<<<<<r'   c                  
   [         R                  " 5       u  pUR                  R                  5       R	                  SS9  UR                  SS5        UR                  S5        U R                  R                  5         [        UR                  R                  5       " 5       5      S:X  d   eUR                  SS5        U R                  R                  5         [        UR                  R                  5       " 5       5      S:  d   eg )Nr  r  r   r  r  r<   )r)   r   r_   r*  
set_paramsr	  r	  r  r  r  r
  r.   s     r%   test_adjust_numtick_aspectrD    s    llnGCHH ++&+9KK4MM'JJOOrxx))+-.!333KK4JJOOrxx))+-.222r'   c                      [         R                  " 5       R                  SS5      n U R                   H7  n/ UR	                  5       Q/ UR                  5       Qs=:X  a  / SQ:X  a  M4   e   e   g )Nr0  rF  )r)   r   r   r  r  r
  r	  s     r%   test_auto_numticksrF    sX    
**,

1
%Chh!!%7r}}%7F;FFFFF r'   c                     [         R                  " 5       u  pS[        R                  S'   UR	                  SS/SS/5        [
        R                  " UR                  5       5      [
        R                  " SSS	5      :H  R                  5       (       d   e[
        R                  " UR                  5       5      [
        R                  " S
SS5      :H  R                  5       (       d   eg )Nround_numbersaxes.autolimit_modeg#B;g     j@缉ؗҜ<r   irM  r0  r0  r   )r)   r   r   r   r  rl   log10r  rt   r  r
  r.   s     r%   test_auto_numticks_logrL    s     llnGC*9CLL&'IIuclUBK(HHR]]_%3A)>>CCEEEEHHR]]_%3A)>>CCEEEEr'   c                  V    [         R                  " 5       u  pUR                  / S5        g )N)r   r   )r)   r   rr  r.   s     r%   test_broken_barh_emptyrN    s    llnGCNN2x r'   c                     [         R                  " 5       u  p[        R                  " SSSSSS5      nUR                  U[        R                  " SS94/SS/5      nUR                  5       S   R                  S   [        R                  " U5      :X  d   eUR                  5       S   R                  S	   [        R                  " U5      S
-   :X  d   eg)z9Check that timedelta works as x, dx pair for this method.rm  rO  rv  r   r;   rn  r<   r  r<   r   gUUUUUU?N)	r)   r   r>  rr  r  r  verticesr@  rA  )r/   r$   d0pps       r%   test_broken_barh_timedeltarT    s    llnGC			4Q1a	0B	"h00q9:;aV	DB<<>!%%d+vr/BBBB<<>!%%d+vr/BV/KKKKr'   c                     U R                  SSS9n[        R                  " S5      n[        R                  R	                  SS5      n[
        R                  " 5       u  pEUR                  XU5        g )Nz
2000-01-01r   )r|  r  r  rv  )r  rl   rt   rm   r   r)   r   r  )r  timedepthr  r/   r$   s         r%   test_pandas_pcolormeshrX    sP    ==r=2DIIbME99>>"a DllnGCMM$t$r'   c                 `   [         R                  " SSSS9n[         R                  " [        [	        U5      5      5      nU R                  XS.5      n[        R                  " 5       nU[         R                  " UR                  5      S-  S:H     R                  5       nUR                  SS	US
9  g )Nz2005-02z2005-03r7  r  )r  r'  r<   r;   r  r'  rf  )rl   rt   r  r   r  r  r)   rd  rO  r  r\  r   )r  r  r'  r  r$   without_zero_indexs         r%   test_pandas_indexing_datesr[    s    IIi/BEVVE#e*%&F	8	9B	BBHHRXX.2a78==?GGGX$6G7r'   c                     U R                  [        R                  R                  SS9/ SQ/ SQS9n[        R
                  " 5       u  p#UR                  SSSS	US
9  g )N)r   r0  r  )r4   r5   xeyerT  )columnsr  r4   r5   r]  r^  r  )r  rl   rm   rr  r)   r   rR  r  s       r%   test_pandas_errorbar_indexingr`    sT    	bii''V'44+ 
 
-B llnGCKKSt$RK8r'   c                     U R                  / SQ/ SQS.5      n[        R                  " 5       u  p#UR                  UR                  US   5        g )Nr  )rj  r;   r<   )XXYYrc  )r  r)   r   r   r  r  s       r%   test_pandas_index_shaperd    s8    	Yi8	9BllnGCGGBHHbhr'   c                     U R                  / SQS9nUR                  SS  n[        R                  " 5       u  p4UR	                  U5        g )N)
r;   r<   r<   r   r   r0  r0  r0  r0  r   rf  r;   )r  ilocr)   r   r  )r  ser_1ser_2r/   r$   s        r%   test_pandas_indexing_histri    s:    II9I:EJJqrNEllnGCGGENr'   c                 *   U R                  [        S5      [        S5      S.5      n[        R                  " S5      u  p#UR	                  UR
                  US   S:H  S4   UR
                  US   S:H  S4   SS9  UR                  R                  5         g )Nr<   re  r;   r   r%  r\   rL  )r  r   r)   r   r  rC   r  r  r  s       r%   test_pandas_bar_align_centerrk    s    	E!H584	5Bll1oGCFF266"S'Q,#$66"S'Q,#$   JJOOr'   c                     [         R                  " 5       R                  n 0 U R                  SS9En0 U R                  SS9EnU R	                  U R
                  SS9nU R	                  U R                  SS9nX1:X  d   eXB:X  d   eU R                  SSSS	S
9  0 U R                  SS9En0 U R                  SS9EnU R	                  U5      nU R	                  U5      nX:w  d   eU R
                  U:X  d   eX&:w  d   eU R                  U:X  d   eg )Nr	  r!  r   T)reverser   r9  r
  r   )r	  r	  r	  r"  )r)   rk  r_   get_tick_params_translate_tick_paramsr
  r
  set_tick_params)	r"  initial_major_style_translatedinitial_minor_style_translatedtranslated_major_kwtranslated_minor_kwnew_major_style_translatednew_minor_style_translatednew_major_stylenew_minor_styles	            r%   test_axis_get_tick_paramsry    sV   ;;=D%L(<(<7(<(K%L"%L(<(<7(<(K%L"55T 6  55T 6  @@@@@@2%#(  8 "ID$8$8w$8$G!H!HD$8$8w$8$G!H112LMO112LMO)GGG/111)GGG/111r'   c                      [         R                  " 5       n U R                  R                  SSSS9  U R                  R                  S   R
                  S:X  d   eU R                  R                  S   R                  R                  5       S:X  d   eU R                  R                  S   R                  R                  5       S:X  d   eU R                  R                  S   R                  R                  5       S:X  d   eg )	Nr   r9  r
  )r	  r	  r	  r   r  rE  r5  )
r)   rk  r_   rp  r	  r	  	tick1liner  rO  r]
  )axis_1s    r%   .test_axis_set_tick_params_labelsize_labelcolorr}  	  s    [[]F
LL  2%+0 ! 2 <<""1%++s222<<""1%//99;sBBB<<""1%,,5574???<<""1%,,668EAAAr'   c                     [         R                  " 5       n U R                  SSSSS9  U R                  U R                  4 H  nUR
                  S   R                  R                  5       S:X  d   eUR
                  S   R                  R                  5       S:X  d   eUR
                  S   R                  R                  5       S:X  d   eUR
                  S   R                  R                  5       S:X  a  M   e   g )Nr%  r   r   r  )r	  r	  r	  r	  r   r  )r)   rk  r	  r]   r_   r	  r	  r  get_linewidthr  r/  )r$   r"  s     r%   test_axes_tick_params_gridlinesr    s    	BNNc!"+  -"(("q!**446#===q!**88:a???q!**446#===q!**88:dBBB	 #r'   c                  "   [         R                  " 5       n U R                  SSSS9  U R                  SSSS9  U R                  R                  S   R
                  R                  5       SL d   eU R                  R                  S   R                  R                  5       SL d   eU R                  R                  S   R
                  R                  5       SL d   eU R                  R                  S   R                  R                  5       SL d   eg )NFTr	  )	labelleft
labelrightr"  r   r   )	r)   rk  r	  r_   r	  rO  r  label2r	  r  s    r%    test_axes_tick_params_ylabelsider  "  s    	BNNUt   "NNUt   " 88q!((446%???88q!((446$>>>88q!((446%???88q!((446$>>>r'   c                  "   [         R                  " 5       n U R                  SSSS9  U R                  SSSS9  U R                  R                  S   R
                  R                  5       SL d   eU R                  R                  S   R                  R                  5       SL d   eU R                  R                  S   R
                  R                  5       SL d   eU R                  R                  S   R                  R                  5       SL d   eg )NTFr	  )labeltoplabelbottomr"  r   r   )	r)   rk  r	  r]   r	  rO  r  r  r	  r  s    r%    test_axes_tick_params_xlabelsider  0  s    	BNNDe   "NNDe   "
 88q!((446%???88q!((446$>>>88q!((446%???88q!((446$>>>r'   c                      [         R                  " 5       R                  5       n U R                  [	        S5      S S9u  nUR                  5       S:X  d   eg )Nr   rN  rL  )r)   r   r   r   r   r/  )r$   lns     r%   test_none_kwargsr  @  sE    				 B
''%)t'
,CB$$$r'   c                      / SQn [         R                  " [        R                  " U [        R                  S9/ SQSS9n[        UR                  U 5       H  u  p#UR                  S   U:X  a  M   e   g )NrF  r  )r<   r   r0  r   r;  rL  r   )r)   r  rl   rO  uint8r  r<  r  )r  r%  r  r4   s       r%   test_bar_uint8r  F  sU    	B288,l&IA!))R(
xx{a )r'   zdate_timezone_x.pngr   c                     [        S5       V s/ s H8  n [        R                  " SSSU [        R                  R	                  S5      S9PM:     nn [
        R                  " SS9  [
        R                  " SS	S	5        [        R                  " [        R                  5         [
        R                  " US/S-  SS
9  S S S 5        [
        R                  " SS	S5        [        R                  " [        R                  5         [
        R                  " US/S-  SS
9  S S S 5        g s  sn f ! , (       d  f       Ns= f! , (       d  f       g = f)Nr     r<   r  Canada/Easternr   tzinfor  r  rD  r;   )tzUTCr   r>  r6  r  gettzr)   r   rk  r   r  r   rl  rm  r4   
time_indexs     r%   test_date_timezone_xr  M  s    
 !8%#a ##D!Ra+3;;+<+<=M+NP#  %
 JJx KK1a	c66	7j1#'.>? 
8 KK1a	c66	7j1#'e4 
8	7% 
8	7
 
8	7s   ?D"D'>D8'
D58
Ezdate_timezone_y.pngc                     [        S5       V s/ s H8  n [        R                  " SSSU [        R                  R	                  S5      S9PM:     nn [
        R                  " SS9  [
        R                  " SS	S	5        [        R                  " [        R                  5         [
        R                  " S/S-  USS
SS9  S S S 5        [
        R                  " SS	S5        [        R                  " [        R                  5         [
        R                  " S/S-  USS
SS9  S S S 5        g s  sn f ! , (       d  f       Nu= f! , (       d  f       g = f)Nr   r  r<   r  r  r  r  rD  r;   FT)r  xdateydater  r  r  s     r%   test_date_timezone_yr  `  s    
 !8%#a ##D!Ra+3;;+<+<=M+NP#  %
 JJx KK1a	c66	7qcAgz.>eSWX 
8 KK1a	c66	7qcAgze5M 
8	7% 
8	7
 
8	7s   ?D&D+ D<+
D9<
E
zdate_timezone_x_and_y.pngc                  z   [         R                  R                  n [        S5       Vs/ s H  n[         R                   " SSSXS9PM     nn[        R
                  " SS9  [        R                  " SSS5        [        R                  " [        R                  5         [        R                  " X"S	S
S9  S S S 5        [        R                  " SSS5        [        R                  " [        R                  5         [        R                  " X"SS
S9  S S S 5        g s  snf ! , (       d  f       No= f! , (       d  f       g = f)Nr   r  r<   r  r  r  rD  r;   r  T)r  r  z
US/Eastern)r>  timezoneutcr   r)   r   rk  r   r  r   rl  rm  )r  r4   r  s      r%   test_date_timezone_x_and_yr  s  s     



C 8%#a ##D!RaD#  % JJx KK1a	c66	7jdC 
8 KK1a	c66	7jTJ 
8	7% 
8	7
 
8	7s   !DD6D,
D),
D:zaxisbelow.pngc                     [         R                  " 5       R                  SSSS9n Sn[        X5       H  u  p#UR	                  SSSSS9  [
        R                  " S	S
S9nUR                  U5        UR                  SSSS9  UR                  SSSSS9  UR                  S S  R                  S5        UR                  U5        UR                  5       U:X  a  M   e   g )Nr   T)r  r  rc  )Fr  Tr`  r   r  r  r  rO  rP  r?   rL  )r   r   r7  F)rA   rR   rS   rE   )r)   r   r   r  r   r  r;	  r  r  r	  r	  r    set_axisbelowget_axisbelow)r  settingsr$   settingcircs        r%   test_axisbelowr    s    
 **,

aT

BC$H3)
Rs3vS1
T
cSA6
5! 	 	0
		!  '
!!W,,, *r'   c                     [         R                  R                  S5        [         R                  " SS9u  pUR	                  5       nUR                  S5      nUR                  S5      nU R                  R                  5         U R                  R                  5       nUR                  U5      R                  nUR                  U5      R                  nXg-
  n[        R                  " US5      (       d   eg )Nr   r
  )r-  Xlabel2Titler   )r)   r   r   r   r  r*   r7   r  r  get_rendererget_window_extentrO  r  rl   isclose)	r/   r$   r  xlabel2r3   rendererbbox_y0_titlebbox_y1_xlabel2y_diffs	            r%   test_titletwinyr    s    IIMM'llr"GC
((*CnnY'GLL!EJJOOzz&&(H++H588M//9<<O,F::fa    r'   c                     [         R                  " 5       u  pU R                  SS9  UR                  5       nUR	                  S5        UR	                  S5        UR                  S5        SnUR                  R                  U5        U R                  R                  5       nUR                  U5        UR                  R                  5       U:X  d   eg )Nr  )rA   Xlabelr  r  )r   g(\?)r)   r   r  r  r*   r7   r3   r	  r  r  _update_title_positionr	  )r/   r$   r  r   r  s        r%   test_titlesetposr    s    llnGCC 
((*CMM(NN9LL
CHH#zz&&(Hh'88  "c)))r'   c                  *   S [         R                  S'   [        R                  " 5       u  pUR                  R                  S5        UR                  S5        U R                  R                  5         UR                  R                  5       S   S:  d   eg )Naxes.titleyrA   
xlabel topr;   p=
ף?)r   r   r)   r   r]   r   r7   r  r  r3   r	  r.   s     r%   test_title_xticks_topr    si    "&CLLllnGCHH&LLJJOO88  "1%,,,r'   c                     S [         R                  S'   [        R                  " 5       u  pUR	                  SSSSSS9  UR                  S5        U R                  R                  5         UR                  R                  5       S   S:  d   eg )Nr  r4   Tr"  rR   rA   r  r  r  r;   r  )
r   r   r)   r   r	  r7   r  r  r3   r	  r.   s     r%   test_title_xticks_top_bothr    st    "&CLLllnGCNNDdT  KLLJJOO88  "1%,,,r'   zleft, center))rS   r   )r   r\   )rS   r\   )zleft title movedzcenter title keptzboth titles alignedc                 6   S [         R                  S'   [        R                  " 5       u  p#UR	                  S5        UR                  U SS9  UR                  U5        UR                  5         U (       a+  U(       d$  UR                  R                  5       S   S:  d   eg U (       d+  U(       a$  UR                  R                  5       S   S:X  d   eg UR                  R                  5       S   nUR                  R                  5       S   nUS:  d   eXT:X  d   eg )Nr  g   vH7BrS   rB   r;   r   )
r   r   r)   r   r
  r7   r	  _left_titler	  r3   )rS   r\   r/   r$   yleftr  s         r%   test_title_above_offsetr    s     #'CLLllnGCKKLL6L"LL F~~**,Q/#555fxx$$&q)S000++-a0(('')!,s{{r'   c                  (   S [         R                  S'   [        R                  " 5       n U R	                  / SQ5      nUR                  SSSSSS9  UR                  S5      nU R                  R                  5         UR                  5       S   S:X  d   eg )	Nr  )r   r  r  r   r4   Tr  Boor;   r   )
r   r   r)   r   rP  r	  r7   r  r  r	  )r/   r$   tts      r%   test_title_no_move_off_pager    s     #'CLL
**,C	+	,BNNDdT  K	e	BJJOO??Q3&&&r'   c                  l   S [         R                  S'   [        R                  " 5       u  pUR	                  S5        U R                  5         UR                  R                  5       S   S:X  d   eUR                  / SQ5        U R                  5         UR                  R                  5       S   S:X  d   eg )Nr  r  r;   )r   r;   r;   r   rl  )	r   r   r)   r   r7   r	  r3   r	  
inset_axesr.   s     r%   test_title_inset_axr    s    "&CLLllnGCLL 88  "1%***MM.! 88  "1%,,,r'   c                      [         R                  " 5       u  pUR                  / SQ5        UR                  R	                  SS9  UR                  R                  5       R                  5       S:X  d   eg )Ng   @Ag   eAg   FAr9  )r	  )r)   r   r   r_   rp  get_offset_textr  r.   s     r%   test_offset_label_colorr    sU    llnGCGG$%HH.88##%//1U:::r'   c                  z   [         R                  " 5       u  pUR                  / SQ5        UR                  R	                  SSS9  UR                  R                  5       R                  5       (       d   eUR                  R	                  SS9  UR                  R                  5       R                  5       (       a   eg )Nr  FT)label1Onlabel2On)r  )r)   r   r   r_   rp  r  r  r.   s     r%   test_offset_text_visibler    s    llnGCGG$%HHed;88##%113333HHe,xx'')5577777r'   c                      [         R                  " 5       u  pUR                  S[        R                  " SS/5      -   S-  5        U R
                  R                  5         g )Nr;   r   g-q=gqىE)r)   r   r   rl   rO  r  r  r.   s     r%   test_large_offsetr    s@    llnGCGGQ1f+&&%/0JJOOr'   c            
      P   [         R                  " 5       u  p[        SSS5       Vs/ s H  n[        R                  " SSSSU5      PM     nn[        R
                  " SS[        U5      5      n[        R
                  " SS	[        U5      5      =pVUR                  X4XV5        g s  snf 
Nr   r.  r   r  rj  r   rM  r   r[  )r)   r   r   r>  rl   r  r  barbsr/   r$   rC  r  r5   ur  s          r%   test_barb_unitsr    s    llnGC<A!R<LM<LqXtQB2<LEM
Aq#e*%AKK2s5z**AHHUq N   $B#c            
      P   [         R                  " 5       u  p[        SSS5       Vs/ s H  n[        R                  " SSSSU5      PM     nn[        R
                  " SS[        U5      5      n[        R
                  " SS	[        U5      5      =pVUR                  X4XV5        g s  snf r  )r)   r   r   r>  rl   r  r  quiverr  s          r%   test_quiver_unitsr  #  s    llnGC<A!R<LM<LqXtQB2<LEM
Aq#e*%AKK2s5z**AIIe Nr  c                  h   [         R                  n [        R                  " 5       u  p[	        S5       H|  nUR                  [	        S5      5      u  nUR                  [	        S5      [	        S5      5      nU H3  nU " UR                  5       5      U " UR                  5       5      :X  a  M3   e   M~     g )Nr   r   )	r  to_rgbr)   r   r   r   r  r  rb  )r  r/   r$   rj  r  brsbrs          r%   test_bar_color_cycler  +  s    ^^FllnGC1XggeAhffU1XuQx(B",,.)VB4D4D4F-GGGG  r'   c                     [         R                  " SS5      u  n u  pUR                  SS/SS/5        UR                  SS/SS/5        UR                  R	                  SSS9  UR
                  R	                  SSS9  UR                  SS9 H  nUR                  5       S:X  a  M   e   UR                  SS9 H  nUR                  5       S:X  a  M   e   UR                  S	S
S9  UR                  SSS9  UR                  SS9 H  nUR                  5       S
:X  a  M   e   UR                  SS9 H  nUR                  5       S:X  a  M   e   g )Nr;   r<   r   r   r  )r"  rb  r;  r!  r4   5   )r"  r	  r5   r   )r"  rb  r	  )
r)   r   r   r]   rp  r_   r  r[
  r
  r	  )r  r$   r  texts       r%   test_tick_param_label_rotationr  5  sP   \\!Q'NC"GGQFQFHHaVaVHH6B7HH6B7"""0  "b((( 1"""0  "b((( 1 OOBO/OOrO*##'#2  "b((( 3##'#2  "b((( 3r'   c                     [         R                  " 5       u  p[        S5       Hv  nUR                  [        S5      [        S5      5      n[        R
                  " SU 35      n[        UR                  5       R                  5       5      [        U5      :X  a  Mv   e   [        SS5       Hv  nUR                  [        S5      [        S5      5      n[        R
                  " SU 35      n[        UR                  5       R                  5       5      [        U5      :X  a  Mv   e   [        R
                  " S5      nS Ha  nUR                  " [        S5      [        S5      40 US0D6n[        UR                  5       R                  5       5      [        U5      :X  a  Ma   e   [        R
                  " S5      n[        SS/SS9 H  u  p'UR                  " [        S5      [        S5      40 US0D6n[        R
                  " SU 35      n[        UR                  5       R                  5       5      [        U5      :X  d   e[        UR                  5       R                  5       5      [        U5      :X  a  M   e   g )	Nr   r  r   rE  )r5  r  r   r6  rn  )rw  )r)   r   r   r  r  r  r0  r  squeezer5  r  r  )	r/   r$   rj  cctargetaledge_targetelface_targets	            r%   test_fillbetween_cycler  H  s   llnGC1X__U1XuQx01QC)R&&(0023uV}DDD 
 1a[eAha11QC)R&&(0023uV}DDD 
 __S!F2__U1XuQx=B9=R&&(0023uV}DDD 3 //#&KK6a@__U1XuQx=B9=oo!g.R&&(0023u[7IIIIR&&(0023u[7IIII	 Ar'   c                     S[         R                  S'   [         R                  " 5       u  pSnUR                  U5        UR	                  SS/SS/5        UR                  5       u  p4UR                  R                  5       nUR                  X4/5      u  pgUR                  SS/5      u  pX-
  U-  n
[        Xj-   Xz-
  /X/5        g )Nr  rI  r  r   r   )
r)   r   r   set_xmarginr  r   r]   r  r4  r   )r/   r$   marginxlim0xlim1r4  xlim0txlim1tx0tx1tr$  s              r%   test_log_marginsr  d  s    *0CLL&'llnGCFNN6KKS	B9%;;=LE&&(I((%8NF""B9-HCY& EV^V^4sjAr'   c                     Sn [         R                  " U 5      [         R                  " U 5      p![         R                  " U S-   5      n[        R                  " 5       u  pE[        R
                  " [        5         UR                  XUS9  S S S 5        [        R                  " SS9   UR                  XSS9  S S S 5        UR                  XS/U -  S9  g ! , (       d  f       NP= f! , (       d  f       N4= f)Nr   r;   rQ  r  rr  rq  )	rl   rt   r)   r   r   r   r  r=   r  )r  r4   r5   r  r/   r$   s         r%   test_color_length_mismatchr   r  s    	A99Q<1qYYqs^FllnGC	z	"


16
" 
#	F	G


1?
+ 
HJJq(1,J-	 
#	"	G	Gs   8C%C$
C!$
C2c                  Z    [         R                  " S/SS9  [         R                  " 5         g )Nr   Labelr  )r)   r  rK   r   r'   r%   test_eventplot_legendr  ~  s    MM3%w'JJLr'   r  zlineoffsets cannot be emptyr  zlinelengths cannot be emptyr#  zlinewidths cannot be emptyrv  zlinestyles cannot be emptyr  zalpha 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 sequencesc                     [         R                  " XS9   [        R                  " U0 UD6  S S S 5        g ! , (       d  f       g = fr	  )r   r   r)   r  r	  s       r%   test_eventplot_errorsr    s-    * 
s	(t&v& 
)	(	(r
  c                  (   [         R                  " 5       u  pUR                  [        S5      S5        UR	                  SS[        S5      SS9  UR                  SS/SS/SS9u  p#UR                  5       UR                  5       s=:X  a  S:X  d   e   eg )Nr0  r;   r   )rS   r  )r   r   r   rF  r  )r)   r   r  r   r  rc  )r/   r$   rect1rect2s       r%   test_bar_broadcast_argsr	    s    llnGCFF58QGGAquQxG*661a&1a&4D6ELE E$7$7$9M=MMMMMMr'   c                     [         R                  " SS/SS/5        [        R                  " [        5         [         R
                  " [        R                  5        S S S 5        [        R                  " [        5         [         R
                  " [        R                  5        S S S 5        [        R                  " [        5         [         R                  " [        R                  5        S S S 5        [        R                  " [        5         [         R                  " [        R                  5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nx= f! , (       d  f       g = fr  )
r)   r   r   r   r  r   rl   r  r  r   r   r'   r%   test_invalid_axis_limitsr    s    HHaVaV	z	" 
#	z	" 
#	z	" 
#	z	" 
#	" 
#	"	"	"	"	"	"	"s/   %D9=%E
%E%E,9
E

E
E),
E:r  rU  r.  r  c                     [         R                  " 5       nUR                  / SQ5        UR                  U 5        UR	                  U5        UR                  5         g )Nr  )r)   rk  r   rW  r  r  )r  r  r$   s      r%   test_minorticks_onr    s?     
BGGLMM&MM&r'   c                     [         R                  " 5       u  pUR                  SS5        UR                  5       nUR	                  SS/SS/5        [         R                  " 5       u  p4UR                  SS5        UR	                  SS/SS/5        [        UR                  R                  UR                  R                  5        g )Nr;   r<   r   r   )r)   r   r  r  r   r   r	  	intervalx)r/   r$   xtwinrH  r  s        r%   test_twinx_knows_limitsr    s    llnGCJJq!HHJE	JJ3x!Q IDKK1HHaX1vu}}..0E0EFr'   c                  :    [         R                  " SS/SS/SSS9  g )Nr   r;   rM  )r  rL  )r)   r   r   r'   r%   test_zero_linewidthr    s    HHaVaV+r'   c                      [         R                  " 5       u  pUR                  / / / SS9  UR                  / / / SS9  UR                  5         g )Nzempty y)rV  r2   zempty x)rW  r2   )r)   r   rR  rK   r.   s     r%   test_empty_errorbar_legendr    s@    llnGCKKBRyK1KKBRyK1IIKr'   c                    [         R                  " SSS5      nU Vs/ s H  nSUS-  -  SUS-  -  -
  SU-  -   S	-   PM     nnU Vs/ s H  n[        U5      PM     nnU Vs/ s H  n[        U5      PM     nnU R                  5       R	                  X65        UR                  5       R	                  X$5        g s  snf s  snf s  snf )
Nr  r   r   g@r   r  r<   g\(\@rl  )rl   rt   r   r   r   )r"   r#   rN  r4   rO  rC  r5   s          r%   test_plot_decimalr    s    	3C	 B@B	C1#Q,qAv
%q
03
6B	C RRA  RRA Q"B# 
D  s   $B8B="Cc                     U R                  5       R                  SSSSS9  UR                  5       R                  SSSSS9  g )Nr   r   r1  r   )r  r  ro  )r   r   )r"   r#   s     r%   test_markerfacecolor_none_alphar    sB    Qr:As26r'   c                     S[         R                  S'   S[         R                  S'   [         R                  " 5       u  pUR                  U R                  R                  5       5      nUR                  S5        UR                  U R                  R                  5       5      nUR                  UR                  :  d   eUR                  UR                  :  d   eg)z5Test that tick padding gets turned off if axis is offr
  r	  zytick.directionoffN)	r)   r   r   get_tightbboxr  r  r"  rN  rO  r/   r$   bbbb2s       r%   test_tick_padding_tightbboxr     s    &+CLL"#&+CLL"#llnGC			#**113	4BGGEN


3::224
5C55366>>55366>>r'   c                  0   Su  p[         R                  [        SSU-   U5      [        SSU -   U 5      4   u  p#[         R                  " U5      S-  [         R                  " SX#-  -   5      [         R                  " U5      -  -   n[
        R                  " 5       u  pVUR                  X2USS2SS24   5        UR                  S5        UR                  5         SS	/nS
S/nUS   US   US   US   -
  US   US   -
  /n	UR                  U	S9n
U
R                  b   eUR                  R                  5         [         R                  " SS/S	S//5      n[         R                  " U
R                   R#                  5       R%                  5       U:H  5      (       d   eg)z2
Ensure that inset_ax argument is indeed optional
r  r  r;   r   r   Nr   r   r   333333@r<   rD  r   )boundsr   )rl   mgridr  r  rg  r)   r   r  r	  apply_aspectindicate_inset
connectorsr  r  rO  r  	rectangleget_bbox
get_points)dxdyr5   r4   r  r/   r$   r   r   rf  insetxxs               r%   
test_insetr0    sy    FB88E!QVR(!QVR() *DA
q	R"&&ae,rvvay88AllnGCMM!#2#ss($MM"OO ;Ds8DGT!Wd1gQ/a471BCDT*E###JJOO	C9#;  
!B66%//**,779R?@@@@r'   c                     Su  p[         R                  [        SSU-   U5      [        SSU -   U 5      4   u  p#[         R                  " U5      S-  [         R                  " SX#-  -   5      [         R                  " U5      -  -   n[
        R                  " 5       u  pVUR                  X2US S2S S24   5        UR                  S5        UR                  5         UR                  / SQ5      nUR                  X2US S2S S24   5        UR                  SS	/5        UR                  S
S/5        UR                  UR                  5       5        [        R                  " [         R"                  5         UR%                  U5      u  pS S S 5        UR&                  R)                  5         [+        W	5      S:X  d   e[         R,                  " SS/S	S//5      n
[         R.                  " WR1                  5       R3                  5       U
:H  5      (       d   e[         R,                  " SS/SS//5      n
[         R4                  R7                  UR9                  5       R3                  5       U
SS9  g ! , (       d  f       N= f)Nr"  r;   r   r   r   r   )r  r  r  r  r   r#  r<   rD  r0  r   g=
ףp=?gKXc'?g(\?g?g-C6?rtol)rl   r%  r  r  rg  r)   r   r  r	  r&  r  r	  r
  r	  r   r  r   rl  indicate_inset_zoomr  r  r  rO  r  r*  r+  r   r   r	  )r,  r-  r5   r4   r  r/   r$   axin1recr(  r/  s              r%   test_zoom_insetr7    s   FB88E!QVR(!QVR() *DA
q	2rACx(266!944AllnGCMM!#2#ss($MM"OO MM01E	Q1SbS#2#X;'	NNC;	NNAs8	R]]_%	c66	7007 
8JJOOz?a	C":#;  
!B66#,,.++-34444	FH%H%' 
(BJJ'')2D  : 
8	7s   .I%%
I3zinset_polar.pngc                  $   [         R                  " 5       u  pUR                  / SQSS9n[        U[        5      (       d   e[
        R                  " SSS5      nS[
        R                  -  U-  nUR                  XC5        UR                  XC5        g )N)r   r   r  r  Tr,  r   r<   r  )	r)   r   r  r   r   rl   rt   r  r   )r  r$   axinsrO  r  s        r%   test_inset_polarr:  7  sp    LLNEAMM0M=EeY''''
		!QAIMEGGE	JJur'   c                      [         R                  " 5       u  pUR                  / SQSS9n[        U[        5      (       d   eg )Nr   r   r   r   hammerr  )r)   r   r  r   r   r  r$   r9  s      r%   test_inset_projectionr?  D  s5    LLNEAMM.8MDEeZ((((r'   c                      [         R                  " 5       u  pUR                  / SQ[        R                  S9n[        U[        R                  5      (       d   eg )Nr<  )r  )r)   r   r  AAr   r   r>  s      r%   test_inset_subclassrB  J  s=    LLNEAMM.277MCEeRWW%%%%r'   
x_inverted
y_invertedc                    [         R                  " SS5      u  nu  p4[        R                  " S5      nUR	                  XUS5        U (       a  UR                  5         U(       a  UR                  5         UR                  / SQU5      nUR                  u  pxpU (       a  SOSnU(       a  SOSnXR                  S   UR                  S   -
  -  S:  d   eXR                  S   UR                  S   -
  -  S:  d   eXR                  S   UR                  S   -
  -  S:  d   eXR                  S   U	R                  S   -
  -  S:  d   eg)	zJ
Test that the inset lines are correctly located with inverted data axes.
r;   r<   r   r   )r<   r<   r   r0  r   r   N)
r)   r   rl   rt   r   r  r  r'  r(  r  )rC  rD  r/   r  r  r4   r.  
lower_left
upper_leftlower_rightupper_rightsign_xsign_ys                r%   test_indicate_inset_invertedrL  P  s'    ll1a(OC#
		"AHHQ3|S1E7<7G7G4JKR1FR1F__Q'*..*;;<q@@@__Q'*..*;;<q@@@^^A&)::;a???__Q'+//!*<<=AAAr'   c                  H   [         R                  " 5       u  pUR                  S5        UR                  / SQSS9  [        R
                  " UR                  5       R                  S5      (       d   eUR                  S5        UR                  / SQSS9  [        R
                  " UR                  5       R                  S5      (       d   eUR                  S5        UR                  / SQS	S9  [        R
                  " UR                  5       R                  S5      (       d   eg )
Nr  )r   r   rF  rF  r   r!  r   r   r
  r  active)r)   r   r	  r	  rl   r<  r	  r  r.   s     r%   test_set_positionrO  j  s    llnGCMM"OO(O7;;r(..4444MM"OO(
O;;;r(..5555MM"OO(O9;;r(..4444r'   c                     [         R                  " 5       u  pUR                  R                  R	                  U R
                  R                  5       5      nUR                  SSS SS5        UR                  R                  R	                  U R
                  R                  5       5      n[        R                  R                  UR                  5       UR                  5       SS9  g )N)r]  r]  r  r  r	  Fgư>r2  )r)   r   r	  rR   r  r  r  _set_view_from_bboxrl   r   r   r+  r  s       r%   !test_spines_properbbox_after_zoomrR  w  s    llnGC				+	+CJJ,C,C,E	FB//
))


,
,SZZ-D-D-F
GCJJr}}0@tLr'   c                  `   [         R                  " 5       u  pSnSnUR                  U5        UR                  US   US   S9  UR	                  S5        [
        R                  R                  X!R                  5       SS9  [
        R                  R                  X1R                  5       SS9  UR	                  S	5        S
nSnUR                  5       nUR                  5       n[
        R                  R                  US   US   -
  S5        [
        R                  R                  US   US   -
  S5        [
        R                  R                  XFSS9  [
        R                  R                  XW5        UR	                  S5        UR                  5       nUR                  5       n[
        R                  R                  US   US   -
  S5        [
        R                  R                  US   US   -
  S5        [
        R                  R                  X&SS9  [
        R                  R                  X7SS9  g )Nr  r   )r   r<   r   r;   r	  )r  r  r   rJ  atol)r  r  r   )gB!Bؿg{?)g      ڿg     ?r   r   )r  r  r   r   )
r)   r   r	  r
  rQ  rl   r   r   r   r   )r/   r$   r   r   r  new_ylimres_xlimres_ylims           r%   test_limits_after_scroll_zoomrZ    s   llnGCDDKKKKT!W47K+ >*JJt[[]?JJt[[]? >*9H"H{{}H{{}HJJx{Xa[8#>JJx{Xa[8#>JJx>JJx2 ?+{{}H{{}HJJx{Xa[8!<JJx{Xa[8!<JJtE:JJtE:r'   c                  0   [         R                  " 5       u  p[        U 5        UR                  [        R
                  SS5        U R                  R                  5       n[        R                  R                  UR                  U5      R                  S5        g )Nr;   r  i  )r)   r   r   r  rl   r  r  r  r   r   r  r  )r/   r$   r  s      r%   test_gettightbbox_ignore_nanr\    sb    llnGCC GGBFFAuzz&&(HJJr//9??Er'   c                    [        SS5      nU R                  [        R                  R	                  SS9US9nU R                  [        R                  R	                  SS9US9nU R                  / SQUS9n[
        R                  " X#U5        g )Nr   rM  r  r  r  )r;   r;   r;   r;   r;   r   r   r   )r   r  rl   rm   rr  r)   r=   )r  r,  r4   r5   r?   s        r%   "test_scatter_series_non_zero_indexr^    sv    
B-C
		"))###+3	7A
		"))###+3	7A
		*#	6AKKar'   c                  `    [         R                  " / / 5        [         R                  " / / / / S9  g )N)r  r?   )r)   r=   r   r'   r%   test_scatter_empty_datar`    s"    KKBKKB"#r'   zannotate_across_transforms.png)r   r  r   c                      [         R                  " SSS5      n [         R                  " U * 5      [         R                  " U 5      -  n[        R
                  " SS9u  p#UR                  X5        UR                  / SQ5      nUR                  S5        UR                  R                  S5        UR                  R                  S5        UR                  S	U S
   US
   4UR                  SUR                  [        SS9S9  g )Nr   r   r  )gQ@r   rD  )rF  r   r   r   r   Fr   rk  ro  r3
  )r5
  )r  r  r  r  r  )rl   r  ri  r  r)   r   r   r  r	  r]   r    r_   r  	transDatar@  r  )r4   r5   r/   r$   r9  s        r%   test_annotate_across_transformsrc    s     	Ar3A
r
RVVAYAll9-GCGGAMMM./E	S	KKE"	KKE"KK##'",,%//40  2r'   c                   .    \ rS rSrSrSrS rS rS rSr	g)_Translationi  r;   c                     Xl         g r  r,  )ry  r,  s     r%   r9  _Translation.__init__  s    r'   c                     XR                   -   $ r  rg  )ry  r'  s     r%   r4  _Translation.transform  s    r'   c                 .    [        U R                  * 5      $ r  )re  r,  r  s    r%   r  _Translation.inverted  s    TWWH%%r'   rg  N)
r|  r}  r~  r  
input_dimsoutput_dimsr9  r4  r  r  r   r'   r%   re  re    s    JK &r'   re  zsecondary_xy.pnggS㥛?c                     [         R                  " SSSSS9u  pS n[        U5       H  u  p4UR                  [        R
                  " SS5      [        R
                  " SS5      5        US:X  a  UR                  nOUR                  nU" S	X"4S
9  U" SS S 4S
9  U" SS S 4S
9  U" S5        U" US:X  a  SOS[        S5      S
9  U" SUR                  S9  M     g )Nr;   r<   r  T)r  r`  c                 j    [         R                  " SS9   SU -  sS S S 5        $ ! , (       d  f       g = fNr  r  r;   rl   r  r  s    r%   invert!test_secondary_xy.<locals>.invert  !    [[)q5 *))   $
2rO  r   r   	functionsrF  c                     SU -  $ Nr<   r   r  s    r%   r  #test_secondary_xy.<locals>.<lambda>  s    Ar'   c                     U S-  $ rz  r   r  s    r%   r  r{    s    Qr'   r  c                     U S-  $ rz  r   r  s    r%   r  r{    s    1r'   c                     U S-  $ )Nr   r   r  s    r%   r  r{    s    Cr'   r  rA   rE   g      @r  )
r)   r   r  r   rl   rt   secondary_xaxissecondary_yaxisre  rb  )r/   r  rs  nnr$   secaxs         r%   test_secondary_xyr    s     ||Aq'dKHC C.
		!R "))Ar"237&&E&&Ecf-.co?@cn.@ABc
rQweG|AGdbll+ !r'   c                     [         R                  " 5       u  pUR                  [        R                  " SS5      [        R                  " SS5      5        [
        R                  " [        5         UR                  SS S9  S S S 5        [
        R                  " [        5         UR                  S5        S S S 5        [
        R                  " [        5         UR                  S5        S S S 5        [
        R                  " [        5         UR                  SSS	9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nd= f! , (       d  f       g = f)
Nr<   rO  r   c                     SU -  $ r
  r   r  s    r%   r  %test_secondary_fail.<locals>.<lambda>  s    QUr'   rw  rE   rR   errorr  )r)   r   r   rl   rt   r   r   r  r  r  r   r.   s     r%   test_secondary_failr    s    llnGCGGBIIabii2./	z	"
3?< 
#	z	"
7# 
#	z	"
8$ 
#	y	!
3'2 
"	! 
#	"	"	"	"	"	!	!s0   .D$"D5E
E$
D25
E
E
E%c                  r   [         R                  " SS9u  pUR                  [        R                  " SS5      [        R                  " SS5      5        S nUR                  SX"4S9  U R                  R                  5         U R                  S5        [        UR                  5       R                  / S	Q5        g )
Nr  rD  r<   rO  c                 j    [         R                  " SS9   SU -  sS S S 5        $ ! , (       d  f       g = frq  rr  r  s    r%   rs  %test_secondary_resize.<locals>.invert  ru  rv  rA   rw  )rj  r0  r
  )r)   r   r   rl   rt   r  r  r  r  r   r	  r

  )r/   r$   rs  s      r%   test_secondary_resizer     s    ll7+GCGGBIIabii2./ u(89JJOOBOO%--/EFr'   c                  P   [         R                  " SS9u  pUR                  [        R                  " SS5      [        R                  " SS5      5        S nUR                  SX"4S9n[        UR                  R                  5       [        R                  5      (       d   eUR                  5         [        UR                  R                  5       [        R                  5      (       d   eUR                  S5        [         R                  " 5         [        UR                  R                  5       [        R                  5      (       d   eUR                  S	5        [         R                  " 5         [        UR                  R                  5       [        R                  5      (       d   eg )
Nr  rD  r<   rO  c                 j    [         R                  " SS9   SU -  sS S S 5        $ ! , (       d  f       g = frq  rr  r  s    r%   rs  'test_secondary_minorloc.<locals>.invert  ru  rv  rA   rw  r.  rV  )r)   r   r   rl   rt   r  r   _axisget_minor_locatorr   NullLocatorr  AutoMinorLocatorrW  r  
LogLocator)r/   r$   rs  r  s       r%   test_secondary_minorlocr    sG   ll7+GCGGBIIabii2./ u0@AEekk335))+ + + +	ekk335..0 0 0 0MM%HHJekk335((* * * *MM(HHJekk335))+ + + +r'   c                  x   [         R                  " 5       u  pUR                  S5        UR                  S5      nUR                  R                  [        R                  " 5       5        U R                  R                  5         [        UR                  R                  5       [        R                  5      (       d   eg )Nr.  rA   )r)   r   rW  r  r]   r   r   ScalarFormatterr  r  r   r   r/   r$   r  s      r%   test_secondary_formatterr  &  s    llnGCMM%u%E	KK##G$;$;$=>JJOO'')7+B+BD D D Dr'   c                  v    [         R                  " 5       u  pUR                  S5      n[        U5      S:X  d   eg )NrA   z<SecondaryAxis: >)r)   r   r  r8   r  s      r%   test_secondary_reprr  0  s2    llnGCu%E;----r'   zaxis_options.pngc            
         [         R                  " SS5      u  p[        S5       H  u  p#USU4   R                  SS5        USU4   R	                  U5        USU4   R                  [        R                  " SSS	S
S95        USU4   R                  SS5        USU4   R	                  U5        USU4   R                  [        R                  " SSS	S
S95        M     g )Nr<   r   )scaledr  imager   r/  )r;   g	@)r   r   r   r1  rE  r8	  r;   )r;   g      @)r;   r   )r   rg  r  )r)   r   r  r   r"  r;  r  r;	  )r/   ri  rC  options       r%   test_axis_optionsr  6  s    Q"IC;<	 	QT
)QT
QT
hooj8>#O 	P 	QT
	9-QT
QT
hook$8>#O 	P =r'   c                 t   U R                   R                  5         U R                   R                  5       n/ n[        UR                  UR
                  /5       Hx  u  pEUR                  U5      nU(       aV  [        R                  " UR                  UR                  4UR                  UR                  SSSSSS9nU R                  U5        X6/-  nMz     / n[        / SQ5       H~  u  pIUR                  U	   R                  U5      n[        R                  " UR                  UR                  4UR                  UR                  SSSSSS9n
U R                  U
5        X/-  nM     UR                  5       n[        R                  " UR                  UR                  4UR                  UR                  S	S
SSSS9nU R                  U5        UnUR                  U5      n[        R                  " UR                  UR                  4UR                  UR                  SSSSSS9nU R                  U5        UnX8X4$ )zK
Helper for the tests below that test the extents of various Axes elements
r  r5   r1  Nr   )r  r  r7  r6  r5  r4  r  )rR   rA   rS   rE   r   r   r  r<   r9  r;   )r  r  r  r  r]   r_   r  r  r  rN  rO  r  r  r;  r	  r  )r/   r$   r  bbaxisr  axxr  axisrbbspinesr   spinerr  bbaxr  bbtbs                  r%   color_boxesr  H  s    JJOOzz&&(HFbhh12x(&&bhhryy$E NN5!$ 3 H=>YYq\++H5##UUBEEN"((299W$ 	vD ? 
			B	bhhryyfE NN5D


8
$C			#**u$E NN5DT''r'   c                     [        SS05         [        R                  " SSS9u  pU R                  R	                  5         [        R
                  " U 5        [        X5      u  p#pES S S 5        / SQ/ SQ/n[        W5       HC  u  px[        R                  R                  " Xg   6 n	[        UR                  U	R                  SS	9  ME     / S
Q/ SQ/ SQ/ SQ/n[        W5       HC  u  px[        R                  R                  " Xg   6 n	[        UR                  U	R                  SS	9  ME     / SQn[        R                  R                  " U6 n	[        WR                  U	R                  SS	9  / SQn[        R                  R                  " U6 n	[        WR                  U	R                  SS	9  WR                  5       R                  W R                  5      R                  n
[        XR!                  5       R                  SS	9  g ! , (       d  f       GN= f)N_internal.classic_modeFr  r$	  r-  r  )g     ^@g8R@g     @g     @@)g8`U@gX@g     J@g     @r<   )decimal     b@-]@     @F8&@r  g     @r  r  r  Nё\]@r        @gR!@r  r  r  r  g]@r  r  )g+e`U@gbhR@g{G@g{Gȏ@)r   r)   r   r  r  rm  r  r  r  Bboxfrom_boundsr   r$  r	  transformedtransFigurer  )r/   r$   r  r  r  r  r  r  r%  targetbbaxbbs              r%   test_normal_axesr  v  s   	-u5	6,,37

		#'23';$$	 
7 	3=F 6"##//<!!((HOOQG #
 	(#(,	F 8$##//<!!((HOOQG % 7F++V4Hdkk8??AF2F++V4Hdkk8??AF ??((9@@Dd$8$8$:$A$A1MG 
7	6s   AG<<
Hc                     [        SS05         [        R                  " SSS9u  pU R                  R	                  5         UR                  / / S9  [        X5      u  p#pES S S 5        [        W5       H
  u  pgUc  M
   e   / SQ/ SQ/ S	Q/ S
Q/n[        W5       HC  u  pg[        R                  R                  " X   6 n	[        UR                  U	R                  SS9  ME     / SQn[        R                  R                  " U6 n	[        WR                  U	R                  SS9  / SQn[        R                  R                  " U6 n	[        WR                  U	R                  SS9  g ! , (       d  f       GN	= f)Nr  Fr  r$	  r  xticklabelsyticklabelsr  r  r  r  r  rU  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  s
             r%   test_nodecoratorr    s.   	-u5	6,,37


22.'23';$$	 
7 6"yy # 	(#(,	F 8$##//<(//= % 7F++V4HDKKt<%F++V4HDKKt<5 
7	6s   AE  
E/c                     [        SS05         [        R                  " SSS9u  pUR                  / / S9  UR                  R
                  R                  S5        U R                  R                  5         [        X5      u  p#pES S S 5        / SQ/ S	Q/ S
Q/ SQ/n[        UW5       HA  u  px[        R                  R                  " U6 n	[        UR                  U	R                  SS9  MC     / SQn[        R                  R                  " U6 n	[        WR                  U	R                  SS9  / SQn[        R                  R                  " U6 n	[        WR                  U	R                  SS9  g ! , (       d  f       N= f)Nr  Fr  r$	  r  r  )ri  r_  )r        8@r  gs~8&@r  r  r  r  rU  r  )r  r  r  g     @)r   r)   r   r   r	  rR   r	  r  r  r  r  r  r  r  r   r$  )
r/   r$   r  r  r  r  targetsr  bbspiner  s
             r%   test_displaced_spiner    s)   	-u5	6,,37
22.
		%%n5

'23';$$ 
7 	%#(,	G w1##//8dC 2 7F++V4HDKKt<%F++V4HDKKt</ 
7	6s   A5E++
E9c            	         / SQ/ SQ// SQ/ SQ// SQ/ SQ//n [        / SQ5       H  u  p[        SS	05         [        R                  " S
SS9u  p4UR	                  US9  UR
                  R                  5         [        X45      u  pVpx[        SS/5       HH  u  p[        R                  R                  " X   U	   6 n[        Xj   R                  UR                  SS9  MJ     SSS5        M     g! , (       d  f       M  = f)z?
Switch the tickdirs and make sure the bboxes switch with them
)r  r  r  +e8&@)r  r  r  r  )r  gZӼ8[@r  88&@)g r\a@r  r  r  )r  gqq\@r  r  )g88b@r  r  r  )r	  r
  inoutr  Fr  r$	  r  r
  r   r<   r  rU  N)r  r   r)   r   r	  r  r  r  r  r  r  r   r$  )r  dnumdirsr/   r$   r  r  r  r  r  r   r  s               r%   test_tickdirsr    s     /-/<-/F<>	?G   67
159:llsF;GCNNTN*JJOO+6s+?(Fd$aV,&++77r9JKM(((//F - ;: 8::s   B(C,,
C;	c                     [        SS05         [        R                  " SSS9u  pU R                  R	                  5         UR                  SSS9  [        X5      u  p#pE[        X5      u  p#pE/ S	Q/ S
Q/n[        S5       HF  n[        R                  R                  " Xg   6 n[        X7S-     R                  UR                  SS9  MH     [        R                  " SSS9u  pU R                  R	                  5         UR                  SSS9  UR                  5         UR                  SSSS9  U R                  R	                  5         [        X5      u  p#pE/ SQ/ SQ/n[        S5       HF  n[        R                  R                  " Xg   6 n[        X7S-     R                  UR                  SS9  MH     S S S 5        g ! , (       d  f       g = f)Nr  Fr  r$	  r  r   r
  )r"  r	  )r  g88[@r  r  )gCiq\a@r  r  r  r<   r  rU  r   r   r
  )r  gPUUUUUB@r  gVUUUUT@)gz6P@r  goTT@r  )r   r)   r   r  r  r	  r  r   r  r  r  r   r$  r  )	r/   r$   r  r  r  r  r  r  r  s	            r%   test_minor_accountedforr    s   	-u5	6,,37


Vu5'23';$$'23';$$I79qA"''33WZ@HQ&&dD 
 ,,37


Vu5

F'"=

'23';$$G35 qA"''33WZ@HQ&&dD 1 
7	6	6s   F"F99
Gc                 *   U R                  S5      R                  S5        UR                  S5      R                  S5        U R                  S5      nUR                  S5        UR                  S5        UR                  S5      R                  S5        g )Nr`  Fr  ra  Ton)r   r"  r!   s      r%   test_axis_bool_argumentsr     su     ""5)!!%(			c	"BGGENGGDM!!$'r'   c                      [         R                  " 5       u  pSnSnSnSnUR                  X#XE/5      n[        U5      X#XE4:X  d   eX#4UR	                  5       :X  d   eXE4UR                  5       :X  d   eg )Nr   r   r   r  r)   r   r"  r0  r   r   r/   r$   rj   rk   r%	  r&	  r  s          r%   test_axis_extent_argr     s}    llnGCDDDDWWd$-.F =T4444 <2;;=(((<2;;=(((r'   c                      [         R                  " 5       u  pSnSnSnSnUR                  X#XES9n[        U5      X#XE4:X  d   eX#4UR	                  5       :X  d   eXE4UR                  5       :X  d   eg )Nr   r   r   r  )rj   rk   r%	  r&	  r  r  s          r%   test_axis_extent_arg2r  '   s|    llnGCDDDDWW$W@F =T4444 <2;;=(((<2;;=(((r'   c                  l    [         R                  " / SQ/ SQ/SS9u  pn US   S::  d   eUS   S:  d   eg )	Nr  )r   r0  r   r   r  r  r   r;   r   r   )r)   r  r  r  s     r%   test_hist_auto_binsr  8   s;    9l3&AJAQ7a<<8q==r'   c                     [         R                  " S5      u  n u  p/ SQnU[        R                  /-   nUR	                  U5      u  pVn[        R
                  " SS9   UR	                  U5      u  pnS S S 5        [        R                  R                  UW5        [        R                  R                  UW	5        g ! , (       d  f       NO= f)Nr<   r  r  r  )r)   r   rl   r  r  r  r   r   )
r/   r  r  r  nan_datar  r:  r  nanbinsnanedgess
             r%   test_hist_nan_datar  >   s    ll1oOC#DrvvhHXXd^ND	X	&"xx11 
' JJtW-JJuh/	 
'	&s   B::
Cc                      [         R                  " [        R                  R	                  S5      SSSS9u  pn US   S:X  d   eUS   S:X  d   eg )	Nr   r  r  T)r   r  r   r   r;   )r)   r  rl   rm   r   r  s     r%   test_hist_range_and_densityr  L   sJ    "))..,f &6JAQ7a<<8q==r'   c                  J   [         R                  " 5       u  p/ SQnUR                  X"USSS9nUR                  R                  u  pEnUR
                   HM  nU H  nUR                  UR                  :  a  M   e   U H  n	U	R                  UR                  :  a  M   e   MO     g )Nr  r   r   )r4   r  rW  r  r  )r)   r   r  rR  r*  r<  r  )
r/   r$   r4   barcont	data_linecaplinesbarlinecolsr  capline
barlinecols
             r%   test_bar_errbar_zorderr  S   s     llnGCAffqAaf@G'.'7'7'='=$IG>>CJJ...  %J$$szz111 & r'   c                      [         R                  " 5       u  pUR                  5         UR                  SS/5        UR	                  5       S:X  d   eUR                  S/5        UR	                  5       S:X  d   eg )Nr   r  ro  r   rr  )r)   r   r  r
  r   r.   s     r%   test_set_ticks_invertedr  b   s_    llnGCOOMM2r(;;=F"""MM2$;;=G###r'   c            	      z   [         R                  " SS9n U R                  5       nUR                  SS/SS/5        UR	                  SSSSS	S
S9  UR                  S5        U R                  R                  UR                  5       5      nUR                  UR                  -  [        R                  " S5      :X  d   eg )Nr  rD  rF  r  r.  rZ  logit)F]tE?g'^P?r;   r	  r  r   r  r   r   r	  r   r<   )r)   r   r   r   r   rQ  r  transform_bboxr	  r  r  r   approx)r/   r$   r   s      r%   $test_aspect_nonlinear_adjustable_boxr  k   s    
**X
&C		BGGRHr2hFF%g  ' JJqM
//
(
():
;C::		!V]]1%5555r'   c            	      l   [         R                  " SS9n U R                  / SQ5      nUR                  SS/SS/5        UR	                  SSSS	S
SS9  UR                  S5        UR                  5         UR                  5       [        R                  " SS/5      :X  d   eUR                  5       S	:X  d   eg )Nr  rD  r7  rF  r  r.  )r;   r   r  )gbeF?r  r;   r	  r  r   gS[:XL	@g'In?@)r)   r   rP  r   r   rQ  r&  r   r   r  r   r.   s     r%   (test_aspect_nonlinear_adjustable_datalimr  x   s    
**X
&C	&	'BGGRHr2hFF%h 1	  + JJqMOO;;=FMM;*FGGGG;;=----r'   c                     [         R                  " 5       u  pUR                  5       nUR                  SS/5        UR	                  S5        UR                  5       S:X  d   e[         R                  " 5       u  p4UR                  S5        UR                  SS/SS/5        UR                  S	S
S9  U R                  R                  5         UR                  R                  5         UR                  5       nUR                  5       nUR                  5       n[        UR                  UR                  5        [        UR                  UR                  5        g )Nr  iX  r;   r   r   r<   r   r  r  r	  r	  )r)   r   r  r   set_box_aspectget_box_aspectrQ  r	  r  r  r	  r   r

  )rG  r  axtwinrH  r  bb1bbtr  s           r%   test_box_aspectr      s     IDYY[F
KKS	q3&&&IDKKNHHaVaVNN7uN-KKKK



C



C



Cs{{CKK0s{{CKK0r'   c                  @   [         R                  " 5       u  pUR                  / SQ5        U R                  R	                  5         UR                  S5        [         R                  " 5       u  p#UR                  S5        UR                  R	                  5         UR                  / SQ5        U R                  R	                  5         UR                  R	                  5         UR                  5       nUR                  5       n[        UR                  UR                  5        g )N)r   r   rM  r   r   )	r)   r   r	  r  r  r  r	  r   r

  )rG  r  rH  r  r  r  s         r%   test_box_aspect_custom_positionr     s     ID)*KKrIDrKK)*KKKK



C



Cs{{CKK0r'   c                  b   [         R                  " SS[        SS9SS9u  pU R                  R	                  5         U R                  R                  5       n/ nUR                   H;  nUR                  U5      nUR                  UR                  UR                  /5        M=     [        X3S   5        g )Nr<   r   r;   )r	  T)r  r`  r   )r)   r   r  r  r  r  r  r  rp  r  r  r   )r/   r  r  r)
  r$   r  s         r%   test_bbox_aspect_axes_initr     s     ||AqTQ-?/35HCJJOOzz&&(HEhh!!(+bhh		*+  E8$r'   c                     [         R                  " 5       u  p[        R                  " [        SS9   UR                  S5        S S S 5        [        R                  " [        SS9   UR                  S5        S S S 5        [        R                  " [        SS9   UR                  [        R                  5        S S S 5        [        R                  " [        SS9   UR                  [        R                  * 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ns= f! , (       d  f       g = f)Nzmust be finite and positiverr  r   r   )r)   r   r   r   r  r	  rl   r  r.   s     r%   test_set_aspect_negativer     s    llnGC	z)F	G
b 
H	z)F	G
a 
H	z)F	G
bff 
H	z)F	G
rvvg 
H	G 
H	G	G	G	G	G	G	Gs/   D$D D$!D5
D
D!$
D25
Ec                      [         R                  " SS5      u  pUR                  / SQ5        U R                  R	                  5         UR                  5         g )Nr;   r  )r)   r   r   r  r  redraw_in_framer.   s     r%   test_redraw_in_framer	     s:    ll1a GCGGIJJOOr'   c                      [         R                  " 5       u  pU R                  R                  S5      c   eUR	                  S5        U R                  R                  S5      b   eg )N)r  r  F)r)   r   r  inaxesr    r.   s     r%   test_invisible_axes_eventsr     sQ    llnGC::Z(444NN5::Z(000r'   c                      S[         R                  S'   [         R                  " 5       n U R                  R	                  5       nU H#  nUR
                  R                  5       S:w  a  M#   e   g Nr;  zlines.markeredgecolor)r)   r   ri  r]   get_major_ticksr{  get_markeredgecolorr$   r
  r	  s      r%   "test_xtickcolor_is_not_markercolorr     S    ,3CLL()	BHH$$&E~~113w>>> r'   c                      S[         R                  S'   [         R                  " 5       n U R                  R	                  5       nU H#  nUR
                  R                  5       S:w  a  M#   e   g r  )r)   r   ri  r_   r  r{  r  r  s      r%   "test_ytickcolor_is_not_markercolorr     r  r'   r"  r  )TFNc                    [         R                  " 5       u  p#[        R                  " S5      n[        R                  " SSS5      nUR                  XT5        [        USU  S35      n[        USU  S35      n[        USU  S35      nUc  U" 5       OUn	U" S	US
9  X" 5       :X  d   eUR                  R                  5         [        U" 5       S	5        g )Nr   r_  r   get_autoscale_onr,  limget_rT  )r  )
r)   r   rl   rt   r  r=   r&  r  r  r   )
r"  r  r/   r$   r4   r5   r  set_limget_lim	post_autos
             r%   test_unautoscaler     s     llnGC
		#A
CS!AJJqr]4&#<=bDc*+GbDc*+G&*l "IKd#(****JJOOwy+.r'   c                 R   U R                  SS9R                  S[        R                  S-  /SS/5      u  nSUR	                  5       l        UR                  SS9R                  [        R                  " S[        R                  S-  S5      [        R                  " SSS5      5        g )Nr-  r  r   r<   r;   r   e   )r   r   rl   r  get_path_interpolation_stepsr  )r"   r#   r/
  s      r%   )test_polar_interpolation_steps_variable_rr#  !  s    					1	6	62557|aV	LBA(+AJJL%7+00
AruuQw$bkk!Q&<>r'   c                      [         R                  " 5       u  pUR                  SS5        U R                  R	                  5         UR                  5       S:X  d   eg )Nr   g&.>)r   g	>)r)   r   r  r  r  r   r.   s     r%   test_autoscale_tiny_stickyr%  !  s>    llnGCFF1dOJJOO;;=L(((r'   c                  @   S[         R                  S'   S[         R                  S'   [         R                  " 5       n U R                  R	                  5       nU HC  nUR
                  R                  5       S:X  d   eUR                  R                  5       S:X  a  MC   e   g )Nr  r	  r   r	  )r)   r   ri  r]   r  r{  r  rO  r  s      r%   &test_xtickcolor_is_not_xticklabelcolorr'  !  |    "*CLL'-CLL#$	BHH$$&E~~'')X555{{$$&&000 r'   c                  @   S[         R                  S'   S[         R                  S'   [         R                  " 5       n U R                  R	                  5       nU HC  nUR
                  R                  5       S:X  d   eUR                  R                  5       S:X  a  MC   e   g )Nr  ytick.colorr   ytick.labelcolor)r)   r   ri  r_   r  r{  r  rO  r  s      r%   &test_ytickcolor_is_not_yticklabelcolorr,  !!  r(  r'   c                  r   S[         R                  S'   [         R                  " 5       n U R                  R                  R                  5       S:X  d   eS[         R                  S'   S[         R                  S'   [         R                  " 5       n U R                  R                  R                  5       S:X  d   eg )Nr   r	  r  r	  inherit)r)   r   ri  r]   r
  r  r  s    r%   test_xaxis_offsetText_colorr/  +!  s    '-CLL#$	B88((*f444"*CLL'0CLL#$	B88((*h666r'   c                  r   S[         R                  S'   [         R                  " 5       n U R                  R                  R                  5       S:X  d   eS[         R                  S'   S[         R                  S'   [         R                  " 5       n U R                  R                  R                  5       S:X  d   eg )Nr   r+  r9  r*  r.  )r)   r   ri  r_   r
  r  r  s    r%   test_yaxis_offsetText_colorr1  6!  s    '.CLL#$	B88((*g555"'CLL'0CLL#$	B88((*e333r'   r  )r  r   r  c                    U [         R                  S'   U [         R                  S'   [        R                  " 5       u  pUR                  R                  5         [        SS/UR                  UR                  /5       HK  u  p4UR                  5        H2  nUR                  R                  5       UR                  U5      :X  a  M2   e   MM     g )Nr	  zytick.labelsizer4   r5   )r   r   r)   r   r  r  r  r]   r_   r  rO  r]
  _get_tick_label_size)r  r/   r$   namer"  r	  s         r%   test_relative_ticklabel_sizesr5  A!  s     '+CLL"#&*CLL"#llnGCJJOO3*rxx&:;
((*D;;'')T-F-Ft-LLLL + <r'   c                     [         R                  " 5       n U R                  SSSS9u  pUR                  / SQ/ SQ5        UR	                  SS5        UR                  5       n[        R                  " US	S
/5      (       d   eg )Nr<   r;   r  r  )PF  iJG  iDH  i>I  )r<   r   r<   r   r  r   r7  ipI  )r)   r   r   r   r  r   rl   r<  )r/   r  r  r   s       r%   test_multiplot_autoscaler8  O!  sf    
**,C||Aq|/HCHH)<8KKA<<>D;;teU^,,,,r'   c                  :   [         R                  " 5       n U R                  S5      nU R                  / SQUS9nUR	                  5       nU R                  SS9  UR	                  5       R                  5       UR                  5       :H  R                  5       (       d   eg )Nr  )r  r  r   r   r  r   rS   )r)   r   r   rP  r	  r  r+  r  )r/   ro  r  init_poss       r%   $test_sharing_does_not_link_positionsr<  X!  s    
**,C
//#
C
,,',
4C!HQ))+x/B/B/DDIIKKKKr'   c                    [         R                  " / SQ5      nU R                  S5      nUS   R                  SS/SS/UR	                  S5      S9  [
        R                  " SS	9   US   R                  SS/SS/UR	                  S5      S9  S S S 5        US   R                  SS/SS/UR	                  S5      S9  US
   R                  [         R                  " S5      UR	                  S5      S9  US   R                  [         R                  " S5      [         R                  " S5      UR	                  S5      S9  UR                  S5      nUS   R                  SS/SS/UR	                  S5      S9  US   R                  SS/SS/UR	                  S5      S9  US   R                  SS/SS/UR	                  S5      S9  US
   R                  [         R                  " S5      UR	                  S5      S9  US   R                  [         R                  " S5      [         R                  " S5      UR	                  S5      S9  g ! , (       d  f       GN= f)Nr   r   r   r;   r<   r   rQ  r  rr  r   r   rP  r0  rr  )rl   rO  r   r   r   r   r  r=   r  r  rt   r  )r"   r#   r   r  s       r%   test_2dcolor_plotr>  a!  s   HH_%E


A
CFKKAA%--"3K4	F	GA1v1vr):; 
HFKKAA%--"3K4FKK		"U]]2%6K7FJJryy}biim5==3DJE


1
CFKKAA%--"8K9FNNAq6Aq6U]]7%;N<FKKAA%--"8K9FKK		"U]]7%;K<FJJryy}biim5==3IJJ 
H	Gs   %(I
Ic                 z   [         R                  " SS[         R                  -  S5      n[         R                  " U5      nUR	                  SSSSS9nUR
                   H  nUR                  X#5        M     U R	                  SSSSS9nUR
                   H$  nUR                  5         UR                  X#5        M&     g )Nr  r<   r  Tr	  )rl   rt   r  r  r   r  r   r  )r"   r#   r4   r5   r  r$   s         r%   test_shared_axes_clearr@  u!  s    
		#qw%A
q	A


1aT

:Chh
  

Aqd

;Chh


 r'   c                     [         R                  " SSSSS9u  pUR                   H  nUR                  SS/S5        M     US   R	                  / SQ5        UR                   H*  nUR                  5       US   R                  5       :X  a  M*   e   US   R                  / SQ5        UR                   H*  nUR                  5       US   R                  5       :X  a  M*   e   g )	Nr<   r  r	  r   zo-r  )r  r   r;   r   )r  r   r<   rD  )r)   r   r  r   r
  r   r
  r   r
  s      r%   test_shared_axes_retickrB  !  s    ||Aqu=HChh
A  I*+hh{{}D	 2 2 4444  I*+hh{{}D	 2 2 4444 r'   rH   )rS   r\   rE   c                     [        5       nUR                  5       nUR                  SSU S9  UR                  R	                  S5        UR                  R
                  R                  5       U :X  d   eg )Ntestr;   rG   rE   )r   r   r+   r_   set_label_positionr2   rY
  )rH   r/   r$   s      r%   test_ylabel_ha_with_positionrF  !  sW    
(C	BMM&A"M%HH(88>>  "b(((r'   c                     [         R                  " 5       n SS/SS/p!U R                  X5      nU R                  U5      nUS   R                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eUS   R                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eg )	Nr;   r<   r   r   r\   rR   rA   r)   rd  r  	bar_labelr  r^   r
  r$   r  heightsre  rd  s        r%    test_bar_label_location_verticalrM  !  s    	Ba&1b'FF2E\\% F!9<<BqE71:....!9,,.(:::!9**,888!9<<BqE71:....!9,,.(:::!9**,555r'   c                     [         R                  " 5       n U R                  5         SS/SS/p!U R                  X5      nU R	                  U5      nUS   R
                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eUS   R
                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eg )	Nr;   r<   r   rH  r   r\   rA   rR   )r)   rd  r  r  rJ  r  r^   r
  rK  s        r%   *test_bar_label_location_vertical_yinvertedrO  !  s    	BOOa&1b'FF2E\\% F!9<<BqE71:....!9,,.(:::!9**,555!9<<BqE71:....!9,,.(:::!9**,888r'   c                     [         R                  " 5       n SS/SS/p!U R                  X5      nU R                  U5      nUS   R                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eUS   R                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eg 	Nr;   r<   r   rH  r   rS   r\   rE   r)   rd  r  rJ  r  r^   r
  r$   r  r  re  rd  s        r%   "test_bar_label_location_horizontalrT  !  s    	BQ!RGGBE\\% F!9<<F1Ir!u----!9,,.&888!9**,888!9<<F1Ir!u----!9,,.'999!9**,888r'   c                     [         R                  " 5       n U R                  5         SS/SS/p!U R                  X5      nU R	                  U5      nUS   R
                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eUS   R
                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eg rQ  )r)   rd  r  r  rJ  r  r^   r
  rS  s        r%   ,test_bar_label_location_horizontal_yinvertedrV  !  s    	BOOQ!RGGBE\\% F!9<<F1Ir!u----!9,,.&888!9**,888!9<<F1Ir!u----!9,,.'999!9**,888r'   c                     [         R                  " 5       n U R                  5         SS/SS/p!U R                  X5      nU R	                  U5      nUS   R
                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eUS   R
                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eg 	Nr;   r<   r   rH  r   rE   r\   rS   )r)   rd  r  r  rJ  r  r^   r
  rS  s        r%   ,test_bar_label_location_horizontal_xinvertedrY  !  s    	BOOQ!RGGBE\\% F!9<<F1Ir!u----!9,,.'999!9**,888!9<<F1Ir!u----!9,,.&888!9**,888r'   c                     [         R                  " 5       n U R                  5         U R                  5         SS/SS/p!U R	                  X5      nU R                  U5      nUS   R                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eUS   R                  US   US   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eg rX  )	r)   rd  r  r  r  rJ  r  r^   r
  rS  s        r%   -test_bar_label_location_horizontal_xyinvertedr[  !  s    	BOOOOQ!RGGBE\\% F!9<<F1Ir!u----!9,,.'999!9**,888!9<<F1Ir!u----!9,,.&888!9**,888r'   c                     [         R                  " 5       n SS/SS/p!U R                  X5      nU R                  USS9nUS   R                  S:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eUS   R                  S:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eg )	Nr;   r<   r   rH  r\   
label_typer   r  rR  rS  s        r%   test_bar_label_location_centerr_  !  s    	BQ!RGGBE\\%H\5F!9<<:%%%!9,,.(:::!9**,888!9<<:%%%!9,,.(:::!9**,888r'   z%test_centered_bar_label_nonlinear.svgc                      [         R                  " 5       u  pUR                  / SQ/ SQ5      nUR                  S5        UR	                  SS 5        UR                  USS9  UR                  5         g )N)r?   r%  r   )r  i  iX  r.  r;   r\   r]  )r)   r   r  rW  r	  rJ  r}  )r  r$   r  s      r%   !test_centered_bar_label_nonlinearra  !  sT    LLNEAGGO-BCMMM%KK4LL8L4OOr'   c                      [         R                  " 5       u  pSn[        / SQ/ SQ5       H*  u  p4UR                  SXCUS9nUR	                  USS9  X$-  nM,     UR                  S S5        U R                  5         g )	Nr   r  )r   r  r[  rz  )r2   rS   r\   r]  r  )r)   r   r  r  rJ  r	  r	  )r/   r$   lastr2   rD  r  s         r%   +test_centered_bar_label_label_beyond_limitsrd  "  sn    llnGCDO\:uE
]x8 ; KKb r'   c                     [         R                  " 5       n SS/SS/p!U R                  XSS9nU R                  U5      nUS   R                  US   US   S-   4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S:X  d   eUS   R                  US   US   S-
  4:X  d   eUS   R                  5       S:X  d   eUS   R                  5       S	:X  d   eg )
Nr;   r<   r   rH  r  r   r\   rR   rA   rI  rK  s        r%   !test_bar_label_location_errorbarsrf  "  s    	Ba&1b'FF2QF'E\\% F!9<<BqE71:>2222!9,,.(:::!9**,888!9<<BqE71:>2222!9,,.(:::!9**,555r'   r   rW
  z{:.2f}c                     [         R                  " 5       nUR                  SS/SS/5      nUR                  X S9nUS   R	                  5       S:X  d   eUS   R	                  5       S:X  d   eg )	Nr;   r<   r   rH  r   r   z3.00z-4.00r)   rd  r  rJ  rP  )r   r$   re  rd  s       r%   test_bar_label_fmtrj   "  sm     
BFFAq6Ar7#E\\%\)F!96)))!97***r'   c                      [         R                  " 5       n U R                  SS/SS/5      n[        R                  " [
        SS9   U R                  USS9nS S S 5        g ! , (       d  f       g = f)	Nr;   r<   r   rH  zstr or callablerr  r   rh  )r)   rd  r  r   r   r   rJ  )r$   re  r  s      r%   test_bar_label_fmt_errorrl  +"  sR    	BFFAq6Ar7#E	y(9	:LLBL' 
;	:	:s   A
A-c                      [         R                  " 5       n U R                  SS/SS/5      nU R                  USS/S9nUS   R	                  5       S:X  d   eUS   R	                  5       S:X  d   eg )	Nr;   r<   r   rH  r  r  rk
  r   ri  )r$   re  rd  s      r%   test_bar_label_labelsrn  2"  sq    	BFFAq6Ar7#E\\%c
\3F!93&&&!93&&&r'   c                  N   [         R                  " 5       n U R                  SS/[        R                  S/5      nU R                  U5      nU Vs/ s H  o3R                  5       PM     snSS/:X  d   eUS   R                  S:X  d   eUS   R                  5       S:X  d   eg s  snf 	Nr<   r   r;   r   r$  r   rP  rR   )	r)   rd  r  rl   r  rJ  rP  r  r
  r$   r  rd  r/
  s       r%   test_bar_label_nan_ydatarr  :"  s    	B661a&2661+&D\\$F"()&QJJL&)b#Y666!9<<6!!!!9**,888 *s   B"c                  n   [         R                  " 5       n U R                  5         U R                  SS/[        R
                  S/5      nU R                  U5      nU Vs/ s H  o3R                  5       PM     snSS/:X  d   eUS   R                  S:X  d   eUS   R                  5       S:X  d   eg s  snf rp  )
r)   rd  rf  r  rl   r  rJ  rP  r  r
  rq  s       r%   !test_bar_label_nan_ydata_invertedrt  C"  s    	B661a&2661+&D\\$F"()&QJJL&)b#Y666!9<<6!!!!9**,888 *s   B2c                  (   [         R                  " 5       u  pUR                  / SQ[        R                  SS// SQS9nUR                  U5      nU Vs/ s H  oDR                  5       PM     sn/ SQ:X  d   e[        R                  " UR                  5       S5      (       d   e[         R                  " 5       u  pUR                  / SQ/ SQS	[        R                  S
/S9nUR                  U5      nU Vs/ s H  oDR                  5       PM     sn/ SQ:X  d   e[        R                  " UR                  5       S5      (       d   e[         R                  " 5       u  pUR                  / SQ[        R                  SS/[        R                  [        R                  S
/S9nUR                  U5      nU Vs/ s H  oDR                  5       PM     sn/ SQ:X  d   e[        R                  " UR                  5       S5      (       d   eg s  snf s  snf s  snf )Nr  r;   r<   r  r  )r   r$  2)r  r  rG  r   r  )r#  r$  rv  )r  r  )	r)   r   r  rl   r  rJ  rP  r<  r   )r/   r$   r  rd  r/
  s        r%   test_nan_barlabelsrw  M"  s   llnGC66)bffa^/6BD\\$F"()&QJJL&)^;;;;;r{{}j1111llnGC66)Yc2663-?6@D\\$F"()&QJJL&)_<<<;;r{{}k2222llnGC66)bffa^26626632G6HD\\$F"()&QJJL&)^;;;;;r{{}j1111 * * *s   H5H
4Hc            
         [         R                  " 5       u  pUR                  [        R                  " SSSSSS95        S[
        R                  " S[
        R                  -  S	-  5      S
-  -  n[
        R                  R                  [
        R                  " SUS-   * SUS-   45      UR                  R                  S5        g )N)r   r   ry  r.  r  r   rp  gffffff?r   r`  r<   gr  r  )r)   r   r  r  Wedgerl   r  r  r   assert_array_almost_equal_nulprO  dataLimr$  )r/   r$   bots      r%   test_patch_boundsr}  a"  s    llnGCLLr3cBC
bffRXc\"A%
%CJJ--
&CH+tSW56

8I8I2Or'   c            
          [         R                  " [        SS9   [        R                  " S/S/SSSSS9  S S S 5        g ! , (       d  f       g = f)	Nz!You passed a edgecolor/edgecolorsrr  r   r
  r  rO  r%  )r   r  r5  r6  )r   r  rQ  r)   r=   r   r'   r%    test_warn_ignored_scatter_kwargsr  i"  sA    	k@
BQC!SC3#N
B 
B 
BrM  c            
         [         R                  " 5       u  p[        S5       Vs/ s H-  o!R                  [        R
                  " X"S-   5      5      S   PM/     nnUR                  [        R
                  " S5      [        R
                  " S5      5      nUR                  [        R                  " S5      5      nUR                  [        R                  " SSS5      5      nUR                  SSS5      n[        UR                  5      U/:X  d   e[        UR                  5      U/:X  d   e[        UR                   5      U:X  d   e[        UR"                  5      U/:X  d   eUR$                  (       a   e[        UR&                  5      U/:X  d   eUR                   S   US   L d   eUR                   S   US   L d   e[(        R*                  " [,        SS	9   UR                   [/        U5      S
-        S S S 5        UR                   / SQ-   / UQS
PSPSP:X  d   e/ SQUR                   -   S
SS/UQ:X  d   eUR                   S-   / UQS
PSPSP7:X  d   eSUR                   -   S
SS/UQ7:X  d   eUR1                  5         UR                  (       a   eUR1                  5         UR                  (       a   eUR1                  5         UR"                  (       a   eUR$                  (       a   eUR1                  5         UR&                  (       a   eUR                    H  nUR1                  5         M     [/        UR                   5      S:X  d   eg s  snf ! , (       d  f       GNf= f)Nr   r   r   r   r   r  r  r   zout of rangerr  r;   r  r<   r   )r)   r   r   r   rl   rt   r=   r   r  r  r  r  r  r%  r  imagesr*  r<  tablesr^
  r   r   
IndexErrorr  rj  )	r/   r$   rC  r*  rz  r  r  r  r  s	            r%   test_artist_sublistsr  p"  s   llnGC6;Ah?hWWRYYqa%()!,hE?
**RYYq\299Q<
0C	288F#	$BLL++FAq9:E771aD C5(((		?rd""">U"""

w&&&yy=>dV### 88A;%("""88B<59$$$	z	8
Ua  
9 88i#4U#4A#4q#4!#4444rxxAq!#4e#4444 88i#4U#4A#4q#4!#4444rxxAq!#4e#4444 JJL~~IIKyy=	LLNzz>yy=KKMxx<hh
		 rxx=AS @" 
9	8s   4MM
M#c                  B   [         R                  " S5      n [         R                  " S5      n[        R                  " 5       u  p#UR	                  X5      n[        U5      S:X  d   e[        R                  " 5       u  p#UR	                  / / 5      n[        U5      S:X  d   eg )Nr   )r   r   r   r;   )rl   r   r)   r   r   r  )r4   r5   r  r$   r  s        r%   test_empty_line_plotsr  "  su    
A
ALLNEA771=Dt9>> LLNEA772r?Dt9>>r'   z
fmt, match))rd  z?'f' is not a valid format string \(unrecognized character 'f'\))zo+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\))r  zE'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\)stringc                     [         R                  " 5       u  p4Ub  UR                  SS5      n[        R                  " [
        SU-   S-   S9   UR                  SXS9  S S S 5        g ! , (       d  f       g = f)Nnotzneither a data key norz\Az\Zrr  r  rf  )r)   r   replacer   r   r  r   )r   rs  r  r/   r$   s        r%   test_plot_format_errorsr  "  s\     llnGCe%=>	z)>	?
#) 
@	?	?s   A&&
A4c                  8   [         R                  " 5       u  pUR                  / SQS5      nUS   R                  5       S:X  d   eUS   R	                  5       S:X  d   e[         R                  " 5       u  pUR                  / SQS5      nUS   R	                  5       S:X  d   e[         R                  " 5       u  pUR                  SS/SS/SS5      nU R
                  R                  5         US   R                  5       S:X  d   eUR                  5       S   R                  5       S:X  d   e[         R                  " 5       u  pUR                  SS/SS/SS5      nU R
                  R                  5         US   R	                  5       S:X  d   eUR                  5       S   R                  5       S:X  d   e[         R                  " 5       u  pUR                  / SQS	5      nUS   R	                  5       S
:X  d   eUS   R                  5       S:X  d   e[         R                  " 5       u  pUR                  / SQS5      nUS   R	                  5       S:X  d   eUS   R                  5       [        R                  " S5      :X  d   eUS   R                  5       S:X  d   eg )Nr  z1.0r   )r   r   r   r   r  r$  r;   r<   k3r  rE  z.C12:r   C12r  )r)   r   r   r  r2  r  r  r
  rP  r  r  r/  r
  s      r%   test_plot_formatr  "  sG   llnGC779e$D7"666676)))llnGC779c"D73&&&llnGC77Aq6Aq65#.DJJOO7"6666"++-444llnGC77Aq6Aq63.DJJOO73&&&"++-666llnGC779d#D73&&&7#%%%llnGC779g&D73&&&7'//%"88887  "c)))r'   c                     [         R                  " 5       u  pUR                  SSSS0S9  UR                  5       nU R                  R                  5         UR                  5       S   R                  5       S:X  d   eUR                  5       S   R                  5       S:X  d   e[         R                  " 5       u  pUR                  SSSSS0S9  UR                  5       nU R                  R                  5         UR                  5       S   R                  5       S:X  d   eUR                  5       S   R                  5       S:X  d   eUR                  5       S   R                  5       S:X  d   eg )Nr   r%  r  r<   rf  r   r?   )
r)   r   r   rK   r  r  	get_textsrP  r
  r  )r/   r$   legs      r%   test_automatic_legendr  "  s/   llnGCGGCC8G$
))+CJJOO==?1&&(C///"++-444llnGCGGCcaG)
))+CJJOO==?1&&(C///"++-444"++-444r'   c            	      2   [         R                  " [        SS9   [        R                  " / SQSS9  S S S 5        [         R                  " [
        SS9   [        R                  " / SQ/ SQ/ SQ/ SQSS	/S
9  S S S 5        [         R                  " [
        SS9   [        R                  " / SQS/5        S S S 5        [         R                  " [
        SS9   [        R                  " [        R                  " S5      5        S S S 5        [         R                  " [
        SS9   [        R                  " SSSSSS0S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nz"plot\(\) got an unexpected keywordrr  r  r;   r  zplot\(\) with multiple groupsr  r$  rv  r  zx and y must have same firstzx and y can be no greater than)r<   r<   r<   zUsing arbitrary long args withr   r%  r?   r  r<   rf  )r   r   r   r)   r   r  rl   r   r   r'   r%   test_plot_errorsr  "  s    	y(M	Na  
O	z)I	JIy)C:N 
K	z)G	HQC  
I	z)I	J#$ 
K	z)I	Jc33(3 
K	J 
O	N	J	J	H	H	J	J	J	Js;   E#EE&+E7F
E
E#&
E47
F
Fc            
         [         R                  " 5       R                  5       n [        U R                  [        S5      [        S5      [        S5      S9[        U R                  SS/SS//5      [        U R                  SS/SS//5      [        U R                  SS/SS//5      [        U R                  SS/SS//5      4 H3  nSnU" US9R                  nUR                  UR                  4U:X  a  M3   e   g )Nr   rQ  r   r;   r<   )rj  r  )clim)r)   r   r   r   r=   r   r   ri  r  r  r  r  r  )r$   plot_methodr  r  s       r%   	test_climr  "  s    		!	!	#BBJJa%(eAh?BIIAA/0BII!Q!Q 01BMMQFQF#34BMMQFQF#34 %**		499%---r'   c                     SS/SS/SS/SS//n [         R                  R                  [         R                  R                  [         R                  R                  [         R                  R                  /n[         R                  " X5      n[
        R                  " 5       u  p4UR                  [        R                  " U5      5        UR                  5         UR                  5       S   S:X  d   eg )Nr   r   r;   r  )mpathr:  r>  CURVE3	CLOSEPOLYr)   r   r  r  r=  rh  r   )r'  codesr  r/   r$   s        r%   test_bezier_autoscaler  #  s     !WWVVE ZZZZZZZZ!!#E 	

5 AllnGCLL##A&'LLN ;;=t###r'   c                     [         R                  " / SS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PS	S/PS	S/PS
S/PS
S/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS/PSS /PS!S /PS!S"/PS#S"/PS#S$/PS%S$/PS%S&/PS'S&/PS'S(/PS)S(/PS)S*/PS+S*/PS+S,/PS-S,/PS-S./PS/S./PS/S0/PS1S0/PS1S2/PS3S2/PS3S4/PS5S4/PS5S2/PS6S2/PS6S4/PS.S4/PS.S7/PS8S7/PS8S0/PS9S0/PS9S:/PS;S:/PS;S*/PS<S*/PS<S(/PS=S(/PS=S&/PS>S&/PS>S$/PS?S$/PS?S@/PSAS@/PSAS /PSBS /PSBS/PSCS/PSCS/PSDS/PSDSE/PSFSE/PSFSG/PSHSG/PSHS/PSIS/PSIS/PSJS/PSJS/PSKS/PSKS/PSLS/PSLS/PSMS/PSMS/PSNS/PSNS/PSOS/PSOS/PSPS/PSPS/PSQS/PSQS/PSRS/PSRS/PSSS/PSSS/PSTS/PSTS/PSUS/PSUS/PSVS/PSVS/PSWS/PSWS/PSXS/PSXS/P5      n [         R                  " U S S 2SY4   5      n[         R                  " U S S 2SZ4   5      n[         R                  " U S S 2SY4   5      n[         R                  " U S S 2SZ4   5      n[        R
                  " U 5      n[        R                  " 5       u  pgUR                  [        R                  " U5      5        UR                  5         UR                  5       SY   U::  d   eUR                  5       SZ   U:  d   eUR                  5       SY   U::  d   eUR                  5       SZ   U:  d   eg )[Ngr  g)\(gQgzGg=
ףp=gg(\gRQgGzg
ףp=
ggQg=
ףp=g(\
gGz	r  gffffffgQgףp=
r  g(\g{Gz?gHzGg      ru  gQ g{Gz?gzGr   gRQr9  g(\gQ?g333333g(\?gr*  g=
ףp=g)\(?g\(\r  g=
ףp=gHzG?gQg(\?r  r   g(\տg{Gz?g
ףp=
ǿr  g{Gzgp=
ף?gףp=
?r  gQ?gQ?p=
ף?g(\?gq=
ףp?rg  g(\?r  gQ?gGz?g=
ףp=?gffffff @rF	  gGz@r  g(\@g=
ףp=@gQ@g@gGz@g\(\	@gp=
ף
@gQ@g333333@g{Gz@g(\@gQ@g)\(@g@gq=
ףp@gGz@gQ@r   r;   )rl   rO  rs  r  r  r:  r)   r   r  r  r=  rh  r   r   )r'  minxminymaxxmaxyr  r/   r$   s           r%   test_small_autoscaler  #  sO   HH 	t}',dm6;T]	t}',dm6;T] 
 t} (-dm 7<T] 
	 t}	 (-dm	 7<T]	
 

 t}
 (-dm
 7<T] 
 t} (-dm 7<T] 
 t} (-dm 7<T] 
 t} (-dm 7<T] 
 t} (-dm 7<T] 
 t} (-dm 7<T] 
 t} (-dm 7<T] 
 t} (-dm 7<T] 
 t} (-dm 7<T] 
 t} (-dm 7<T] 
 t} (-dm 7<T]  
!  t}!  (-dm!  7<T]!" 
#" t}#" (-dm#" 7<T]#$ 
%$ t}%$ (,Tl%$ 6:4L%$ DH,%& 
t'& Tl'& &*4L'& 48,'& BFt'( 
t)( Tl)( &*4L)( 48,)( BFt)* 
t+* Tl+* &*4L+* 48,+* BFt+, 
t-, Tl-, &*4L-, 48,-, BFt-. 
t/. Tl/. &*4L/. 48,/. BFt/0 
t10 Tl10 &*4L10 48,10 BFt12 
t32 Tl32 &*4L32 48,32 BFt34 
t54 Tl54 &*4L54 48,54 BFt56 
t76 Tl76 &*4L76 48,76 BFt78 
t98 Tl98 &*4L98 48,98 BFt9: 
t;: Tl;: &*4L;: 48,;: BFt;< 
t=< Tl=< &*4L=< 48,= EB 66%1+D66%1+D66%1+D66%1+D

5AllnGCLL##A&'LLN;;=t###;;=t###;;=t###;;=t###r'   c                  @   [         R                  " 5       u  pUR                  [        R                  " S5      5        [        S5       HS  nUR                  5       U   R                  5       U :X  d   eUR                  5       U   R                  5       U :X  a  MS   e   g )Nr   )	r)   r   r   rl   rt   r   r  rP  r
  )r/   r$   rH  s      r%   test_get_xticklabelr  P#  s    llnGCGGBIIbMRy!!#C(113#???!!#C(113#??? r'   c                     [         R                  " S[        S9n [         R                  " / SQ5      n[         R                  " S/S-  5      n[         R                  U S'   [
        R                  " 5       u  p4UR                  XUS9nUR                  XUS9nXV4 H  nUtp[         R                  " UR                  5      ) R                  5       (       d   e[         R                  " UR                  5       5      (       d   eU	 Hc  n
[         R                  " U
R                  5      R                  5       (       d   e[         R                  " U
R                  5       5      (       a  Mc   e   M     g )Nr   r  )r   r   r   r  r   r  r:  )rl   rt   r  rO  r  r)   r   r  r  isfiniter  any	get_widthr  )barx
barheights	barstartsr/   r$   r  hbarsbar_setnanfulrestr%  s              r%   test_bar_leading_nanr  X#  s   99Qe$D/*J$"IffDGllnGC66$965DGGD9G5E=VYY'',,....{{6++-....A;;qtt$((****;;q{{}----  !r'   c                 v   [         R                  R                  S5        U R                  5       nUR                  5       nUR	                  [
        R                  /[
        R                  /5        UR	                  S/S/5        UR	                  S/S/5      R                  5         UR	                  S/S/5        g )Nr   r;   )r   r   r   r   r  rl   r  rj  r  s       r%   test_bar_all_nanr  p#  s    IIMM'!GFKK266(#KKaS
JJsQC!
JJsQCr'   zextent_units.pngc            	         [         R                  " SS5      u  p[        R                  " SS5      n[        R                  " SS5      n[	        S5       VVs/ s H!  n[	        S5       Vs/ s H  oUU-   PM	     snPM#     nnnUS   R                  S5        US   R                  USS	S
X#/[        R                  S   S9nUS   R                  S5        US   R                  USX#S	S
/[        R                  S   S9nUS   R                  R                  [        R                  " S5      5        US   R                  USX#X#/[        R                  S   S9nUS   R                  R                  [        R                  " S5      5        US   R                  SS9  US   R                  US[        R                  S   S9nUR                  X2X2/5        US   R                  R                  [        R                  " S5      5        US   R                  SS9  [        R                   " ["        SS9   UR                  SSX#/SS9  S S S 5        g s  snf s  snnf ! , (       d  f       g = f)Nr<   z
2020-01-01r_  z
2020-01-11r   r  zDate extents on y axisr   r;   rO  plasma)r   r  r   r  z(Date extents on x axis (Day of Jan 2020)z%dro  zDay of Jan 2020)ry	  r}  )r   r   z set_extent\(\) got an unexpectedrr  r  Fr  )r)   r   rl   rk  r   r7   r   r   r  r]   r   r@  DateFormatterr   
set_extentr   r   r   )r  r  
date_first	date_lastrj  rC  rs  r  s           r%   test_extent_unitsr  }#  s+   \\!QFA|S1JlC0I-22Y
7Yr#AaC#YC
7I01	T		#g"#R!?"}}X6 
 
8B IBC	T		#g",B!?"}}X6 
 
8B IOO''(<(<T(BC	T		#g",","9"}}X6 
 
8B IOO''(<(<T(BCIMM*M+	T		#g"}}X6 
 
8BMM9)@AIOO''(<(<T(BCIMM*M+	y(K	L
q"j45A 
M	L5 $
74 
M	Ls$   I)I7I.II
I$c                  `   [         R                  " 5       u  pUR                  / / / / 5      nUR                  S//5      nX#/-    H)  nUR                  UL d   eUR                  5       U L a  M)   e   UR                  5         X#/-    H%  nUR                  b   eUR                  5       c  M%   e   g r
  )r)   r   r   r   ri  
get_figurer  )r/   r$   r*  rn  arts        r%   %test_cla_clears_children_axes_and_figr  #  s    llnGCGGBB#E
))aSE
Cu}xx2~~~~3&&&  HHJu}xx~~''' r'   c                      [         R                  " 5       u  pUR                  / SQUS9nUR                  5       nUR	                  5         UR                  SSS9  g )N)r;   r   r   r;   rb  rs  rq  rw  )r)   r   r  r  rj  r   )r/   r$   marginalmarginal_twins       r%   test_child_axes_removalr  #  sG    llnGC}}]2}6HNN$MOOFFhF'r'   c            	          S n Sn[         R                  " [        US9   Sn[        R                  R
                  R                  US 0 SU S9  S S S 5        g ! , (       d  f       g = f)Nc                      gr  r   r   r'   r%   r  5test_scatter_color_repr_error.<locals>.get_next_color#  r  r'   zZ'c' argument must be a color, a sequence of colors, or a sequence of numbers, not 'red\\n'rr  zred
r<   r(  )r   r   r  r   ri  r   r  )r  msgr?   s      r%   test_scatter_color_repr_errorr  #  sY    8  
z	-//tBa^ 	0 	M 
.	-	-s   .A
A$c                  
   [         R                  " 5       u  pUR                  S5        UR                  [	        S5      SSS9u  n[
        R                  " 5        nU R                  USS9  S S S 5        g ! , (       d  f       g = f)Nr   Tr;   )r  r  r  )r  )r)   r   set_rasterization_zorderr   r   r  r  r  )r/   r$   r  r%  s       r%   &test_zorder_and_explicit_rasterizationr  #  s\    llnGC"
''%(tA'
6CB	Ae$ 
s   A44
Bzpreset_clip_paths.pngc            
      *   [         R                  " 5       u  p[        R                  R	                  SS/SS/SS/SS//SSSSS9nUR                  U5        [        R                  R                  S	S
SUS9nUR                  [        R                  " 5       /5        UR                  U5        [        R                  R                  S	SSSUS9nUR                  U5        [        R                  R	                  SS/SS/SS//SSSSSUS9nUR                  U5        UR                  SSSSS0SUS9  [        R                  R	                  SS/SS/SS/SS//SSSSSUS9nU R                  USS9  UR                  SS5        UR                  SS5        g )Nr;   r   r   z#ddffddz#00ff00r<   r   )r5  r6  r7  r  rs  r  T)clip_onr  )r  r  rO  )r   r  r  re  z#beefc0r   z#faded0)r5  r  r6  r7  r  r  r$  )rd  rd  )r   rf  r   rE  )r  r  r  r  r  r5   )r5  r6  r7  r  r  r  r  )r)   r   r   r<  Polygonr  r*  r   set_path_effectsr   withTickedStroker;  r  r	  r
  )r/   r$   polyr  poly2poly3s         r%   test_preset_clip_pathsr  #  s    llnGC;;
Q!Q"a1b'*iq  5D LL99GZND;779:;MM$99G\d&*  ,DMM$KK
a1a&1e*%#q$$   HE MM% KKn[#S>44  I KK
Q!SC:Qx0C33   >E NN5tN$KKAKKAr'   c                     S[         R                  S'   S[         R                  S'   S[         R                  S'   [        R                  " 5       n U R                  R
                  R                  5       S:X  d   eU R                  R
                  R                  5       S:X  d   eU R                  R
                  R                  5       S:X  d   eg )Nr9  zaxes.labelcolorr  zaxes.labelsizer
  zaxes.labelweight)	r   r   r)   ri  r]   r2   r  get_fontsizeget_fontweightr  s    r%   test_rc_axes_label_formattingr  #  s    &+CLL"#%'CLL!"'-CLL#$	B88>>##%...88>>&&(B...88>>((*f444r'   c                    [         R                  " S[         R                  * [         R                  * [         R                  SSS/5      n[        [	        U5      5      nU R                  SS5      n[        USS/5       H  u  pVUR                  X&S9nUR                  SS[         R                  R                  U5      US	.US
S
SS9n[	        UR                  5       5      [         R                  " U5      ) R                  5       S-   :X  d   e[	        UR                  5       5      [	        1 U[         R                  " U5      )    k5      S-   :X  a  M   e   UR                  SS5      n	U	S   R                  [         R                  * [         R                  * [         R                  * SSSS[         R                  /[         R                  " S5      S-  SS9  U	S   R                  [         R                  * SSS[         R                  [         R                  /[         R                  " / SQ5      S-  SSS9  U	S   R                  [         R                  " S5      S-  [         R                  * [         R                  * [         R                  * SSSS[         R                  /SS9  U	S   R                  [         R                  " / SQ5      S-  [         R                  * SSS[         R                  [         R                  /SSS9  g )Nr   r;   r<   r|  rT   rU   r  ro  )r  ro  Tr  )r  rV   complementarycompressr  r  rj  r(  )ds)r  r  rM  r  r   r   r  z	steps-pre)r  r  )rl   rO  r  r   r  r   r  ecdfr	   	get_xdataisnanr  r   rt   )
r"   r#   r  r  r   r$   rV   l0l1r   s
             r%   	test_ecdfr  #  sd   88Q"&&"&&!Q:;DCIG  A&Hx*l)CDWWTW3WWS#"%%++d*;'$J!,#'$3  @ 2<<>"&;&;&=&AAAA2<<>"c*BD"((4.,A*B&Ca&GGGG E q!$GAJOObffWrvvgw1aBFFCIIaL1$  7AJOObffWaArvvrvv6HH34r9"s  , AJOOBIIaL1$ffWrvvgw1aBFFC"  $ AJOOBHH34r9ffWaArvvrvv6#  -r'   c                     [         R                  " [        5         [        R                  " S[
        R                  /5        S S S 5        [         R                  " [        5         [        R                  " [
        R                  R                  SS/SS/S95        S S S 5        g ! , (       d  f       Nh= f! , (       d  f       g = f)Nr;   r<   TFr  )	r   r   r  r)   r  rl   r  r	   rO  r   r'   r%   test_ecdf_invalidr  $  sp    	z	"!RVV 
#	z	"aV4-89 
#	" 
#	"	"	"s   'B$$7B5$
B25
Cc            
         [         R                  " 5       u  p[        R                  " SS[        R                  -  S5      nS[        R
                  " U5      -  nSnUR                  X#SS9  UR                  5       UR                  5       4nUR                  USS	S
S9  UR                  USSX4:  SSUR                  5       S9  UR                  5       UR                  5       4U:X  d   eg )Nr   r0  r  r   g333333?r:  rP  r   r<   r  )r   rL  r  r;   r   )r=  r   r  r4  )r)   r   rl   rt   r  r  r   r   r   rv   r  r(	  )r/   r$   r4   r5   	thresholdoriginal_limss         r%   test_fill_between_axes_limitsr  $  s    llnGC
		!QY%ABFF1IAIGGAG [[]BKKM2MJJyASJ9OOAq!1=!8N8N8P  R KKM2;;=)]:::r'   c                  J   [         R                  " 5       u  pUR                  / SQ/ SQ5        UR                  SSS9  UR	                  SSS9  UR                  SSS	9  [         R                  " S
5        UR                  5        H  nUR                  5       S   S:X  a  M   e   g )Nr  zX label in Impact fontImpact)fontnamezY label in xkcd scriptzxkcd scriptrO  	monospace)r   labelfontfamilyzTitle in sans-serifr   )	r)   r   r   r*   r+   r	  r3   r  get_fontfamily)r/   r$   r  s      r%   test_tick_param_labelfontr  .$  s    llnGCGGL,'MM*XM>MM*]MCNNkN:II#$""$""$Q';666 %r'   c                     [         R                  " 5       u  pUR                  SSS9n[        R                  " UR
                  S   R                  5       S5      (       d   e[        R                  " UR
                  S   R                  5       S5      (       d   e[        R                  " UR                  R                  5       S   S5      (       d   e[        R                  " UR                  R                  5       S   S5      (       d   e[        R                  " UR                  R                  R                  5       S5      (       d   eg )NrA   r9  rP  rR   r   r	  )r)   r   r  r  r  r	  rc  r]   rn  r2   r  )r/   r$   saxs      r%   test_set_secondary_axis_colorr  9$  s    llnGC


U%

0Ccjj2@@BEJJJJcjj/==?GGGGcii779'BEJJJJcii779,GOOOOciioo7795AAAAr'   c                  (   [         R                  " SSSS9u  p/ nUS   R                  R                  SUR                  5        US   R                  R                  SUR                  5        US   R                  SS/SS	/S
9  X!S   US   /:X  d   eg )Nr<   Tr	  r;   xlim_changedylim_changedr   r   r0  rw  )r)   r   	callbacksconnectr  r   )r/   r  eventss      r%   test_xylim_changed_sharedr  C$  s    ||Ad48HCFF^V]];F^V]];FJJQF!QJ(!fc!f%%%%r'   zaxhvlinespan_interpolation.pngc            	      >   [         R                  " 5       R                  SS9n U R                  5         U R	                  SSS9  U R                  SSSS	9  U R                  S
SSSSS	9  U R                  SSSS9  U R                  SSSSS9  U R                  SSSSSSS9  g )Nr-  r  r   r  rQ  r   r   rc  )fcrF  r   rd  r;   )r?   r  r  rM  )r   r  r  r  )r)   r   r   r}  r  r  rv   r  r  s    r%   test_axhvlinespan_interpolationr  L$  s    		!	!W	!	5BOOJJrTJJJr2$JJJr2r2$J'JJqDJ#JJr2$bJ)JJr2r2$bJ1r'   r"  c                 p   UR                  5       nU R                  5       n0 SS_SS_SS_SS_SS	_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SSSSS .EnUR                  " S#S!U0UD6  UR                  " S#S!U0UD6  UR                  5         UR                  S5        UR                  S5        g")$z<Test that the given tick params are not reset by ax.clear().r	  r	  r	  r   r  r   zxkcd:wine redr	  r   r  serifr  rj  r	  r  r	  zxkcd:shocking pinkr	  zxkcd:fluorescent greenr	  r   r	  r   r	  r  rR   FrA   TrS   rE   )r  r  r  r  r"  Nr   )r   r	  r  r  )r#   r"   r"  ry   rz   r  s         r%   test_axes_clear_behaviorr  X$  sS    !GFT" 	 		
 	q 	7 	! 	 	* 	. 	c 	! 	#  	%!" 	t#$ 	%& 	'( /F4 ,E,V,-U-f-MMO
KKLLr'   )r   rU  r   finalz/https://github.com/python/cpython/issues/124538)reasonc                  $   S n [        5       nUR                  5       n[        R                  R	                  S5      nUR                  X35        UR                  X35        UR                  5       nUR                  5         U Vs/ s H"  n[        U[        [        45      (       d  M   UPM$     nn[        U5      S:  d   eU H  nU " U5        M     [        U5      S:  d   eU H  n UR                  5         M     g s  snf ! [         a     M+  f = f)Nc                 P   [        U /5      n[        5       n[        U5      S:  a  UR                  5       n[        R
                  " U5       HE  n[        U5      U;   a  M  X@Ld   eUR                  [        U5      5        UR                  U5        MG     [        U5      S:  a  M  g g r6  )	r   r   r  popleftgcget_referentsidaddr  )rw  to_visitexploredparentchilds        r%   assert_not_in_reference_cycleFtest_axes_clear_reference_cycle.<locals>.assert_not_in_reference_cycle$  s    %>5(ma%%'F))&1e9()))RY'& 2 (mar'   r  r   )r   r   rl   rm   r   r   r=   r  r  r   r   r   r  rj  NotImplementedError)	r  r/   r$   rR  ax_childrenr   big_artists
big_artistr  s	            r%   test_axes_clear_reference_cycler  $  s    
' (C		BYY^^D!FGGFJJv//#KIIK aa&.12 	
;   {a!
%j1 "{a	LLN  # 		s   C<&C<'D
DDc                  v   [         R                  R                  S5        [         R                  R                  S5      n [        R                  " SSSS9u  p[
        R                  " [        R                  SS9   US	   R                  U / S
QS9  S S S 5        US	   R                  5        Vs/ s H  o3R                  5       PM     sn/ S
Q:X  d   eUS   R                  U / S
QS9  US   R                  5        Vs/ s H  o3R                  5       PM     sn/ S
Q:X  d   eg ! , (       d  f       N= fs  snf s  snf )Nrb   )r   r   r;   r<   T)r  r  rc  zhas been renamed 'tick_labels'rr  r   r  rk
  )tick_labels)rl   rm   rn   r)   r   r   r  r   rl  r  r  rP  )r  r/   r  r/
  s       r%   test_boxplot_tick_labelsr  $  s     IINN899G$D||!1T:HC	c66>
@AtO4
@ #&a&"8"8":;":QJJL":;NNN FNN4_N5"%a&"8"8":;":QJJL":;NNN
@ 
@ < <s   :D -D1;D6 
D.c                     / SQnU R                  5       nUR                  USSS0S9  UR                  5       nUR                  USSS0S9  g )N)r  r   r1  z%1.0f%%usetexT)r$
  rX
  z%1.0f\%%)r   r(
  )r"   r#   r  r$   r  s        r%   test_latex_pie_percentr  $  sS     D				BFF4x.>F?



CGGD+(D1AGBr'   c                 .   [         R                  " SSS9u  p#[        R                  R	                  S5        [        SS5       Vs/ s H$  n[        R                  R                  SUS5      PM&     nnUS   R                  U5        [        US   R                  5       [        R                  " / S	Q5      :H  5      (       d   e[        US   R                  5       [        R                  " / S
Q5      :H  5      (       d   eUS   R                  USS9  [        US   R                  5       [        R                  " / S
Q5      :H  5      (       d   e[        US   R                  5       [        R                  " / S	Q5      :H  5      (       d   e[         R                  " 5         UR                  5       n[        R                  " [        SS9   UR                  USS9  S S S 5        U R                  5       nUR                  USS9  g s  snf ! , (       d  f       N4= f)Nr;   r   r  rb   r   r   r   r   )	r   r   r   r   rD  r  r  r  rl  g      >g      4r  r  r6  r]  r5  rT   rU   z
vert: boolrr  F)vert)r)   r   rl   rm   rn   r   ro   rA  r  r  rO  r
  rm  r   r  r  r"   r#   r/   r  stdall_datarz   ry   s           r%   test_violinplot_orientationr%  $  s    ||!1-HCIINN89>q"F#		  C-HFFhs1v  "bhh1'3 3 4 4 4 4s1v  "bhh-'/ / 0 0 0 0 FhL9s1v  "bhh-'/ / 0 0 0 0s1v  "bhh1'3 3 4 4 4 4 IIK F	/|	D(/ 
E !Gx\:7 G. 
E	Ds   +HH
Hc                    [         R                  " SSS9u  p#[        R                  R	                  S5        [        SS5       Vs/ s H$  n[        R                  R                  SUS5      PM&     nnUS   R                  U5        [        US   R                  5       [        R                  " / S	Q5      :H  5      (       d   e[        US   R                  5       [        R                  " / S
Q5      :H  5      (       d   eUS   R                  USS9  [        US   R                  5       [        R                  " / S
Q5      :H  5      (       d   e[        US   R                  5       [        R                  " / S	Q5      :H  5      (       d   e[         R                  " 5         [        R                  " [        R                   SS9   [        R"                  " SS05         UR                  5       nUR                  U5        S S S 5        U R                  5       nUR                  USS9  S S S 5        g s  snf ! , (       d  f       N<= f! , (       d  f       g = f)Nr;   r<   r  rb   r   r   r   r   r  r   rT   rU   z!was deprecated in Matplotlib 3.10rr  zboxplot.verticalF)r)   r   rl   rm   rn   r   ro   r  r  r  rO  r
  rm  r   r  r   rl  r   r"  s           r%   test_boxplot_orientationr'  $  s    ||!1-HCIINN89>q"F#		  C-HFFNN8s1v  "bhh'     s1v  "bhh-'/ / 0 0 0 0 FNN8N6s1v  "bhh-'/ / 0 0 0 0s1v  "bhh'      IIK 
c66?
A ^^/78%%'FNN8$ 9 ##%l;
A 
A+ G2 98	
A 
As*   +H-I"H2<(I2
I 	<I
Izuse_colorizer_keyword.pngr  c            
         [         R                  R                  S5        [         R                  R                  S5      n [         R                  R                  S5      n[         R                  " SSS9R	                  S5      n[
        R                  " SS5      u  p4[        R                  R                  SS	5      n[        R                  R                  US
S9nUS   R                  X"X&S9  US   R                  XUSS9  US   R                  X&S9  US   R                  X&S9  US   R!                  X&S9  US   R#                  X&S9  US   R#                  SSUUS9  US   R#                  UR$                  X"S S2S S24   US9  US   R'                  X&S9  US   R)                  X&S9  US   R+                  UR$                  R-                  5       UR-                  5       UR-                  5       US9  US   R/                  UR$                  R-                  5       UR-                  5       UR-                  5       US9  UR1                  [         R2                  " [         R2                  " USSS9SSS9US9  [5        U5        g ) Nr   r   rX  float32r  r  r   r0  r  rt  r  r   r  r?   	colorizerr  r~  r,  r  r  )r,  r   r   ro  r}  r/  r3  r   r;   r<   r   r   r   r;   r   rP  r<   r;   r  r   r  r;   )rl   rm   rn   rt   r   r)   r   r   r  r  r,  	Colorizerr=   r  r   ri  r  r  r  r  r  
tricontourrx  tricontourffigimager  r   )rand_xrand_yr?   r/   ri  r  cls          r%   test_use_colorizer_keywordr9  %  s)    IINN1YYc"FYYc"F
		"I&..v6AQ"IC::2&D		 	 d	 	8BJqq/JfVDJa&Ja&J!*J!*J,.@1$&  (J!##qBQBF)r:Jq'J(J!##))+qwwy!'')rJJ13399;	1779KLL299Q3Ra@BLOC r'   c            
      <   [         R                  R                  S5        [         R                  R                  S5      n [         R                  R                  S5      n[         R                  " SSS9R	                  S5      n[
        R                  " SS5      u  p4[        R                  R                  SS	5      n[        R                  R                  US
S9nSnSS0SS0SS0SS0/nU H=  n	[        R                  " [        US9   US   R                  " X"4X&S.U	D6  S S S 5        M?     U H=  n	[        R                  " [        US9   US   R                  " X"4X&S.U	D6  S S S 5        M?     U H>  n	[        R                  " [        US9   US   R                   " X4USS.U	D6  S S S 5        M@     U H=  n	[        R                  " [        US9   US   R"                  " U4SU0U	D6  S S S 5        M?     U H=  n	[        R                  " [        US9   US   R$                  " U4SU0U	D6  S S S 5        M?     U H=  n	[        R                  " [        US9   US   R&                  " U4SU0U	D6  S S S 5        M?     U H=  n	[        R                  " [        US9   US   R(                  " U4SU0U	D6  S S S 5        M?     U H?  n	[        R                  " [        US9   US   R(                  " SS U4SU0U	D6  S S S 5        MA     U HQ  n	[        R                  " [        US9   US!   R(                  " UR*                  X"S S2S S24   4SU0U	D6  S S S 5        MS     U H=  n	[        R                  " [        US9   US"   R,                  " U4SU0U	D6  S S S 5        M?     U H=  n	[        R                  " [        US9   US#   R.                  " U4SU0U	D6  S S S 5        M?     U Hs  n	[        R                  " [        US9   US   R0                  " UR*                  R3                  5       UR3                  5       UR3                  5       4SU0U	D6  S S S 5        Mu     U Hs  n	[        R                  " [        US9   US$   R4                  " UR*                  R3                  5       UR3                  5       UR3                  5       4SU0U	D6  S S S 5        Mu     U H:  n	[        R                  " [        US9   UR6                  " U4SU0U	D6  S S S 5        M<     g ! , (       d  f       GM9  = f! , (       d  f       GM	  = f! , (       d  f       GM  = f! , (       d  f       GM  = f! , (       d  f       GMx  = f! , (       d  f       GMH  = f! , (       d  f       GM  = f! , (       d  f       GM  = f! , (       d  f       GM  = f! , (       d  f       GMr  = f! , (       d  f       GMB  = f! , (       d  f       GM  = f! , (       d  f       GM  = f! , (       d  f       GMF  = f)%Nr   r   rX  r)  r  r  r   r0  r  rt  r*  z5The `colorizer` keyword cannot be used simultaneouslyr  r  r  r.  r   r  rr  r  r+  r  r~  r-  r  r,  r.  ro  r}  r/  r3  r/  r0  rP  r1  r  )rl   rm   rn   rt   r   r)   r   r   r  r  r,  r2  r   r   r  r=   r  r   ri  r  r  r  r  r  r3  rx  r4  r5  )
r6  r7  r?   r/   ri  r  r8  	match_strkwrdskwrds
             r%   test_wrong_use_colorizerr>  7%  s   IINN1YYc"FYYc"F
		"I&..v6AQ"IC::2&D		 	 d	 	8BGIa[61+8KLE]]:Y7Jq?q?$? 87  ]]:Y7Jq?q?$? 87  ]]:Y7JfTVTtT 87  ]]:Y7Ja6266 87  ]]:Y7Ja6266 87  ]]:Y7J!!!:r:T: 87  ]]:Y7J!!!:r:T: 87  ]]:Y7J!!"46H1 8,.8268 87  ]]:Y7J!!!##qBQBF)JrJTJ 87  ]]:Y7Jq7B7$7 87  ]]:Y7J8R848 87  ]]:Y7J!!!##))+qwwy!'') *r *$(* 87  ]]:Y7J""13399;	1779 +PR +%)+ 87  ]]:Y7LL1b1D1 87 S 87 87 87 87 87 87 87 87 87 87 87 87 87 87s   T
T'T:UU U3VV"-V,9V?<W?AW%8AW81X
T$	'
T7	:
U
	
U	 
U0	3
V	
V	
V)	,
V<	?
W	
W"	%
W5	8
X	
X	c                     [         R                  " 5       u  pUR                  / SQ/ SQ5      nU H/  n[        R                  " UR                  5       S5      (       a  M/   e   UR                  / SQ/ SQSS9nU H/  n[        R                  " UR                  5       S5      (       a  M/   e   UR                  / SQ/ SQSS	9nU H/  n[        R                  " UR                  5       S5      (       a  M/   e   UR                  / S
Q/ SQSSS9nU H/  n[        R                  " UR                  5       S5      (       a  M/   e   g )Nr  r  r   )rO  r  rU  r9  rP  )r  r  r_  r  r<  )   r   !   r   )r   r5  )r)   r   r  r  r  rb  )r/   r$   r  r  s       r%   test_bar_color_precedencerB  s%  s   llnGC 66)Y'D!!#"3"3"5v>>>>  66,	67D!!#"3"3"5u====  66,	X6>D!!#"3"3"5x@@@@  66,	'6JD!!#"3"3"5w???? r'   c                    [         R                  " SS/SS//5      nU R                  U5      nUR                  / SQ5        UR                  UR
                  UR                  UR                  4S:X  d   eUR                  / SQ5      ng )Nr  r   )r  r  r   r   )r  r  r   r   )r  r  rP  r	  rN  rO  r  r  )r"   r#   r	
  ry   rz   s        r%   .test_axes_set_position_external_bbox_unchangedrD  %  sy     c3Z#s45D%G/0GGTWWdjj$++6:NNNN45Fr'   rz  (  r  r  r   r   r>  r  r   	functoolsr   r
  r   r  	itertoolsr   platformsysr  r   dateutil.tzr6  numpyrl   r	   r
   r   rY   r   r   r   matplotlib.colorsr  r  matplotlib.datesr  r@  matplotlib.figurer   matplotlib.axesr   r)  r   matplotlib.collectionsr   matplotlib.font_managerfont_managermfont_managermatplotlib.markersr  r  matplotlib.patchesr<  r  matplotlib.pathr9  r  matplotlib.projections.geor   matplotlib.projections.polarr   matplotlib.pyplotpyplotr)   matplotlib.textr  r#  matplotlib.tickertickerr   matplotlib.transforms
transformsr  mpl_toolkits.axisartist
axisartistrA  numpy.testingr   r   r   matplotlib.testing.decoratorsr   r   r   matplotlib.testing._markersr   r&   r0   r9   rP   rW   rZ   r`   r}   r   r   r   r   r   machiner   r   r   r  r  r  r  r)  rD  rT  r^  rp  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r,  rI  rS  r[  r`  rg  rp  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r(  r  rt   r/  r7  rB  rK  rS  rX  r`  rj  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&  r(  r*  r.  r2  r9  r>  r@  rB  rF  rH  rP  rS  rX  r\  rg  ri  rk  rt  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rA  r  r  Patchr  r*  r  r  r1  r7  r@  rB  rF  rI  rL  rP  rR  r^  re  ri  rl  rq  r|  r  r  r  r  r  r  rO  r  r  r$  r)  r-  COLOR_TEST_CASESr.  r1  rC  rI  rX  r\  r^  rf  rr  rv  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#  r&  r(  r,  r7  r<  rB  rF  rI  rK  rO  rS  rV  rY  r[  r]  r_  ra  rd  rg  rm  rp  rr  rw  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+  r4  r9  r<  r>  r@  rB  rD  rM  rP  rY  r[  re  ro  rt  rv  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+	  r4	  r@	  rE	  r^	  rb	  rf	  rn	  rr	  rt	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r  rv   r  r  r	  r	  r	  r	  r	  r	  r   r  r0  r 
  r
  r
  r
  r
  r*
  r1
  r;
  r>
  rA
  rD
  rH
  rK
  rP
  r`
  rd
  rg
  rl
  rn
  rt
  rx
  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  	AxesImagePcolorImagerm   QuadMeshr   r   r
  r
  r
  r
  r
  r   r	  r  r  r  r  r  r  r$  r&  fixturer4  r8  r:  r=  rA  rD  rF  rL  rN  rT  rX  r[  r`  rd  ri  rk  ry  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  r7  r:  r?  rB  rL  rO  rR  rZ  r\  r^  r`  rc  	Transformre  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/  r1  font_scalingsr5  r8  r<  r>  r@  rB  rF  rM  rO  rT  rV  rY  r[  r_  ra  rd  rf  r  rj  rl  rn  rr  rt  rw  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  skipifversion_inforeleaselevelr  r  r  r%  r'  r9  r>  rB  rD  )rC  r  s   00r%   <module>rp     s48    )    	  	   
 !        . # ! $   # 1 / % %  1 2   # + $D DD D 4 ( )
(M (/ )/$ (. ).$ (/ )/(@, (( )($ (( )(( (, ),*3 (, ), E!QKHKq&qgT2KH#++-9auF$F$NJ4G2 678 90". ,J -J  ,T2'% 3 -'%T '(#++-9auFF","1h0f/ ( ) -.DA% B% 9! !. 93 3" 90 0$ ( ) )*GL6 M6$ ,-4wO P,@ ?#6; 7; %&D9) :)4('' #$UBK@ AB5 (
J )
J; >>23' 4'" $%W5- 6- ( )/ =/ug"'3/3/ &'(* )* &'T2* 3* &(;<$O< P<	- %&D9
* :
*' #$G4/ 5/*$ &'wDI	( J	($ (## )##L$4 %&' ( 9<>(
< )> 
< 8X&DH I( =/#++-9atE&E&,F -.DA B 	&	1a 	34	 "((6"2A6	34	 !RXXf%56  
#
# 	&	1a 	34	 "((6"2A6	34	 !RXXf%56  
$
$ 12#++-9auF'F'. <=T33& 56DI1 J1& <.! " =/t4	  5	 ( <.d32 42. %&E7; <2 %&E5>"$F$FB '9:(G ) ;G (
. )
. 12'B# C#6 -.g># ?#05 p
-. (0 )0 (0 )0// %/(( ) 0(" ;-#++-9atEE
 #$$iH IB =/t4! 5!H0 ?#6
 7
 '(dF G" 01tO; P;0 78dK L4 -.DA; B;4 ()M? N?. 56DI; J;2 >"5= 6= .0KLM	> N	> 

 012 3 DEF G (
# )
# (
= )
= (
+ )
+ (
- )
-64 ()* +4P '"+<3&% 9(
% ) 
% A	a|nc*	,	,	(	,(@	!<	1	,	3V	=880
 >"5( 6( (7 )72 '(d;  < + ()t<! =! )*=H >H$ %&'  ( -! *)),,+EG/	  0E0E" 9q'4)8Q-)*:	*: + #++"3"3":":;!399#3#3#:#:;'):):)A)ABDE,	E,	
 (( )(V (# )#2 ( ). (
K )
K*+
#
)' ,-4@ A. -./ 0 ( ) %&DH* I* %&g#++-9atE%E%* <.DP= Q=" )*GL
. M
.'j1 j1Z	*4 * *
Y
, iBHHl^457nBHHl^457C BHHl^457 CBHHl^457S#Jc
288\=,I#JKM44  !
fd^
Sk4
cC 
sCj!C:.
S3
fv&
fv&
SS)3/
SCC0#6
os
$c*	4	4M 	 V_w)*i34  )9:9 ;9$ )9:3 ;32)X5 -/IJ#++-9auFF( 01tDE EE0 ( )* 4$ %&!&!## &'!&!#7#7 +,!&!#6#6 )*!&!#0#0 '("!&!	
@
@ )*!&!@	@ ()"!&!#9	#9 ./"!&!#G	#G *+"!&!#A	#A
 12"!&!#	# &'"!&!#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#59
 =-0d)L M$ (
 )
 12!&9>7>7 %&D	J K $%"!&!#	# 98:!##  ./!&$y*:5*:5z -."5"+YPP  45"5"+YPP99C6$ ;<"5"+YP#P# 113 4040 234% 5% 456% 7% 456$ 7$ 012N 3N 89:0 ;0 9:;1 <1 2348 58 5677 87 3458 68 5677 87 123N 4N 9:;C <C :;<D =D )*GLE ME0B@A (5 )5 (E )E	+F) TU3; V3;l 23F< G<BE (> )>9$ ()*+4 ++4\C$3" ( )(5"7*6 ((3 )(3V 	(*(;()(+ ,N,N (. ). 	. 	. 02OPQ
A R
A $%& ' ?#6 7 ()*A +A -./M 0M :,g4@ A>,>4B )*'tL& M& 678F 9F *+,5 -5 ,-.2 /2 )*== >=1	14040 )*+E ,E" [/$B%0/$B%,.>$?%02B$C%0+$>%,o$>$@ A (+ )A+ 
01 9
 )5s),3@ADcK(.),3@AI3P(4s),./2C9(.),./7>(4s),./2C9(.),./7>(4),3@ADcK(.S),./7>(4sCS#N(.=xM(43GcR(.SA8TR(43GsS(.SA9cR&5tSA&/DA/CD:N;D:N"9
 ' ()t<3 =3 >"5 6  '(d; <5.5* <.d3" 4": ?O4$G(+ H(+V 01tD E  ( & 
1
1*2( 67TJ" K"8 2$aV1vrl!CD(HI J E ( ) &'T:@ ;@ &'#++-9auF&F& '(d; < +-BC#++-9auF)F)8 (	, )	, (! )!, () ))  (( )(&( F#W&#&#L? F#W&#&#L? 1aBFFA"6"$%%"4"4_a"H"J K(J )KJ 45#WG5	5	 #%56D> %&D9 :2? 8$i1J	1J@ L$i1J	1JB =$i1,	1,D% () ))"- H%!)!)> ! 	)	)@- ( ) $%4#++-9auF)&F)&X +-EF"$E$E: C F 
0
0= 
= ( )& 74 4*. 3;;T*J+.;;V*L*N O(O(	
-2C(% 3$fb./ &y"#$ %1vj"8:$egt}#$""
#4 ,- --2$ $%40; 1; K#WG??> *+7E F& ()dC D %&g4@ A '(UC D4 ./wEJ K %&D1
 2
 #$G?? @?.8,0.1%/ () )) (6 )6 +,#++-9auF3F32- (2 )2*C	/1 /015 25)8& +,UBKH7 I7!:H## 3	UB DE	Wb"FG	UWsBi)MN	UWsBi)MN	E+	K	M	EC8	K	M	Ir#KL
6 
$
$'0(&C4 ?#E2;? @ =/%=% >%*1(-.MO 	SYY  !	399../
(E!H	syy223
L	)				 
))

6
"BII$4$4V$<	=		!	!	#
 
RYYr]""6*BIINN1a,CD1
1
GK*+$!%
7, #;#=> ? =/t4; 5;N ($ D%=1 2 <.d=6 >6 +,$g#++-9auF6F6* 9* *B Sz"; #;$ IJ K ;="	3 9G G 9F F!
L%89 
26
B	C?? %  ()s35 45$ ()*N +N$ ./S9K :K$ ?#6- 7-&!*--    
 
 &
'	-;8H)& 9J J6B	.
 3	qcU]B/1NO	qcU]B/1NO	qcU\2.0LM	qcU\2.0LM	qcUWbM+BC	aS"AB	qcU]QF3	@	B	qcU]QF3	@	B	qcU\Aq62	?	A	qcU\Aq62	?	A	qcUWq!f-	:	<	qcUX1v.	;	=#6 (')('
N	 He#45He#45 6 6G,
 ($ )$ (7 )7
	A::D $%4wG	 H	)& t}5t}5B 6 6B0
5M!;HF$ 34GQU#++-9auF2F2&;(( & %&g#++-9auF,F,,
3G+0D. %&DHP IP"+(\$NN=<=6F,D> (( )() )"02$
6.161.%	1?? ,!45/ 6 -/$ (> )> 9) )1174 =3N3N "73N4%) #'3N "79D"E F9M FM-L (K )K& ( )5 :;) <)
69
9999
9 :;< =
!
6 
Hhoo! ++('992(O 9O O+\  (  $58(<!=>* ?**:5"
4.$*1$h@.0 (	 )	 %&g6B 7BD
((M% *+W#++-9auF!F!H 95 5 (- )-2:; 7B& 34IF2 G2 (*-& . )&R RaJ&S3+;+;+H+HG+S<  $	$NO$ (C ) C ( ; ) ;F (#< )#<L ./$,,.(:qF!F!:92x@2 (6 )6{d IbB"7s   &B_QB_$
QB_$
