
    h                    VO   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" 5       S 5       rW\P" 5       S 5       rX\P" 5       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!Q\R                  " 5       S":X  a  S OS#S$9S% 5       raS& rbS' rc\O" S(/5      S) 5       rdS* re\R                  R                  S+S,5      S- 5       rh\R                  R                  S+S,5      \P" S/S.S/9S0 5       5       ri\O" S1/\R                  " 5       S":X  a  S OS2S$9S3 5       rjS4 rkS5 rlS6 rmS7 rn\P" S/S9S8 5       ro\O" S9/S:S;9S< 5       rp\R                  R                  S=5      S> 5       rs\R                  R                  S=5      S? 5       rt\R                  R                  S=5      S@ 5       ru\P" S/S9SA 5       rv\O" SB/S:SCSD9SE 5       rw\O" SF/S:SCSD9SG 5       rxSH rySI rzSJ r{\O" SK/S:S;9SL 5       r|\O" SM/S:S;9SN 5       r}SO r~SP rSQ rSR r\O" SS/STSU0SV9SW 5       rSX r\P" S/S9SY 5       rSZ r\O" S[S[/5      S\ 5       r\O" S]/SCS^9S_ 5       r\P" S/S9S` 5       rSa r\O" Sb/S/S:SCSc9Sd 5       r\O" Se/5      Sf 5       r\O" Sg/ShS$9Si 5       r\O" SjSj/S:S;9Sk 5       rSl rSm r\O" Sn/S:S;9So 5       rSp r\O" Sq/SCS^9Sr 5       rSs r\O" St/SCS:Su9Sv 5       rSw r\P" S/S9Sx 5       rSy r\O" Sz/5      S{ 5       r\R                  R                  S=5      \R                  R                  S|/ S}Q5      \P" S/S9S~ 5       5       5       r\O" SS/S:SCSD9S 5       r\O" S/SC\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>                  " SSSh5      \GR<                  " S5      S4\GR>                  " SSSh5      S\GR<                  " S5      4// SQS9S 5       r\R                  R                  S\GR<                  " S5      SS4\GR>                  " SSSh5      \GR<                  " S5      S4\GR>                  " SSSh5      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/SCS:Su9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/SCS^9S 5       r\O" S/SCS^9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ShS$9S 5       r\O" S/S:S=SD9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/S=S:Su9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                  S=5      \P" 5       S 5       5       r\R                  R                  SSSSS/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       rS r\O" S/S:S;9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/ S4/ /S4/ / /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:SCSD9GS& 5       r\O" GS'/SC\R                  " 5       S":X  a  S OGS(S9GS) 5       r\O" GS*GS*/S:SCSD9GS+ 5       r\O" GS,/S:SCSD9GS- 5       rGS. r " GS/ GS05      rGSSGS1.GS2 jjr\" GS3GS45      Gr \R                  R                  GS5\" 5       G\ " GS6\GR                  " / GS7Q/5      GS894\" GS9GS:9G\ " GS9\GR                  " / GS;Q/5      GS894\" GS9GS6GS89G\ " GS9\GR                  " / GS;Q/5      GS894\" GS6GS<9G\ " GS6\GR                  " / GS7Q/5      GS894\" GS6GS=/GS<9G\ " GS6GS=/\GR                  " / GS7Q/ GS>Q/5      GS894/5      GS? 5       GrCGC \R                  R                  GS@G\" 5       S4G\" GS6GS:9S4G\" GS9GS19GS94G\" GS9GS=/GS19GS9GS=/4G\" GS9GSA9GS94G\" GSBGS19GSB4G\" GSCGS19GSC4G\" GS9GS=GSD9GS94G\" GS6GS9GS=GSE9GS94G\" GS9GS<9GS94G\" GS9GS=GSF9GS=4/5      GSG 5       GrGSH GrGSIGrGSJGSKGSL/GSMGSN/4/ GSOQ/ GSPQ// GSQQ/ GSRQ/4/Gr\R                  R                  GSSG\5      GST 5       Gr\R                  R                  GSSG\5      GSU 5       Gr	GSV Gr
GSW GrGSX GrGSY GrGSZ 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S^ 5       Gr\P" 5       GS_ 5       Gr0 GS` 0 4GSa jGr\O" GSb/STGSc0S=GSd9GSe 5       Gr\O" GSf/STGSc0S=GSd9GSg 5       Gr\O" GSh/STGSc0S=GSd9GSi 5       Gr\O" GSj/STGSc0S=GSd9GSk 5       Gr\O" GSl/S:STGSc0S=GSmGSn9GSo 5       Gr\O" GSp/STGSc0S=GSmGSq9GSr 5       Gr\O" GSs/S:STGSc0S=GSt9GSu 5       Gr\O" GSv/S:STGSw0S=GSt9GSx 5       Gr\O" GSy/S:STGSc0S=GSt9GSz 5       Gr\O" GS{/S:STGSc0S=GSt9GS| 5       Gr\O" GS}/S:STGSc0S=GSt9GS~ 5       Gr\O" GS/S:STGSc0S=GSt9GS 5       Gr\O" GS/S:STGSc0S=GSt9GS 5       Gr\O" GS/S:STGSc0S=GSt9GS 5       Gr \P" 5       GS 5       Gr!\O" GS/S:STGSc0S=GSt9GS 5       Gr"\O" GS/S:STGSc0S=GSt9GS 5       Gr#\O" GS/S:STGSc0S=GSt9GS 5       Gr$\O" GS/S:STGSc0S=GSt9GS 5       Gr%\O" GS/S:STGSc0S=GSt9GS 5       Gr&\O" GS/S:STGSc0S=GSt9GS 5       Gr'\O" GS/S:STGSc0S=GSt9GS 5       Gr(\O" GS/S:STGSc0S=GSt9GS 5       Gr)\O" GS/S:STGSc0S=GSt9GS 5       Gr*GS Gr+GS Gr,\O" GS/STGSc0S=GSd9GS 5       Gr-\O" GS/STGSc0S=GSd9GS 5       Gr.GS Gr/\O" GSGS/GSS=GS9GS 5       Gr0\P" S/S9GS 5       Gr1\O" GS/STGSc0S=GSd9GS 5       Gr2\O" GS/S:S=SD9GS 5       Gr3\O" GS/S:STGSc0S=GSt9GS 5       Gr4\O" GSGS/S=S^9GS 5       Gr5GS Gr6\O" GS/STGSw0S:SS=GS9GS 5       Gr7\O" GS/S:STGSc0S=GSt9GS 5       Gr8\O" GS/S:STGSc0S=GSt9GS 5       Gr9GS Gr:GS Gr;GS Gr<GS Gr=\O" GS/S:STGSc0S=GSt9GS 5       Gr>\O" GSGS/5      GS 5       Gr?\O" G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/S:SCSD9GS 5       GrMGS GrNGS GrOGS GrPGS GrQ\P" S/S9GS 5       GrR\P" S/S9GS 5       GrSGS GrTGS GrUGS GrV\O" / GSQ5      GS 5       GrW\O" GS/S/S:S9GS 5       GrXGS GrY\P" 5       GS 5       GrZG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r`GS GraGS GrbGS Grc\P" 5       GS 5       Grd\R                  R                  GS/ GSQ\GR                  " / GSQ5      S/5      GS 5       Gre\P" S/S9GS 5       Grf\O" GSGS/5      GS 5       Grg\O" GS/5      GS 5       Grh\O" GS/S:S;9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/SCS:Su9GS 5       GrlGS GrmGS GrnGS Gro\O" GS/SCS:Su9GS 5       Grp\O" GS/5      GS	 5       Grq\O" GS
/5      GS 5       Grr\O" GS/5      GS 5       Grs\O" GS/S:S;9GS 5       GrtGS GruGS GrvGS GrwGS Grx\O" GS/5      GS 5       Gry\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rz\R                  R                  GS"GSGS9GS#GS=GS$.GS#GS=4GSGS9GS#GS=GS$.GS%GS=4GSGS9GS=GS&.GS9GS=4GSGS9GS=GS&.GS'GS=4GSGS9GS#GS(.GS#GS)4GSGS9GS#GS(.GS%GS94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S9GS+.GS9GS)4GSGS9GS+.GS'GS94GSGS#GS,.GS#GS)4GSGS#GS,.GS%GS-4GSGS=GS..GS-GS=4GSGS=GS..GS/GS=4GS0GS0GS-GS)4GS0GS0GS/GS-4/5      GS1 5       Gr{GS2 Gr|GS3 Gr}GS4 Gr~GS5 Gr\O" GS6/S:S;9GS7 5       Gr\O" GS8/S:S;9GS9 5       Gr\O" GS:/S:S;9GS; 5       GrGS< GrGS= Gr\O" GS>/S:S;9GS? 5       Gr\O" GS@GS@/S:S;9GSA 5       Gr\O" GSB/S:S;9GSC 5       Gr\R                  R                  GSD/ GSEQ5      GSF 5       GrGSG Gr\O" GSH/S:S;9GSI 5       GrGSJ Gr\R                  R                  GSK/ // S S//S S// //5      \R                  R                  GSL/ GSMQ5      GSN 5       5       Gr\P" S/S9GSO 5       Gr\O" GSP/S:S;9GSQ 5       Gr\O" GSR/\R                  " 5       S":X  a  S OGSSS$9GST 5       Gr\O" GSU/S:S;9GSV 5       Gr\O" GSWGSX/\R                  " 5       S":X  a  S OGSYS$9GSZ 5       Gr\P" 5       GS[ 5       Gr\P" 5       GS\ 5       Gr\P" 5       GS] 5       Gr\P" 5       GS^ 5       GrGS_ Gr\O" / GS`QS/S9GSa 5       GrGSb Gr\O" / GScQS/S9GSd 5       GrGSe Gr\R                  R                  GSKSSS\GR6                  GSf/\R,                  GR9                  / GSgQGSh5      /5      \P" S/S9GSi 5       5       Gr\O" GSj/S/SCGSk9GSl 5       Gr\O" GSmGSm/S:GSnS9GSo 5       Gr\O" GSp/S:S;9GSq 5       GrGSr Gr\O" / GSsQS:GStS=GSu9GSv 5       Gr\O" / GSwQS:GStS=GSu9GSx 5       Gr\O" / GSyQS:GStS=GSu9GSz 5       GrGS{ Gr\P" S/S9GS| 5       GrGS} Gr\O" / GS~QS:GSS9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                  SC5      GS 5       GrGS Gr\R                  R                  GS\=GRh                  \=GRj                  GS/\=GRl                  \=GRn                  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\SS/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+S,5      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/SCGSGS9GS 5       Gr\O" GS/SCGSS9GS 5       Gr\O" GS/SCGSS9GS 5       Gr\O" GS/SCGSS9GS 5       Gr\O" GS/SCGSS9GS 5       Gr\O" GS/SCS2S9GS 5       Gr\O" GS/GSS$9GS 5       Gr\O" GS/SCGSS9GS 5       GrGS GrGS GrGS GrGS GrGS GrGS Gr\P" 5       GS 5       Gr\P" 5       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/STGS0SV9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SSSS,.GS4G\GSSS0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/STGSc0SV9GS 5       Gr\O" GS/STGSc0SV9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\" GSf5      G\" GSh5      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SK\GR>                  " GS5      GR                  GS5      \GR                  GR                  SGShS5      /5      GS 5       5       GrGS GrGS GrGS GrG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:ShS9GS 5       Gr\O" GS/S:SC\R                  " 5       S":X  a  S OGSGS	9GS
 5       Gr	\R                  R                  S=5      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                  S=5      GS 5       Gr\R                  R                  S=5      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S*/GS&S$9GS+ 5       Gr%\O" GS,/S:S;9GS- 5       Gr&GS. Gr'GS/ Gr(GS0 Gr)GS1 Gr*\R                  R                  GS2/ GS3Q/ GS4QS9GS5 5       Gr+GS6 Gr,GS7 Gr-GS8 Gr.GS9 Gr/GS: Gr0GS; Gr1GS< Gr2GS= Gr3GS> Gr4\R                  R                  S=5      GS? 5       Gr5GS@ Gr6GSA Gr7GSB Gr8\R                  R                  GSG\S//GSC/ 0GSD4G\S//GSE/ 0GSF4G\S//GSG/ 0GSH4G\S//GSI/ 0GSJ4G\S//GSK/ 0GSL4G\S/0 GSM4G\S//GSCSS/0GSN4G\S//GSESS/0GSO4G\S//GSGSS/0GSP4G\S//GSISS/0GSQ4G\S//GSKSS/0GSR4G\S//GSDSS/0GSS445      GST 5       Gr9GSU Gr:GSV Gr;\R                  R                  GSWGSXGSY/5      \R                  R                  GSZGSXGSY/5      GS[ 5       5       Gr<GS\ 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rAGSa GrBGSb GrCGSc GrD\O" GSd/S:SCSD9GSe 5       GrEGSf GrFGSg GrG\R                  R                  GShSS:/5      \R                  R                  GSiSS:/5      GSj 5       5       GrHGSk GrIGSl GrJGSm GrKGSn GrLGSo GrMGSp GrN\O" GSq/SCS:\R                  " 5       S":X  a  S OGSGSr9GSs 5       GrO " GSt GSu\FGR                  5      GrQ\O" GSv/SC\R                  " 5       S":X  a  S OGSwS9GSx 5       GrRGSy GrSGSz GrTGS{ GrUGS| GrVGS} GrW\O" GS~/S:SCSD9GS 5       GrXGS GrYGS GrZGS Gr[GS Gr\GS Gr]GS Gr^\P" S/S9GS 5       Gr_GS Gr`GS GraGS 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rp\R                  R                  GSS,5      \R                  R                  GSGS5      GS 5       5       Grq\P" S/S9GS 5       Grr\R                  R                  S=5      GS 5       GrsGS GrtGS GruGS GrvGS Grw\R                  R                  GS\-GR                   V s/ s H
  n U c  M  U PM     sn / GSQ-   5      \R                  R                  S=5      GS 5       5       GryGS GrzGS Gr{\P" S/S9GS 5       Gr|\P" S/S9GS 5       Gr}GS Gr~\R                  R                  GS/ GSQ5      GS 5       GrG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                  S=5      GS 5       GrGS GrGS Gr\R                  R                  GSGS5      \R                  R                  GSKSGSG\" 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/SCS^9GS 5       GrGS GrGS GrGS GrGS Gr\O" GS/S:SC\R                  " 5       S":X  a  S OGSwGS	9GS 5       Gr\R                  R                  S=5      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/S=S^9GS 5       Gr\P" S/S9\R                  R                  GSS,5      GS 5       5       Gr\R                  GR]                  \GR^                  SS GS:H  =(       a    \GR^                  GR`                  GS:g  GSGS9GS 5       GrGS Gr\S\P" 5       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 (      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      L/var/www/html/env/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'   )formatter_ticker_001formatter_ticker_002formatter_ticker_003formatter_ticker_004formatter_ticker_005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   8  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'   twin_axis_locators_formattersc                  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  Q  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!  j  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_logscalerG    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   rO  r   )rl   arrayr)   r   add_axesr   r  margins)r4   r5   x2y2r/   r$   r  s          r%   test_twinx_axis_scalesrW    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_settingra    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_clars    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__r}  s   r%   ClaAxesrx    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 rz  )superr  r|  	__class__r}  s    r%   r  1test_subclass_clear_cla.<locals>.ClaSuperAxes.cla%  s    r'   r   )r  r  r  r  r  r  __classcell__r  r}  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 rz  r   r{  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>.ClearSuperAxesi2  c                 &   > Sm[         TU ]  5         g rz  )r  r  r  s    r%   r  5test_subclass_clear_cla.<locals>.ClearSuperAxes.clear3  s    FGMOr'   r   )r  r  r  r  r  r  r  r  s   @r%   ClearSuperAxesr  2  s    	 	r'   r  c                       \ rS rSrSrg)-test_subclass_clear_cla.<locals>.SubClearAxesi8  r   Nr  r   r'   r%   SubClearAxesr  8  r  r'   r  FrK  )r   warnsPendingDeprecationWarningr   r   r  )
r  r  r  r  r  r  r/   
axes_classr$   r}  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  I  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  Q  s    			t7; = 
>##%aVaV$
> F
KKAA

> 
>s   'B  
Bautoscale_tiny_rangeT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/   axsrF  r$   y1s        r%   test_autoscale_tiny_ranger  \  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   r3  Tr4   F)enabler%  tightr5   )g333333ÿg333333	@)r         @)r  )
r)   r   r   rk  r   r   r   rZ  r\  get_autoscale_onr.   s     r%   test_autoscale_tightr  e  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semilogxrk  r  r   r   r   )r4   r/   r  r  limss        r%   test_autoscale_log_sharedr  }  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_edgesrk  _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   rc  rd  r  )rl   rt   r   r   
pcolormesh)r"   r#   Zrr  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 givenru  )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 givenru  FirstSecondr   )r   r   r   r)   rn  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 givenru  r   r;   r   r<   r;   r<   r   )r   r   r   r)   rn  
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rO  r   z	local maxr   r;   r  r   r   zoffset points)xyxycoordsxytext
textcoords)	rl   rt   rj  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   r3  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	  rj  )
r  r  r	  kwargsr/   r  rF  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_signaturer0  %  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  r3     dt      $@g     @z
2009-04-27z
2009-04-29datetime64[D]r  r<   degred)yunitsr   rK  )r  r  g     V@r  r(  Z   r   r8  )r   r   r   r   Epochdatetimer<  Durationrl   rt   mdatesdate2numr)   r   r   fillautofmt_xdate)r   r   valuedayr9  dtnr/   r  r  r   ax4inds               r%   test_fill_unitsrM  /  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 definedru  r   r   r4   r   z linestyle .* redundantly defined---r   zcolor .* redundantly definedrr   r   r4  )r   r   )r   r  UserWarningr)   r   errorbarr   r'   r%    test_plot_format_kwarg_redundantrW  Q  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<   )rZ  r[  dashes)rl   r	  rg  rV  abs
set_dashes)r"   r#   r4   r5   rz   ry   r  r  s           r%   test_errorbar_dashesr_  \  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   rZ  )r   r)   r   rV  r*  r+  )iiDr/   r$   s       r%   test_errorbar_mapview_kwargrd  j  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_pointrk  p  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   rS  rT  )r)   r   rD  rE  rl   
datetime64r   r   r  r   MatplotlibDeprecationWarning	plot_dater   )r9  time1data1r/   r$   s        r%   test_single_datert    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   rj  r;   rS  )rl   rR  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   r3  )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'   axvspan_epochc                     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   r5  r6  r;      r8     r   r         ?)r8  alphar  )r   r   r   r   rA  rB  rC  rI  convertr)   rg  axvspanr  r   t0tfr9  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'   axhspan_epoch{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   rA  rB  rC  rI  r  r)   rg  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 xminru  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   r1  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 )Nr1  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   r1  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     r1  r<   )xscaler  gridsizer   r   r   )	rl   	geomspacer)   r   r  r   assert_almost_equalr  rR  )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  r1  r<   r   )r  r  r  )rl   rt   r   r)   r   r  get_clim)r4   r5   r/   r$   r  s        r%   test_hexbin_log_climr  L  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   )rn  rn  )r  r  mincntr   c                     [        U 5      $ r  )r  )vs    r%   <lambda>>test_hexbin_mincnt_behavior_upon_C_parameter.<locals>.<lambda>r  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  S  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<   r3  )r;   r<   r  r   )r3  r  r  )r  r3  )r   r  r1  r   r;   )r   r;   )
r)   r   invert_xaxisr   r   r   rp  invert_yaxis
set_yscaler  r.   s     r%   test_inverted_limitsr  z  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errstater1  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-01r;  r  C0rT  )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<   rS  rj  )rY   r   rl   indicessqrtr)   r   r   )Nr4   r5   rS  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<   r3  r   )	clip_path)rY   r   rl   r  r  r)   r   contourmtransformsTransformedPath	get_pathsget_transformr   )r  r4   r5   rS  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   r3  LPassing a Normalize instance simultaneously with vmin/vmax is not supported.ru  r   r   r   r  N)r)   rl  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   rR  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  rV  r/   r$   s        r%   test_fill_between_inputr6    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   x1rU  r/   r$   s        r%   test_fill_betweenx_inputr>    s9     llnGC	z	"
# 
#	"	"r7  fill_between_interpolateg~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?r3  r;   Tr  blackrT  white/)wherer8  hatchinterpolater=  )rE  r8  rG  r   r   r   )rl   rt   r	  r
  r)   r   r   r  r	   masked_greatermasked)r4   r  rV  r/   r  r  s         r%   test_fill_between_interpolaterJ    s6    			#q$A	"%%		B	RVVAbeeGAI	Bll1a5OC#HHQAH)QBBh'!%  'QBBh%!%  ' 
		b#	&BEELLBqEHHQAH)QBBh'!%  'QBBh%!%  'r'   #fill_between_interpolate_decreasingc            
         [         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"@rn  r  )g@gffffff@gffffff@)rz  rz  r  ztab:redkr   T皙?rE  r8  rG  r  r=  r   r      X  )rl   rR  r)   r   r   r<  r  r  )r  r   profr/   r$   s        r%   (test_fill_between_interpolate_decreasingrT  -  s     	"#A
A88O$Dll6*GCGGA)GGDSQ4ax%4s  DQ4ax$$c  C KK2KKSr'   fill_between_interpolate_nanc                     [         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   rN  r?   r(  r   Tr   rP  r=  )rl   rt   asarrayr	  r)   r   r   r  r5  s        r%   !test_fill_between_interpolate_nanr]  B  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<   r3  r  rz  r  rX  )i@B i  r  r   r   r   r   r   symloglinearr   i )rl   rR  r)   r   r   r   
set_xscaler  r
  s       r%   test_symlogrb  V  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  r_  )	linthreshTr   皙r   )	rl   rt   r)   r   r  r   ra  r  r  )r4   r/   r  r$   rh  s        r%   test_symlog2rj  b  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   )rl  g      rm        r        пr   r  r         ?r         ?r   r   )rl   r  hypotr)   pcolorr)  )r4   r5   r  r  r  s        r%   test_pcolorargs_5205rt  o  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  rl  r   r<   皙?r   r   r;   r   r   rN  rO  
edgecolorsr(  wgouraudshading)r)   r   rl   r  r  rj  r	  rr  minptpr	   masked_wherer]  r  r   r  )r  r4   r5   r  r  QxQzr  Zmr  r  r  r   s                r%   test_pcolormeshr  }  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   rl  r   r<   rv  r   r   r  r   rN  rw  r(  ry  rz  r{  )rl   r  r  rj  r	  rr  r}  r~  r	   r  r]  r  r)   r   r  rl  set_axis_off)r  r4   r5   r  r  r  r  r  r  Zm2r/   r  r  r   rK  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  rl  r   r<   r   viridis   r   r   )r   rl  )r  r   r   r   r   )r8  zorderr   rO  r  r;   )r   r  r|  r  rz  )r   r|  r  )r)   r   rl   r  r  r	  rr  r}  r~  r   	colormaps	resampledrt   r$  ListedColormapr   	add_patchmpatches	Rectangler  )r  r  r  r  Qyr  virr  r   r/   r  r  r   rK  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  )r3  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 )Nr3  rn  r   r{  )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  rO  \(\?333333?hspacerA   rR     r;   r  daysr     r      r   r%        rE   r   )r)   r   r   subplots_adjustrB  rl   rR  r   	timedeltart   r  rn  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 )NrO  r  r  r  r  r;   r  r  r  r  r   r  r   r  r  r  rE   r   )r)   r   r  rB  rl   rR  r   r  rt   r  rn  rs  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  rl  r   r<   r   r   rz  r{  r   r  invalidmask)ig  r   r;   r#  r   z.are not monotonically increasing or decreasingru  autor;   r   rb   )rl   r  r  rr  r)   r   r   r   r   r  Tr	  r  r  r	   rR  zerosr  r  rU  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  X  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	   rR  r)   r  r  r  r	  r
  rj  r  boolrs  )r4   xmaskmasked_xr5   r  r  r  r  masked_Zmasked_Xmasked_Ys              r%   test_pcolorargs_with_read_onlyr  e  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<   rz  r  r{  r   r   r   rl   rt   rm   rn   r  r  diffr"   r#   r$   r4   r5   r  rU  rV  s           r%   test_pcolornearestr  |  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<   rz  r  r{  r   r   r   )r   r   rB  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   rz  r   rb   zDimensions of Cru  r  r{  )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 Xru  r  r{  )	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   r3  rb   r   rz  )r  r   r<   r  )	r"   r#   r  r$   r4   r5   r  rU  rV  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  rz  -   r   r  )theta1theta2r   r   )r)   r   r  r  r  r  EllipseArcr   rl   rj  deg2radr	  r  r  )
ry  r  centrer0  r/   r  rF  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   rc  r  )r   r   yellowr;   )r  r8  r9  r:  r  r<   F)angler:  rF  r  rd  equalr   )r  r8  r9  r  )rl   r  rt   rj  r	  rR  rs   r)   r   r   rF  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;   rO  )r3  r   r<   )r   r3  r   )r)   r   mmarkersMarkerStyler   r=   rV  )fixr$   ms      r%   test_marker_as_markerstyler    sU    llnGCS!AGGIyG+JJy)AJ.KK	9QK/r'   	markeveryc                  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r  r2   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'   markevery_lineg{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'   markevery_linear_scalesrf  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  rX  r   r   r   r   r  r   r   r   r   r  r   ?r   r;   )\(?r   r<   r   markevery=%sr   rP  r3  lsmsr  )slicerY   gridspecGridSpecr  rl   r  r	  r  r)   rn  r3   strr   
casescolsgsdeltar4   r5   rF  caser}  r~  s
             r%   test_markevery_linear_scalesr2  7  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'   markevery_linear_scales_zoomedc                  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   rP  r3  r%  )r  g@)rv  g333333?)r(  rY   r)  r*  r  rl   r  r	  r  r)   rn  r3   r+  r   r   r   r,  s
             r%   #test_markevery_linear_scales_zoomedr5  P  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'   markevery_log_scalesc                  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$  r1  r   rP  r3  r%  )r(  rY   r)  r*  r  rl   r  r	  r  r)   rn  r3   r+  r  r  r   r,  s
             r%   test_markevery_log_scalesr8  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,-

5

5ssqT: $r'   markevery_polarc                     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   rP  r3  r%  )r(  rY   r)  r*  r  rl   r  r
  r  r)   rn  r3   r+  r   )	r-  r.  r/  rS  r  rF  r1  r}  r~  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'   markevery_linear_scales_nansc                  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   re  F   r$  r   rP  r3  r%  )r(  rY   r)  r*  r  rl   r  r	  r	  r  r)   rn  r3   r+  r   r,  s
             r%   !test_markevery_linear_scales_nansrB    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.      >@rS  )r'  mewmecr   r   r<   r(  )rl   r  r)   r   r   r	  r4   r/   r$   s      r%   test_marker_edgesrI    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_labelri  r   r(  )rL  rM  r  )r)   rg  r  r   )r$   r  r/   s      r%   test_bar_tick_label_singlerN    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;   r3  )r)   r   r  rl   r	  r.   s     r%   test_nan_bar_valuesrP    s)    llnGCFFAq6BFFA;r'   c                  V    [         R                  " 5       u  pUR                  / / 5        g r  )r)   r   r  r.   s     r%   test_bar_ticklabel_failrR    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  rM  rL  )r)   rg  r  r  s    r%   test_bar_tick_label_multiplerV    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;   rT  r<   r   r   r   r(  rU  )rY   r   r)   rg  r  r  s    r%   *test_bar_tick_label_multiple_old_alignmentrX    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  rv  r  gffffff
@g@r\   rL  )r   r   r  r"   r#   r$   x0y0r4   r5   s          r%   test_bar_decimal_centerr`    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 )NrZ  r[  )r   r   r;   r;   r\   r  rL  )r   r   r  r]  s          r%   test_barh_decimal_centerrc    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 )NrZ  r[  r  g333333?r;   r<   r\   r  rL  )r   r   r  )r"   r#   r4   r5   w0rF  ry  r$   s           r%   test_bar_decimal_widthrh    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 )NrZ  r[  re  r\   rb  )r   r   r  )r"   r#   r4   r5   h0rF  r  r$   s           r%   test_barh_decimal_heightrl    sn    AA	B RRA 				BGGA(G+				BGGA8G, 	!ri  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<   r3  r   r4  rS  r  r   r9  r   r   r   r   r;   r   r   r   r)   rg  r  get_facecolorget_edgecolorr$   rectsrects      r%   test_bar_color_none_alpharw  !  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<   r3  r   rS  r4  rn  rp  ro  rq  rt  s      r%   test_bar_edgecolor_none_alphary  )  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;   rT  r<   r   r   r   r(  r\   )r  rM  rL  )r)   rg  r  r  s    r%   test_barh_tick_labelr{  1  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<   )rZ  r  )r  )r  r[  r   r2  r   r  N)	r)   r   r  rB  r  r  rl   rR  broken_barhr/   r$   r   s      r%   test_bar_timedeltar  9  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   rR  ro  r)   r   r  r   r_   r   rD  AutoDateFormatterr  r]   )startstopr/   r$   s       r%   test_bar_datetime_startr  S  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  c  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   rz  r   )r   r   r   r   )	capwidthswidthsr;   r   r<   r  r   r3  r  r  rn  r  )rl   rm   r   r)   r   r  )r  r/   r  s      r%   test_boxplot_capwidthsr  l  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;   rn  r   x   )secondsr   )pandas.plottingr  r  r)   r   r   rB  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  }  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)r}  r}  r}  r;   r;   r;   r  )r  monthrI  rH  )r  r  rI  daterH  r   r\   rf  oranger3  rN  )		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   rO  r  )r4   r  r  r  r   r  )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   rF  rF  )r   r   r  )r"   r#   ry   rz   r4   r5   hatchesrF  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   r;   
_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  Float64r~  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'   hist_logc                      [         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)rF  r1  )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   r1  r;   histtypeT)r1  r  )r   r  r   r  )r"   r#   r   r   rF  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  r1  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)   rg  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  bcrS  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   rF  TFr<   r  r3  r  nrowsncolsr  stackedrD  rd  rR   r  c              3   b   #    U  H%  oR                  5       UR                  5       :H  v   M'     g 7fr  )rr  rs  ).0r  s     r%   	<genexpr>(test_hist_step_filled.<locals>.<genexpr>>	  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  A	  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  I	  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)rB  r)   r   r  r  s      r%   test_hist_datetime_datasetsr  T	  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  ^	  s    tr'   c                 0    [         R                  " U S5      $ )Nro  )rl   r\  r  s    r%   r  r  _	  s    rzz$'Er'   )rE  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   rY  r<   r   rW  T)r  r  F)
rB  r)   r   r  rl   r   r   r   r  rE  )r  r  
date_edgesr/   r$   r  r  s          r%    test_hist_datetime_datasets_binsr  \	  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   r\  ndimr  )r  expected_number_of_histshistsr  s       r%   test_hist_with_empty_inputr#  s	  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=Trueru  )r3  r   r;   r   r<   )r;   r<   r   r3  r   r  r   T)r8  r  rF  )r)   r   r   r  rU  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  r3  )	r   r   r  r  r        @      @       @      "@r   r<   r  r;   rT   )r  rV   rU   r3  r   miterbuttsolid_joinstylesolid_capstyler   	drawstyle
steps-post)matplotlib.lineslinesrl   rR  r   flattenr(  semilogyr  r   r  add_liner   r  r  )r"   r#   mlinesr5   r4   	test_axesr   ref_axess           r%   test_stairsrB  	  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   r3  r<   r   r;   r<   r   r3  r   r  r<   r   TrF  r;   rT   )rV   rF  )r  rF  r   )r  rV   rF  r   post)r  rO  )r   r<  r(  r  rl   r  r  r<  r  r   r  )r"   r#   r  r  bsr@  rA  s          r%   test_stairs_fillrH  	  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  r3  r  r  r3  r<   edges)r;   r<   r;   r   r;   r  r2  )	r   r(  r  set_datarl   rt   allcloseget_datar  )r"   r#   r   test_axr  ref_axs         r%   test_stairs_updaterQ  	  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+?rq  r2  r3  r4  r5  r   r8  r9  )rl   rR  r   r(  r   r  )r"   r#   r4   r5   r@  r   rA  s          r%   test_stairs_baseline_NonerS  	  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  rx  )r)   r   r   r(  r   r   r  s    r%   test_stairs_emptyrW  
  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"ru  r;   r<   r   )r   r   r  r)   r(  rl   r	  r   r'   r%   test_stairs_invalid_nanrZ  
  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 mismatchru  r;   r<   r   )r   r   r  r)   r(  r   r'   r%   test_stairs_invalid_mismatchr]  
  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<   rJ  rY  ru  rJ  )r)   r(  r   r   r  rL  rl   r	  r  s    r%   test_stairs_invalid_updatera  
  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<   rJ  r\  ru  r   rJ  )r)   r(  r   r   r  rL  rl   rt   r`  s    r%   test_stairs_invalid_update2rc  
  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   r3  r   r  r;   r   r   Tr  )r   rF  r2   r=  rT   r  )r   rF  rV   r2   r  rQ  r<   r  )r   r&  rO  r2   r   rc  )r&  rO  r  rV   r2   r      E)r   r&  rO  r  r2   r+  rZ  r  F)r  r   r&  rO  r2   r  r7     r   G)r  r   r&  r2   rF  rY  rB  r  //H)r   r&  rO  r  rF  r2   r   rB   )rl   rR  r   r  copyr	  r)   r   r(  r  r  rK   )r4   r5   ynr/   r$   s        r%   test_stairs_optionsro  "
  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   ro  xticks)fr$   s     r%   test_stairs_datetimerv  :
  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  r=  T)r   rF  rE  )r   r(  	set_color)r"   r#   rO  rP  sts        r%   test_stairs_edge_handlingrz  C
  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  rj  r	  r  )r4   r5   r  s      r%   contour_datr}  O
  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 )Nrn  )rD  \rk  rP  r  r   r   )r  r   extendr  )r}  r)   r   r  r   r  r  s        r%   test_contour_hatchingr  V
  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  r  gg^I+r5   r   r<   )r  r  
linestylesr*  r  r?   )r  r  r*  r  F)erase)r}  r)   r   r  rl   rt   r   r  r  rL   	add_lines)	r4   r5   r  r/   r$   cscs1cs2rO   s	            r%   test_contour_colorbarr  _
  s     mGA!llnGC	Q1RYYtUC%@--/"	 
 
$B
 **Q1RYYtVS%A E ' !  #C **Q1RYYsC%= E !  #C <<<"DNN3NN3eN$r'   hist2dc                     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   r  )r4   r5   r/   r$   r  s        r%   test_hist2dr  v
  s     ',CLL"#IINN1
		Qq A
		QAllnGCIIaI- DllnGCIIc3RdtI<r'   hist2d_transposec                  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   rR  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   r3  r<   r  r<   r   r<   r   rS  r5   r(  limerX  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   rR  r)   r   r=   )r|  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  )r2  re  r)  r   )rN  rS  gr(  r  )r?   r  rx  r   r   rA   	fillstyler  r   r<   r  )r)   r   r=   r	  r
  rl   r
  r  column_stackrj  r	  )
r|  r/   rr  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  rx  )rl   rt   r  r)   r   r=   )r|  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 )NrZ  r[  r  r  r  )rl   rR  r   r   r=   )r|  r"   r#   r^  r_  rF  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   rT  r  )r   r   r  r)   r=   r|  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 ru  r;   r<   r   r3  r?   r   )r   r  Warningr)   r=   )r|  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 )NrJ  r;   r   r<   0.1z0.3r  r   r4  r  rv  rA  ?r?   r   r*  )r   r3  r   r   r   r;   r   r   r   r;   r   r   r   r;   )	r)   r=   r	  r
  get_facecolorsr  r   get_edgecolorsget_linewidthsr|  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 )
NrJ  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)Nr3  zsame size as x and yru  r;   zfloat array-liker  )rl   rt   r   r   r  r)   r=   )r|  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  r9  r  r  )r)   r=   rl   r	  r$  
same_colorrs  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  rN  r;   r3  r<   r  Tr?   r  r   plotnonfiniter   r   r?   r  r   )r  r   	r   r   r  r  set_badr=   r   rl   r	  r|  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  rN  r;   r3  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"  ru  r#  r   r   r   )r?   r  r  r  N)r)   rl  r   r   r  r=   r$  r%  )r|  r4   r$   s      r%   test_scatter_norm_vminvmax&TestScatter.test_scatter_norm_vminvmax7  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;   r[  )r   r=   )r|  r"   r#   r$   s       r%   test_scatter_single_point%TestScatter.test_scatter_single_pointA  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   r[  )rl   rt   r   r=   r   )r|  r"   r#   r4   r$   s        r%   test_scatter_different_shapes)TestScatter.test_scatter_different_shapesH  ss    IIbM 


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


199Q?A1a
9r'   )r  Nrgby
conversion)r=  N)r4  N)NN)rS  r  r(  r4  N)jauner  r  r3  r   r   r   r  )r  z0.4r  r  )r  r=  r  C5)r  r   r  r  r  r;   r   r   r   r=  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'   r3  z!^'c' argument has [0-9]+ elementsz^'c' argument must be a color)r  r  ru  r   (argument looks like a single numeric RGBrB  r?   rx  r  xsizeget_next_color_func)r   r   r  r   r)  r  r  
contextlibnullcontextr   rl  r   _parse_scatter_color_args)r|  c_casere_keyr  r  REGEXPassert_contexts          r%   test_scatter_cTestScatter.test_scatter_c~  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   rT  r3  r<   r[  )r   r=   rl   r   r   )r|  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   )r|  r4   r/   r$   rF  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 anotherru  r  )r   rO  r   r   )r*  r:  zGGot both 'edgecolor' and 'edgecolors', which are aliases of one another)#ffffffz#000000z#f0f0f0r  )rx  r9  zGGot both 'facecolors' and 'facecolor', which are aliases of one another)
facecolorsr8  )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  )rx  c                
    XX14$ r  r   )r?   r  rx  r  s       r%   _paramsr&    s    6))r'   _resultz	c, colorszparams, expected_resultr(  rK  )r?   r  rS  r[  r  rT  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   rl  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  r4  )r9  rx  )r?   r9  rx  )r   r9  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?   rx  r<   )r  r  )popr   rl  r   r	  )r  expected_edgecolorsr  r?   rx  r  result_edgecolorss          r%   (test_parse_scatter_color_args_edgecolorsr6    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 rangeru  )r   r   r  )r   rO  gffffff?r<   r  r  r  )	r   r   r  rl   rR  r   rl  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.)r=  r   r=  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'   ru  Nr  r<   r  r8  )r   r  rU  WARN_MSGr   rl  r   r	  )r?   r8  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;   ru  )r?   r  N)r?   r8  )
r)   r   r   r)  tupler   r  rU  r?  r=   )r?   r8  r/   r$   r4   r5   s         r%   ,test_scatter_c_facecolor_warning_integrationrC  0  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>.PolariB  c                     SU l         g Nr   theta_offsetr  s    r%   __init__,test_as_mpl_axes_api.<locals>.Polar.__init__C  s
     !Dr'   c                 *    [         SU R                  04$ )NrJ  )r   rJ  r  s    r%   _as_mpl_axes0test_as_mpl_axes_api.<locals>.Polar._as_mpl_axesF  s    ~t/@/@AAAr'   rI  N)r  r  r  r  rK  rN  r  r   r'   r%   PolarrF  B  s    	"	Br'   rP  rK  r  y   )	rl   r
  rJ  r)   rl  typer   rp  rn  )rP  prjprj2r$   s       r%   test_as_mpl_axes_apirU  @  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   scarg  gcfrp  )fig1r  fig2r  s       r%   test_pyplot_axesr[  Y  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   r1        @)r  r1  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>j  sM      (D 6:5G5G5IJ5I))+qxx((*	+5IJ( 	Ks   A3AA))r   z$\mathdefault{9^{0}}$)r1  z$\mathdefault{9^{1}}$)g     @T@z$\mathdefault{9^{2}}$r   r   r  r   r  r   r  r   )r.  r   )r/  r   )r0  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}}$)r]  z$\mathdefault{5.5^{1}}$)gF]tE?r   )gtE]t?r   )gF]tE?r   )g]tE?r   rd  re  rf  rg  )r)   r   r   rl   r1  r  r   r  ra  r]   r_   )r/   r$   rt  ytickss       r%   test_log_scalesrj  d  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 )Nr1  )r  r  r;   r;   r   )	r)   r   r   r]   r  r   MultipleLocatorr   r   r  s     r%   test_log_scales_no_datarn    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)Nr1  zAttempt to set non-positiveru  r   r   )	r)   r   ra  r   r  rU  r  r   r  r.   s     r%   test_log_scales_invalidrp    s    llnGCMM%	k)F	G
B 
HMM%	k)F	G
B 
H	G 
H	G 
H	Gs   B#B4#
B14
Cstackplot_test_imagec            	         [         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   rA  )r4   r  rV  y3r4   r  rV  ru  )r  C1C2)r  r  )	r)   r   rl   r  r   	stackplotr  r  r   )r/   r4   r  rV  ru  r$   r  s          r%   test_stackplotry    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'   stackplot_test_baselinec                     [         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   rF  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   re  r<   r  zeror2  r  symr;   r   wiggler  weighted_wiggle)rl   rm   rn   r)   r   rx  r   r  )r  r  r/   r  s       r%   test_stackplot_baseliner    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   rk  \\rC  )rF  r  rs  rt  r4   )rF  r8  rk  r  )	rl   r  r   rx  r  r  r  r  r  )	r#   r"   r4   r  rV  ru  ry   stack_baselinerz   s	            r%   test_stackplot_hatchingr    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  rq  r   )r,  r3  )meansigmar  rV   verticalr1  patch_artistFr  boxplot.boxprops.linewidth)rl   rm   rn   r   cbookboxplot_stats	lognormalr)   r   getr   ra  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)  )r3  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%   r7  (test_bxp_with_xlabels.<locals>.transform  %    E4<0HAgJ 1r'   )r  r  r7  s    r%   test_bxp_with_xlabelsr    s    
 Y/r'   zbxp_horizontal.pngr   )r  r3  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)r3  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%   r7  (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  r3  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   :)r8  r9  r&  )r  boxpropsr  r  r   r'   r%   test_bxp_custompatchartistr  7  s$    
 GD!F Gr'   zbxp_customoutlier.pngc            
      6    [        [        [        SSSS9S9S9  g )Nr4  r  r  r   r   mfc)
flierpropsr  r  r   r'   r%   test_bxp_customoutlierr  A  s!    
 &#>!@ Ar'   zbxp_withmean_custompoint.pngc                  8    [        [        S[        SSSS9S9S9  g )NTr4  r  r   r  )	showmeans	meanpropsr  r  r   r'   r%   test_bxp_showcustommeanr  J  s"    
 A! r'   zbxp_custombox.pngc            
      6    [        [        [        SSSS9S9S9  g )NrQ  r(  r   r   r   rO  )r  r  r  r   r'   r%   test_bxp_customboxr  U      
 CA6!8 9r'   zbxp_custommedian.pngc            
      6    [        [        [        SSSS9S9S9  g )NrQ  r(  r   r  medianpropsr  r  r   r'   r%   test_bxp_custommedianr  ^  s    
 4sq9!; <r'   zbxp_customcap.pngc            
      6    [        [        [        SSSS9S9S9  g )NrQ  r  r   r  )cappropsr  r  r   r'   r%   test_bxp_customcapr  g  r  r'   zbxp_customwhisker.pngc            
      6    [        [        [        SSSS9S9S9  g )NrP  r  r   r  )whiskerpropsr  r  r   r'   r%   test_bxp_customwhiskerr  p  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   r:  r  r7  r4  r  )rl   rt   r   r  )r"   r#   r  medianprops_testmedianprops_refs        r%    test_boxplot_median_bound_by_boxr  y  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)r3  )r  r  s     r%   r7  *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  rn  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  r  g{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 )Nr  rm  rn     ri  '  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 )
Nrm  rn  r  r  ri  r;   r  r   )r
  r  )rl   r  r  r)   r   r  rH  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 )Nr  rm  rn  r  r  ri  r;   r<   r  ^)r	  r  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 )	Nrm  rn  r  r  ri  r/  r  r  )rl   r  r  r)   r   r  r  rH  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 )Nr  r  r   r<   r  r;   r  )r  r   T)r	  r
  	autorange)	rl   rm   rn   r   r  r)   r   r  r  )r4   rY  r  rZ  r  s        r%   test_boxplot_autorange_whiskersr  6  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)Nrm  rn  r  r  ri  )rl   r  r  rY   r   r  )r$   rc_dictr4   s      r%   _rc_test_bxp_helperr   I  s\    
B3A
		32,A			w	'


A6 
(I 
(	'Is   A%%
A4boxplot_rc_parameters)r3  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 )(Nr  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.linestylerQ  zboxplot.flierprops.linewidthr   zboxplot.boxprops.colorrS  r  zboxplot.boxprops.linestylezboxplot.capprops.colorr?   zboxplot.capprops.linewidthzboxplot.capprops.linestylezboxplot.medianprops.colorrN  )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_childrenrR  )	r/   r$   rc_axis0rc_axis1rc_axis2	dict_listr%  rc_axisr   s	            r%   test_boxplot_rc_parametersr,  Q  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 )Nr  rm  rn  r  r  ri  rl  r  rm        @r  r   r;   )r	  usermediansconf_intervalsr
  r  )
rl   rm   rn   r  r  r)   r   rR  r  r  )r4   r/   r$   CIss       r%   test_boxplot_with_CIarrayr2    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(#  r|  X   i^  i@ ix  i  r  r1  Fminorwhich)
rl   rR  r  r)   rl  r  r   r_   r  r]   )r4   r  s     r%   test_boxplot_no_weird_whiskerr8    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)	Nrm  rn  r  r  ri  r;   r<   )r/  	rl   r  r  r)   r   r   r   r  r  rH  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)	Nrm  rn  r  r  ri  r;   r<   )r0  r:  rH  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_zorderrA    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  rg  r   r$  r  zboxplot.meanprops.markerr   r|  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_behaviorrL    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#  ry  ry  Q?gQ?gQr   r  r   )r)   r   r  rx  )r4   r/   r$   bpkeyr  s         r%   &test_boxplot_mod_artist_after_plottingrQ    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r3  r   r  Fr  r  showextremashowmediansr  )r  r  rT  rU  r  )	rl   rm   rn   r   ro   r)   rl  
violinplotr   )r  r  r$   r/   s       r%   test_vert_violinplot_baselinerW    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+r3  r   r  TFrS  r)   rl  rl   rm   rn   r   ro   rV  r$   r  r  s      r%   test_vert_violinplot_showmeansr[    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r3  r   r  FTrS  rY  rZ  s      r%    test_vert_violinplot_showextremar^    sl    	BIINN905a91BII#&D9MM$%(e#  % :r\  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}&r3  r   r  FTrS  rY  rZ  s      r%    test_vert_violinplot_showmediansr`    sl    	BIINN905a91BII#&D9MM$%(e"  $ :r\  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r3  r   r  Tr   ?r   r  r   r  rO  r  )r  r  rT  rU  	quantilesrY  rZ  s      r%   test_vert_violinplot_showallrd    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$r3  r   r  Fr   r  r  rT  rU  pointsrY  rZ  s      r%   $test_vert_violinplot_custompoints_10rh  !  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r3  r   r  Fr  rf  rY  rZ  s      r%   %test_vert_violinplot_custompoints_200rk  +  sn    	BIINN905a91BII#&D9MM$%(e#C  1 :ri  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r3  r   r  rT   Fr  rV   r  rT  rU  rY  rZ  s      r%   test_horiz_violinplot_baselinern  5  so    	BIINN905a91BII#&D9MM$%(PU#  8 :ri  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/r3  r   r  rT   FTrm  rY  rZ  s      r%   !test_horiz_violinplot_showmediansrp  ?  so    	BIINN905a91BII#&D9MM$%(PU#  7 :ri  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&r3  r   r  rT   TFrm  rY  rZ  s      r%   test_horiz_violinplot_showmeansrr  I  so    	BIINN905a91BII#&D9MM$%(PT#  8 :ri  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!r3  r   r  rT   FTrm  rY  rZ  s      r%   !test_horiz_violinplot_showextremart  S  so    	BIINN905a91BII#&D9MM$%(PU"  7 :ri  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"r3  r   r  rT   Tr   rb  r   r  r   r  rO  r  )r  rV   r  rT  rU  rc  rY  rZ  s      r%   test_horiz_violinplot_showallrv  ]  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r3  r   r  rT   Fr   r  rV   r  rT  rU  rg  rY  rZ  s      r%   %test_horiz_violinplot_custompoints_10ry  h  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!r3  r   r  rT   Fr  rx  rY  rZ  s      r%   &test_horiz_violinplot_custompoints_200r|  r  sr    	BIINN905a91BII#&D9MM$%(PU#s  D :rz  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  rT  rU  side)r3  r.        @r  )r)   rl  rl   rm   rn   ro   r  rV  )r$   r  r   r  s       r%   test_violinplot_sidesr  |  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@ 3r3  r   r  r   r  r)   rl  rl   rm   rn   r   ro   r   r   r  rV  rZ  s      r%   test_violinplot_bad_positionsr    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#r3  r   r  r  )r  r  r  rZ  s      r%   test_violinplot_bad_widthsr    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  rc  
r)   rl  rl   rm   rn   ro   r   r   r  rV  r$   r  s     r%   test_violinplot_bad_quantilesr    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   ?r  )皙r   r   rp  r  r  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   rb  r  )rl   rm   rn   ro   r   rV  )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  rn  r  )rz  r  rn  r  r   r3  r   r  rz  	ABCDEFGHIrY  )	rl   rm   rn   r  ro   r)  r   rV  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   r3  r   r   r  r;   r<   F)r  manage_ticks)
r)   r   r  r   rl   rm   rn   ro   r  r   )r  r$   old_xlimr  rV  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   )rT  r]  r  5)r)   r   r  rl   rm   r   r  r  r   r)  
get_xticksr  rb  r  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)r1  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errorbar_mixedr  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   r3  r   r  r   rO  rY  z&Simplest errorbars, 0.2 in x, 0.4 in yr<   T)r  r  r  r  r   r[  r   zVert. symmetricnbinsr  )rZ  r   r  zHor. symmetric w/ alphar  z--or[  rZ  r   zH, V asymmetricr  r1  r  r  )r[  rZ  r   ecolorcapthickzMixed sym., log yr:  zVariable errorbarsr#  r4   r5   rZ  r[  r  )rl   rt   
longdoubler}  r  r)   r   rg  rV  r7   r   locator_paramsr   maximumr  suptitle)
r4   r5   r[  rZ  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'   mixed_errorbar_polar_capsc                  <   [         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  rb  r   ffffff?r   r   rZ  r[  r   r<   r   g?r  r  r  r3  r   rv  )r   r   r   )r   r   r   )r  r   r   )r   r  r    @@r   N)r)   r   rn  rV  rl   r
  )r/   r$   th_symr_symth_longr_longth_asymr_asymrZ  r[  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<   r[  r3  r  rv  rw  )	r)   r   rl   rt   rV  r   r$  to_rgba	get_color)ru  r$   r4   r5   r  r  r  ln1s           r%   test_errorbar_colorcycler  J  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   r3  r   )r  rv  rw  r  r  rP  r   rB  )r[  r   r   r  )r[  r   r   r   r  )rl   rt   r   r}  r   r  rV  )	r"   r#   r4   r  r5   axtaxryir   s	            r%   test_errorbar_cycle_ecolorr  Y  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   r3  r   r   r<   r   r  )rZ  r   r  )r)   r   rg  rl   rt   r}  r  vstackr  r   r   r  rV  )r/   r$   r4   r5   yerr1r[  rZ  s          r%   test_errorbar_shaper  h  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(errorbar_limitsc                     [         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   r]  r   r   dottedr   )rZ  r[  r&  r   T)r;   r   rz  r   )rZ  r[  uplimsr&  r   )r<   r3  r  r   r=  )rZ  r[  lolimsr&  r   r   r   r  magenta)r   r'  rZ  r[  r  r  r&  r   r   r   r  r  r4  r   cyan)r   r'  rZ  r[  xlolimsxuplimsr  r  r&  rG  capsizer   )r   r]  zErrorbar upper and lower limits)
rl   rt   r}  r)   r   rV  
zeros_like	full_liker  r7   )r4   r5   rZ  r[  r&  r/   r$   r  r  r  r  s              r%   test_errorbar_limitsr  z  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;   r4  r  r  )rl   rt   r)   rV  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;   rY  r<   )
rl   rt   r)   r   rV  r  
containersr;  r  rm  )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roundr3  r4  bevel)
rZ  r[  r&  r   r  r8  dash_capstyledash_joinstyler7  r6  )rl   rt   r)   rV  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<   r3  r   rJ  r   rQ  r  rN  )r4   r5   r[  r&  r   r  r<   r   r3  z	tab:greenr  r5   )r4   r5   r[  r   r&  r   r  r3  r   r  ztab:bluer%  r   r?   )r4   r5   r[  r   r&  r   r  r;   rY  )rQ  r  r%  )r  r  r   )rN  r5   r?   r(  r  rS  )r&  r   r  r   rl  )
prop_cycler4   r5   r[  )r4   r5   r[  r   )r4   r5   r[  r   )r   rV  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 integersru  r  )
errorevery)r  r   znot a valid NumPy fancy indexFTznot a recognized valuefoobar)	rl   r  r)   r   r   r   r   r  rV  )r4   r5   r[  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 valuesru  r   r  r;   r4   r5   rZ  r[  ra  z''yerr' must not contain negative valuesr  r   r  rz  r<   r#  r  )r)   r   r   r   r   r  rV  rl   rt   rB  r  )r$   r4   rF  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 Noneru  r   r;   r  ra  z'yerr' must not contain Noner  )r)   r   r   r   r   r  rV  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<   rn  r  r3  )r  r  r?   r  )r?   r  r4  )r  r?   r   r   )r;   r3  r   )r  r  r   r@  )r  r   r   r<   r   r  )r  r  r  r?   r   r  r   rv  )rl   r  r   r  rV  r   r(  )	r"   r#   r4   r5   r[  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  )r[  r  )r)   rV  )r  s    r%   test_errorbar_linewidth_typer  L  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5        UR                  5       nUR                  SS/SS/SS/5        UR                  S/S/S/SS	9  g )
Nr   r;   r<   r   r3  r  r   r  r   )r   r   rl   rR  r	  rV  )r"   r#   r$   xsysess         r%   test_errorbar_nanr  S  s    				B	qB	1a+	,B	1a+	,BKK				BKKAAA'KKaS1#4K(r'   hist_stacked_stepfilledc                     [         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   re  r  Tr  r4   )r  r  r  rl   r  r)   r   r  )d1d2r/   r$   r  s        r%   test_hist_stacked_stepfilledr  _  sw     
Q2	B	QB	BllnGCGGRH|TG: "?DllnGCGGC,4G@r'   hist_offsetc                      [         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   re  r;   r   r  r   r  r  r  r  r  r/   r$   s       r%   test_hist_offsetr"  m  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%  w  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   re  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'   hist_stacked_weightsc                     [         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   re  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  rj  rK   rH  s      r%   	test_stemr5    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)  
markerlinerN  )stem_containerexpectedr4   r5   s       r%   _assert_equal%test_stem_args.<locals>._assert_equal  s?    422;;=>QKQKr'   r;   r   r   rz  r  rn  rJ  )r<  rP  r2  zb--)r2  r4  Nr)   r   r  r=  r/   r$   r4   r5   s        r%   test_stem_argsrD    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:  rG  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   )rJ  r   r4   )r3  r  rS  )rI  rJ  r   r  gxr1  r  r   rA  )r2  r3  )NNNrB  rC  s        r%   test_stem_markerfmtrM    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_datesrR    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<   re  r/  kxr0  rT   )r2  r3  r4  rV   )rl   r  r
  r)   r   r  rj  rH  s      r%   test_stem_orientationrU     sP    
C255"%AllnGCGGArvvaydF$  &r'   hist_stacked_stepfilled_alphac                      [         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   re  r  Tr   )r  r  r  r  r!  s       r%   "test_hist_stacked_stepfilled_alpharX  
  sK     
Q2	B	QB	BllnGCGGRH|TGEr'   hist_stacked_stepc                      [         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   re  r  Tr  r  r!  s       r%   test_hist_stacked_stepr[    sI     
Q2	B	QB	BllnGCGGRHvtG4r'   hist_stacked_normedc                      [         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   re  T)r  r  r  r!  s       r%   test_hist_stacked_densityr^    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_bottomr`  %  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_geometryri  -  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 )Nrb  rc  r   r;   r   r   r<   rT  r   r  r  r;   r<   r   )r  rR   r  re  rg  s           r%   test_hist_step_bottom_geometryrl  8  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 )Nrb  rc  rJ  r   r<   r;   r   r3  r  r  T)r  r  r  r  r)   r  r  r   rf  r  data_1data_2topsbottomsr   r(  combinedr  r  r  r?  rh  s                r%   test_hist_stacked_step_geometryru  D  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 )Nrb  rc  rJ  r   r;   r   r   r<   rT  r   r3  r  r.  r  r  Trk  )r  r  rR   r  rn  ro  s                r%   &test_hist_stacked_step_bottom_geometryrw  \  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hist_stacked_barc            	          / 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  rR  6  rQ  )r     re  rY  r   i  )r  r  r  r  r  r|     )r2  r2  r2  r2  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  ))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  rB  r   r  mid)r  r  rL  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_barr  t  sl     
D	#%H	8	H	A		CA
OF @FllnGCGGABU&  II-
!IDr'   r  r8  r  r9  rF  )rD  r  r   r   )rP  rQ  r  r:  )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  re  r   r<   r  r  r   rd  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+  rF  r4   rH  s                      r%   test_hist_vectorized_paramsr    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zkwargs, patch_face, patch_edger5   )r  r   r8  r9  )r5   r   )r  r   r9  )rS  r   )r  r   r8  rN  )r  r8  r9  )r  r   )r  r8  r  )r  r9  )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  rr  rs  )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  r  r  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   rR  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  r  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   re  rc  r4  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  rK  )r   r   r;   r   r   r   r  )r'  rF  r;   r   )r  rG  r  r   r4   )rG  r  )r   r3  r   r   )r)   r   r  r  r   r%  )r/   r  rcolorsbcolorsalphasr  rF  r  r~  rcolorrN  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'   mollweide_gridc                  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  transProjectionr7  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  r7  r   r   )r/   r$   r4   r5   r  r  xy2s          r%   &test_mollweide_inverse_forward_closurer    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   re  z-Dr  r  r  r   )r   r  r   rO  r<   r;   )r   r  r   rO  r  r3  r   r  r  r  r  s      r%   r  r  2  s    IINN199BDllnGC GGD$i]b  " GGD1Hd-]b  
 GGD1Hd)b  
 GGD1Hd-]b  " GGD1Hd-Yb  "r'   	eventplotc                  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;   rp  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   r  )rs  data2r  num_datasetscolors1colors2r  lineoffsets1lineoffsets2r  linelengths1linelengths2r  r/   axobjcollsnum_collectionss                    r%   test_eventplotr  P  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  )rs  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)r=  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  r3  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<   r3  )r;   r   r   rn  r  r  r   r;   r   zalpha and positions are unequalru  )r   r  rb  )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   rS  r(  r?   r  r<   r;   r   dasheddashdotr  )r  r   r*  r:  r  r   r   c              3   j   #    U  H)  n[        UR                  [        R                  5      v   M+     g 7fr  )
issubclasscategoryr   rp  )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  )recwarnrs  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  )rB  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+  rR  r4   s    r%   r  $test_marker_styles.<locals>.<lambda>  s    3tAw<A#6r'   )rP  r4  r<   r   r   r   )r   r   r   r2   )r)   r   sortedrY   markersr
  rm  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 )Nrn  ))rA   r  )rR   r   )r4  r  zmarkers.fillstylerO  )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   rv  r  rw  r   rN  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'   vline_hline_zordererrorbar_zorderg9v?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   )rO  r  r;   r=  )r   rO  r  r   rn  r  r<   rN  r   zaxvline and axhline zorder testrS  )r[  r  rO  r   )rO  r   r  zerrorbar zorder test)r)  r   r)   r   rg  r   rv   axvliner7   rl   r  rV  )r4   r/   r$   r5   r[  r~  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   )rf  r;   r{  r   r  z.-)r;   rf  )r   r  rN  r[  r;   r   rf  r  )r   r   r  axliner!   s      r%   test_axline_loglogr	  <  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 )Nrw  r{  r  r  r  rv  rT  )r   r   r;   r   rw  )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	  I  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 )Nrw  r{  r  r;   r	  r7  r	  rv  r	  r   r7  r   r   r   rw  )r   r   )r   r;   r  )r   r7  r   rT  )r   r   r 	  rC  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 )Nrw  r{  r  r;   r		  r	  r<   rv  r
	  r   rw  )r   r   rs  r   r   r   rT  )r   r   r 	  rC  set_size_inchesr   r!   s      r%   test_axline_transaxes_panzoomr	  q  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	  r1  r`  )
r)   r   r   r   r   r 	  ra  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   r3  r   rn  )r<   r   r  r<   r   r  r   r  r:  )r<   r   r3  r   r  rn  r<   r	  r   r  )r3  r  )r  r  rS  rQ  )r  r:  r   rN  r   )r<   r3  r  r  r   r  )r   r;   r   r   r<   r;   )rf  r+  r  r     rW  rW  r  )	r)   r   ru   rl   r	  r  r   r	   masked_equal)r=  r  rY  r  rU  rV  rZ  r  r   rK  x3ru  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.colorr=  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  r=  rY  r  rV  rU  rZ  r  r   rK  ru  r	  r	  r	  r$   r	  r	  y5xmin5xmax5s                       r%   test_hlinesr3	    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_defaultr5	    r)	  r*	  r   re  r3  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)r=  r   r   r  r  r<   r;   r   r   r	  )r;   r<   r   r   )r=  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  r:  r   r<   r   r;   r  r  rM  r  rz  r   r   rS  )rj   rk   r7  r  r  rn  r  )yminymaxr7  r  )rl   rt   r}  r	  r
  r)   r   r   r/	  get_yaxis_transformru   get_xaxis_transform)r   r  r/   haxvaxs        r%   $test_vlines_hlines_blended_transformrD	  	  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<   )rP  rQ  r%  r  r   pre)rO  r   rE  r;   r  rF  r   rn  )r  Y0Y1Y2r  rH	  )rO  r   rE  r  rI	  rJ	  )	rl   rt   r)   r   r<  r  r  r  r  )r4   r5   r/   ax_lst	ln_stylesr$   r&  r  s           r%   test_step_linestylerM	    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  r3  r4  r   radiusr8  r9  T)match_originalr   rX  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  rx  r+  r  r  )r/   r$   r?   r.  r/  s        r%   test_mixed_collectionrY	  8  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)   rn  rl   int32r   r  get_subplotspecget_geometryr  s    r%   test_subplot_key_hashr^	  R  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  r:  r3  r   rY  @ffffff@'@r   r   r;   r<   r  r  onesidedtwosidedr   )NFFTFsnoverlappad_tosidesr`  )rg	  rh	  ri	  rj	  rk	  r0  r  N)rY   r   intrl   r}  rt   r  r	  r
  multiplyouterr  rm   rn   r  r   r   log2r  r)   r   r   specgramr  r  )r  rh	  fstims
NFFT_freqsr4   y_freqs
NFFT_noisey_noise	all_sidesr5   rg	  ri	  rj	  r$   rk	  s                  r%   test_specgramrw	  X  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  r:  r3  r   rY  ra	  rb	  rc	  r   r   r;   r<   r  Nr   r   rd	  r   	magnituderg	  rh	  ri	  rj	  rk	  rh   r`  )rg	  rh	  ri	  rj	  rk	  rh   r0  r  )rY   r   rl	  rl   r}  rt   r	  r
  rm	  rn	  r  r  rm   rn   r  r  r   r   ro	  r  r)   r   r   rp	  r  r  )r  rh	  rq	  rr	  r4   r5   rs	  rt	  ru	  rv	  rg	  ri	  rj	  r$   rk	  s                  r%   test_specgram_magnituder{	  |  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  r:  r3  r   rY  ra	  rb	  rc	  r   r   r;   r<   r  Nr   rd	  )r  phaser   rz	  dB)rg	  rh	  ri	  rj	  rk	  rh   r0  )rY   r   rl	  rl   r}  rt   r	  r
  rm	  rn	  r  r  rm   rn   r  r  r   r   ro	  r  r)   r   r   rp	  r   r   r  )r  rh	  rq	  rr	  r4   r5   rs	  rt	  ru	  rv	  rg	  ri	  rj	  rh   r$   rk	  s                   r%   test_specgram_angler	    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  Nr`  )rh	  r0  r   `   )r)   rp	  rl   r   
get_extent)specfreqsr   r  rj   rk   freq0freq1s           r%   test_specgram_fs_noner	    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   rp	  )r"   r#   r   signals       r%   test_specgram_origin_rcparamr	    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)   rp	  )r   r	  s     r%   test_specgram_origin_kwargr	    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@r3  r   rY  ra	  rb	  rc	  r  r   r;   r<   r  rk	  r  re	  F)rk	  return_linerf	  Tr   )rg	  rh	  ri	  rj	  r	  r   xlabelylabel)rl	  rl   r}  rt   r	  r
  rm	  rn	  r  rm   rn   r  r   r   ro	  r  r)   r   r   psdr  r  r  r   csd)r  rh	  rq	  rr	  r4   ys_freqsrt	  ys_noise
all_kwargsr  rg	  ri	  rj	  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  r	  r3  r   rY  r  r<   r   r;   r   r   r  r   rd	  )rh	  rj	  rk	  r   r	  r0  r~	  )rl	  r}  rl   r   ro	  rt   r	  r
  rn	  r  rm   rn   r  r  r   r  r)   r   r   magnitude_spectrumr   angle_spectrumphase_spectrum)r  rh	  fstims1rg	  rj	  r4   rs	  ru	  rv	  r  r5   r$   rk	  r	  r	  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	  5  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  rm  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_invisibleR  s6    

U#
		!  'r'   )r3  r   rM  rp  )rE   )rl  rA  TrJ  zb-)r   r   r<   zr-)re  r   r  zg-r   r<   r3  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   rx  r  r  tick_params)	r	  r/   hostpar1par2r.  r/  p3tkws	            r%   test_twin_spinesr	  N  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@r5  r  r;   )r  iL  i  i  )r{  i-  r  r  r   g     @@z#BEAED4rT  r  )r   r  z#7FC97Fr   )rF  r~  rF  r~  )r   r  )r   r  r  )
rY   r   r)   r   r   rl   rR  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)r5  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)rh  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   )resetr7  	labelsizer   r=  rT  rh  )
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+  rv  r  rw  r  r   rQ  )	directionlengthr  r   padr	  
labelcolorlabelrotation
grid_color
grid_alphagrid_linewidthgrid_linestyle)r   r  r	  draw_without_renderingrl  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+  rv  )	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   )ri  r   r   r   )ri  r   )r)   r   rg  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 valueru  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  rf  r   r  )r<   r3  r  r   r  )r)   r   r   r   r   )r/   r  r^  r=  r_  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
    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  rf  r   )r
  r;   r   r3  )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  rf  r   r
  r;   r   r   r3  )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
  -  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  rf  r   r  zset_aspect\(..., adjustable=ru  )r)   r   r%  r   r   RuntimeErrorr	  )r/   rl  s     r%   test_shared_aspect_errorr
  A  sP    Q$t<ICGLL	|+J	K""$ 
L	K	Ks   A!!
A/zerr, args, kwargs, matchr2  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Nru  )r   r   r)   r%  errr	  r  rv  s       r%   test_axis_errorsr
  H  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'ru  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)   rg  r   r   r  rA	  r@	  r   set_prop_cycle
set_anchorticklabel_formatr*   r+   r  r  r  s    r%   test_axis_method_errorsr 
  Z  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$   rE  s       r%   test_twin_with_aspectr$
  t  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  r:  )r  rg  )r  rE  FT)visible_only)
rY   r   r   r   r   r   r   r    relimr   )r=  r  rU  rV  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   rg  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  rM  %1.1f%%Tr?  )exploder  r  autopctshadow
startangler)   r   pie)r  sizesr  r<
  rY  r  s         r%   test_pie_defaultrC
    sD     -FEBFGV,IDGGE6dr  ;r'   )pie_linewidth_0rD
  rD
  )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/
  r4
  r5
  r:
  r;
  Tr?  r:  r   r<
  r  r  r=
  r>
  r?
  
wedgepropsr  )lr  r?   exr  rI
  rH
  r?   )r<
  r  r  r=
  r>
  r?
  rG
  r  )r)   rA
  r%  r   rg  )r  rB
  r  r<
  r  r/   r$   s          r%   test_pie_linewidth_0rJ
    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/
  r4
  r5
  r:
  r;
  Tr?  r:  r   r2  r   )	r<
  r  r  r=
  r>
  r?
  rG
  r\   rR	  zCenter point)r;   r  ->arc3)
arrowstyleconnectionstylesquare	lightgrey)boxstyler8  )r  r  r  r"
  r  )r)   rA
  r  r  r%  r  rB
  r  r<
  s       r%   test_pie_center_radiusrT
    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/
  r4
  r5
  r:
  r;
  Tr?  r:  r<   rF
  r  r)   rA
  r%  rS
  s       r%   test_pie_linewidth_2rW
    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/
  r4
  r5
  r:
  r;
  Tr?  )r<
  r  r  r=
  r>
  r?
  counterclockr  rV
  rS
  s       r%   test_pie_ccw_truerZ
    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/
  r4
  r5
  r:
  r;
  Tr?  r:  r   r  )	r<
  r  r  r=
  r>
  r?
  rG
  framer\   r   )r   r<   )r   r   r  rV
  rS
  s       r%   test_pie_frame_gridr]
    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)Hogwartsr0
  r2
  r3
  r4
  r5
  r:
  r;
  Tr?  )r<
  r  r  r=
  r>
  r?
  rotatelabelsr  rV
  rS
  s       r%   test_pie_rotatelabels_truera
  !  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/
  r4
  r5
  r:
  r;
  Tr?  )r<
  r  r  r=
  r>
  r?
  labeldistancer`
  r  g333333rA  )r)   rA
  r%  r   rK   rS
  s       r%   test_pie_nolabel_but_legendrd
  0  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 )Nr4
  r5
  r:
  r<   r   Tr?  r:  )r<
  r  r>
  r?
  rG
  r;   Fr  rb  r4  )oxoyshader9  r  r   )rf
  r:  rh
  r@
  )rB
  r  r<
  r  rl  s        r%   test_pie_shadowri
  >  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  r=  )horizontalalignmentverticalalignmentrs  rotation_moder  r   %.2f)r  r=
  	textpropsrm
  rn
  rs  ro
  r  r   )
r  r)   rg  rA
  get_haget_vaget_rotationget_rotation_modeget_sizer  )r  r  rq
  r  textsr=
  txs          r%   test_pie_textpropsry
  V  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  rA
  r.   s     r%   test_pie_get_negative_valuesr}
  l  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   r{
  r|
  r.   s     r%   test_pie_invalid_exploder
  s  s;    llnGC	z	"
y3*- 
#	"	"r~
  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r  r|
  r.   s     r%   test_pie_invalid_labelsr
  z  s;    llnGC	z	"
y%0 
#	"	"r~
  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  )rR	  r|
  r.   s     r%   test_pie_invalid_radiusr
    s7    llnGC	z	"
y$ 
#	"	"r7  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@rf  F)r)   r   rA
  r]  r  )r/   r$   r4   t1t2s        r%   test_normalize_kwarg_pier
    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 )Nr
  r  r  )r   rA
  	set_hatch)r"   r#   r4   rF  wedgesr  ry  s          r%   test_pie_hatch_singler
    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 )Nr
  )rD  r  r   r  )r   rA
  r  r
  )r"   r#   r4   rF  r
  r  ry  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'ru  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<   r3  r  r
  bold)
fontweightr?  r<   r3  T)r5  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 sequenceru  r<   rz  r  z
must be 1Dr3  rw  rv  r
  )r)   r   r   r   r   r   r
  r  rt  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  ru  r  r~  )r)   r   r   rl   rt   r]   r
  r  set_ticklabelsr  get_ticklabelsrb  )r/   r$   r?   r   r  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   rT  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 )	NrJ  )r   r   r3  Fr	  r5   r   r   r%  r7  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 numberru  r&  r  rI  z$The number of FixedLocator locations)	r)   r   r   r  rU  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_func&  s     Av|-2-r'   )r   r   r;   r<   r   r  rT  )r   r   r
  r   r   )r)   r   r]   r   r   r
  r  r  r  r
  rb  )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   ri  r   r3  )r)   r   rT  r   r   rl   r   r  )r/   r$   r'  s      r%   test_o_marker_path_snapr
  3  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  r}  r  r)   r   r   rT  r   r   )r  rj   rk   r>	  r?	  rY  r  rZ  r  r	  r   s              r%   test_marginsr
  >  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   rT  get_xmarginget_ymarginr.   s     r%   test_margin_gettersr
  b  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<   r1  r   )r  xmarginr2  )r   r   r   r)   r   r   r   r   r.   s     r%   test_set_margin_updates_limitsr
  j  sY    IIMM)llnGCGGQFQFFF%F#;;=F"""r'   )r   z!margin must be greater than -0\.5rv  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   rT  )r
  r	  r  rv  r/   r$   s         r%   test_margins_errorsr
  r  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  )r	  )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<   rT  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  r[  )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(  r  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   )rh  zaxes.grid.axisr4   r5   r;   r   )r)   r   r  rY   r   r   )r/   rc_dict0rc_dict1rc_dict2r*  rF  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    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 )Nr3  )r   r  r  r/  morP
  r;   T)originalg      ?r   rb  rb  F)g333333?r   g      ?rb  )rl   rt   rR  r)   r   r   r%  r   r   r  r
  r   r
  r#
  )r4   r5   r/   r$   r   r   s         r%   test_square_plotr  1  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   rv  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   rn  )r<   r  )r;   r<   r3  r  r  rb  )r3  r   r  )r   r3  c                 x    [         R                  " 5       u  p4[        UR                  " / U QUP76 5      U:X  d   eg r  )r)   r   rR  r  )r  r  clsr/   r$   s        r%   test_pcolorfastr  K  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 2Dru  r  )r3  rn  rP	  )r)   r   r   r   r   r  rl   emptyr.   s     r%   test_pcolorfast_bad_dimsr  ^  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\)ru  r   rY  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  e  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  r1  r  r`  )r)   r   ra  r   r  
get_yscale
get_xscaler/   r  r$   s      r%   test_shared_scaler  z  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  re  )r   r   r   r)   rn  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)   rV  rl   rR  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   rZ  r[  )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)   rg  rV  rm  )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   rN  )r&  rO  r   )r)   r   rl   r  	ones_liker   r   )r/   r$   r4   r5   r~  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aardvarkrE  r	  rv  g?r  zaxes.titlepadrh  )r)   r   r7   titleOffsetTrans
get_matrixr1  rY   r   )r/   r$   r  s      r%   test_title_padr0    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_roundtripr4    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  rV  s         r%   test_title_location_sharedr6    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;   rY  r   r   rQ  ri  r<   )r	  r  r  r5  )r	  r  r7  )r)   r   rl   rt   r  r	  )r/   r$   r4   s      r%   test_loglogr8    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;   rY  g      rn  r#  r3  )r  r  r   r<   )r  )rO  nonpositiverQ  r1  )r:  )
r)   r   rl   rt   r  r   r  r  ra  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 )Nrb  r   )r;   r;   r;   r;   r(  rs  r   )r  g      #@)r)   r   r   r
  r  r  r
  rs  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  rm  r  r]   get_major_locatorr$   r  rS  s      r%   	_helper_x&shared_axis_remover.<locals>._helper_x/  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 rB  )r  rm  r  r_   rC  rD  s      r%   	_helper_y&shared_axis_remover.<locals>._helper_y6  rG  r'   r#  )param)requestrE  rI  s      r%   shared_axis_removerrM  -  s      +GMM::r'   )rg  r   subplots_sharedrS  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$ )
Nrg  r   rN  r<   r  r
  r   rS  r   r   r  r  )rK  r)   r   rg  r   rS  )rL  r/   r$   rK	  s       r%   shared_axes_generatorrQ  @  s     }}jjlWWY 7N 
*	$,,. 7N 
+	+ll1aeDAYq\ 7N 
*	$jjl\\*+7Nr'   c                     U u  p#U" U5        g r  r   )rQ  rM  r/   r$   s       r%   test_remove_shared_axesrS  Q  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   rm  r  r   )r/   rK	  r$   	orig_xlims       r%   test_remove_shared_axes_relimrV  W  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  )rX  r  )rl   rt   rm   random_sampler  r)   r   r  r  r  rZ  r\  r   r   )rH
  r   r/   r  r  s        r%   test_shared_axes_autoscalerZ  `  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_   rC  
set_paramsr  r
  r  r  r  r  r.   s     r%   test_adjust_numtick_aspectr]  q  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 )Nr3  rI  )r)   r   r   r  r  r
  r	  s     r%   test_auto_numticksr_  }  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   irW  r3  r@  r   )r)   r   r   r   r  rl   log10r  rt   r  r
  r.   s     r%   test_auto_numticks_logre    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   r  r.   s     r%   test_broken_barh_emptyrg    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.r}  rY  rz  r   r;   r~  r<   r  r<   r   gUUUUUU?N)	r)   r   rB  r  r  r  verticesrD  rE  )r/   r$   d0pps       r%   test_broken_barh_timedeltarm    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  rz  )r  rl   rt   rm   r   r)   r   r  )r  timedepthr  r/   r$   s         r%   test_pandas_pcolormeshrq    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-03r;  r  )r  r+  r<   r;   r  r+  rj  )rl   rt   r	  r   r  r  r)   rg  rR  r  rm  r   )r  r  r+  r  r$   without_zero_indexs         r%   test_pandas_indexing_datesrt    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   r3  r  )r4   r5   xeyere  )columnsr  r4   r5   rv  rw  r  )r  rl   rm   uniformr)   r   rV  r  s       r%   test_pandas_errorbar_indexingrz    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  )rn  r;   r<   )XXYYr}  )r  r)   r   r   r  r  s       r%   test_pandas_index_shaper~    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   r3  r3  r3  r3  r   rj  r;   )r  ilocr)   r   r  )r  ser_1ser_2r/   r$   s        r%   test_pandas_indexing_histr    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<   ri  r;   r   r(  r\   r\  )r  r   r)   r   r  rC   r  r  r  s       r%   test_pandas_bar_align_centerr    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	  r6  r5  T)reverser   r=  r+
  r   )r	  r	  r	  r7  )r)   rn  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_paramsr    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   r=  r+
  )r	  r	  r	  r   r  rN  rE  )
r)   rn  r_   r  r	  r	  	tick1liner  ra  rv
  )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)   rn  r	  r]   r_   r	  r	  r  get_linewidthr  rH  )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
labelrightr7  r5  r   )	r)   rn  r	  r_   r	  ra  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labelbottomr7  r5  r   )	r)   rn  r	  r]   r	  ra  r  r  r	  r  s    r%    test_axes_tick_params_xlabelsider    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   rR  rP  )r)   r   r   r   r   rH  )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 )Nrb  r  )r<   r   r3  r   rK  r\  r   )r)   r  rl   rR  uint8r  r?  r  )r  r(  r  r4   s       r%   test_bar_uint8r  *  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  rM  r;   )tzUTCr   rB  rO  r  gettzr)   r   rn  r   r  r   rp  rq  r4   
time_indexs     r%   test_date_timezone_xr  1  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  rM  r;   FT)r  xdateydater  r  r  s     r%   test_date_timezone_yr  D  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  rM  r;   r  T)r  r  z
US/Eastern)rB  timezoneutcr   r)   r   rn  r   r  r   rp  rq  )r  r4   r  s      r%   test_date_timezone_x_and_yr  W  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  rf  )Fr  Trs  r   r  r  r  rS  rT  r?   rP  )r   r   r:  F)rA   rR   rS   rE   )r)   r   r   r  r   r  rT	  r  r  r	  r	  r    set_axisbelowget_axisbelow)r  settingsr$   settingcircs        r%   test_axisbelowr  j  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
  )r1  Xlabel2Titler   )r)   r   r   r   r  r*   r7   r  r  get_rendererget_window_extentr_  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   rS  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   rv  )	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   FAr=  )r	  )r)   r   r   r_   r  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_   r  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   rR  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   r2  r   r  rn  r  rW  r   re  )r)   r   r   rB  rl   r  r  barbsr/   r$   rF  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   rB  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  rr  )r  r/   r$   r~  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  )r7  rs  r?  r6  r4   5   )r%  r	  r5   r  )r%  rs  r	  )
r)   r   r   r]   r  r_   r  rt
  r
  r	  )r  r$   r  texts       r%   test_tick_param_label_rotationr    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  rN  )r8  r  r   r9  rx  )r  )r)   r   r   r  r$  r  rB  r  squeezer<  r  r  )	r/   r$   r~  cctargetaledge_targetelface_targets	            r%   test_fillbetween_cycler  ,  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  rb  r  r   r   )
r)   r   r   set_xmarginr  r   r]   r  r7  r   )r/   r$   marginxlim0xlim1r7  xlim0txlim1tx0tx1tr0  s              r%   test_log_marginsr  H  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;   r[  r  ru  )r   r   r   )	rl   rt   r)   r   r   r   r  r=   r  )r  r4   r5   r  r/   r$   s         r%   test_color_length_mismatchr  V  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  b  s    MM3%w'JJLr'   r  zlineoffsets cannot be emptyr  zlinelengths cannot be emptyr*  zlinewidths cannot be emptyr  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  g  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 )Nr3  r;   r   )rS   r  )r   r   r   rO  r  )r)   r   r  r   r  rs  )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r8  )
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  r_  r1  r  c                     [         R                  " 5       nUR                  / SQ5        UR                  U 5        UR	                  U5        UR                  5         g )Nr  )r)   rn  r   ra  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$   xtwinrZ  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;   rQ  )r&  rO  )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)rZ  r2   zempty x)r[  r2   )r)   r   rV  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\(\@r  )rl   rt   r   r   r   )r"   r#   r^  r4   r_  rF  r5   s          r%   test_plot_decimalr1    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   r4  r   )r  r  ry  )r   r   )r"   r#   s     r%   test_markerfacecolor_none_alphar3    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%  r^  r_  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<   rT  r   )boundsr   )rl   mgridr(  r	  rj  r)   r   r  r
  apply_aspectindicate_inset
connectorsr  r  rR  r  	rectangleget_bbox
get_points)dxdyr5   r4   r  r/   r$   r   r   rv  insetxxs               r%   
test_insetrJ    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<   rT  r3  r   g=
ףp=?gKXc'?g(\?g?g-C6?rtol)rl   r?  r(  r	  rj  r)   r   r  r
  r@  r  r  r  r
  r   r  r   rp  indicate_inset_zoomr  r  r  rR  r  rD  rE  r   r   r
  )rF  rG  r5   r4   r  r/   r$   axin1recrB  rI  s              r%   test_zoom_insetrQ    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$   axinsrS  r  s        r%   test_inset_polarrT    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$   rS  s      r%   test_inset_projectionrY  (  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 )NrV  )r  )r)   r   r  AAr   r   rX  s      r%   test_inset_subclassr\  .  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   r3  r   r   N)
r)   r   rl   rt   r   r  r  rA  rB  r  )r]  r^  r/   r  r  r4   rH  
lower_left
upper_leftlower_rightupper_rightsign_xsign_ys                r%   test_indicate_inset_invertedrf  4  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   rO  rO  r   r6  r   r   r  r  active)r)   r   r
  r	  rl   rM  r
  r  r.   s     r%   test_set_positionri  N  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)rz  rz  r  r  r	  Fgư>rL  )r)   r   r	  rR   r  r  r  _set_view_from_bboxrl   r   r   rE  r7  s       r%   !test_spines_properbbox_after_zoomrl  [  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   rc  atol)r  r  r   )gB!Bؿg{?)g      ڿg     ?r   r   )r  r  r   r   )
r)   r   r  r  rk  rl   r   r   r   r   )r/   r$   r   r   r  new_ylimres_xlimres_ylims           r%   test_limits_after_scroll_zoomrt  e  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   r6  r  )r/   r$   r  s      r%   test_gettightbbox_ignore_nanrv    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   rW  r  r  r  )r;   r;   r;   r;   r;   r   r   r   )r   r  rl   rm   ry  r)   r=   )r  r3  r4   r5   r?   s        r%   "test_scatter_series_non_zero_indexrx    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_datarz    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   rM  )rO  r   r   r   r   Fr   r|  r  rL
  )rN
  )r  r  r  r  r  )rl   r  r}  r	  r)   r   r   r  r
  r]   r    r_   r  	transDatarC  r  )r4   r5   r/   r$   rS  s        r%   test_annotate_across_transformsr}    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  rF  )r|  rF  s     r%   rK  _Translation.__init__  s    r'   c                     XR                   -   $ r  r  )r|  r+  s     r%   r7  _Translation.transform  s    r'   c                 .    [        U R                  * 5      $ r  )r  rF  r  s    r%   r  _Translation.inverted  s    TWWH%%r'   r  N)
r  r  r  r  
input_dimsoutput_dimsrK  r7  r  r  r   r'   r%   r  r    s    JK &r'   r  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  rq  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rY  r   r   	functionsrO  c                     SU -  $ Nr<   r   r  s    r%   r  #test_secondary_xy.<locals>.<lambda>  s    Ar'   c                     U S-  $ r  r   r  s    r%   r  r    s    Qr'   r  c                     U S-  $ r  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_yaxisr  r|  )r/   r  r  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<   rY  r   c                     SU -  $ r
  r   r  s    r%   r  %test_secondary_fail.<locals>.<lambda>  s    QUr'   r  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  rM  r<   rY  c                 j    [         R                  " SS9   SU -  sS S S 5        $ ! , (       d  f       g = fr  r  r  s    r%   r  %test_secondary_resize.<locals>.invert  r  r  rA   r  )rn  r3  r  )r)   r   r   rl   rt   r  r  r  r	  r   r
  r#
  )r/   r$   r  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  rM  r<   rY  c                 j    [         R                  " SS9   SU -  sS S S 5        $ ! , (       d  f       g = fr  r  r  s    r%   r  'test_secondary_minorloc.<locals>.invert  r  r  rA   r  r1  r`  )r)   r   r   rl   rt   r  r   _axisget_minor_locatorr   NullLocatorr  AutoMinorLocatorra  r  
LogLocator)r/   r$   r  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 )Nr1  rA   )r)   r   ra  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    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   r2  )r;   g	@)r   r   r   r4  rN  rQ	  r;   )r;   g      @)r;   r   )r   rq  r  )r)   r   r  r   r%  r>  r  rT	  )r/   rl  rF  options       r%   test_axis_optionsr    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   r4  Nr   )r  r  r:  r9  r8  r7  r  )rR   rA   rS   rE   r   r   r  r<   r=  r;   )r  r  r  r  r]   r_   r6  r  r  r^  r_  r  r  r>  r	  r  )r/   r$   r  bbaxisr  axxr8  axisrbbspinesr   spinerr"  bbaxr9  bbtbs                  r%   color_boxesr  ,  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=	  r1  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  rp  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  Z  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  ro  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  )rl  ri  )r        8@r  gs~8&@r  r  r  r  ro  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  ro  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+
  )r7  r	  )r  g88[@r  r  )gCiq\a@r  r  r  r<   r  ro  r5  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 )Nrc  Fr5  rd  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%  rB  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   r3  r   r  r  r  r   r;   r   r  )r)   r  r  r  s     r%   test_hist_auto_binsr     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  rK  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   0   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  r[  r  r  )r)   r   r  rV  r;  r?  r  )
r/   r$   r4   barcont	data_linecaplinesbarlinecolsr  capline
barlinecols
             r%   test_bar_errbar_zorderr  7   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  r  r   rv  )r)   r   r  r
  r   r.   s     r%   test_set_ticks_invertedr
  F   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(  rM  rO  r  r1  rl  logit)F]tE?g'^P?r;   r	  r  r   r  r   r   r 
  r   r<   )r)   r   r   r   r   rT  r  transform_bboxr
  r  r  r   approx)r/   r$   r   s      r%   $test_aspect_nonlinear_adjustable_boxr  O   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(  rM  rP  rO  r  r1  )r;   r   r  )gbeF?r  r;   r	  r  r   gS[:XL	@g'In?@)r)   r   rS  r   r   rT  r@  r   r   r  r   r.   s     r%   (test_aspect_nonlinear_adjustable_datalimr  \   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_aspectrT  r
  r  r  r
  r   r#
  )rY  r  axtwinrZ  r  bb1bbtr9  s           r%   test_box_aspectr  k   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   rb  r   r   )	r)   r   r	  r  r  r  r
  r   r#
  )rY  r  rZ  r  r  r9  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  rq  r   )r)   r   r  r  r  r  r  r  r  r  r  r   )r/   r  r  rB
  r$   r8  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 positiveru  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 NrC  zlines.markeredgecolor)r)   r   rl  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   rl  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   ri  r   get_autoscale_onr/  limget_rn  )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_unautoscaler8     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#   rH
  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   rl  r]   r)  r  r  ra  r+  s      r%   &test_xtickcolor_is_not_xticklabelcolorrA     |    "*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   rl  r_   r)  r  r  ra  r+  s      r%   &test_ytickcolor_is_not_yticklabelcolorrF  !  rB  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   rl  r]   r
  r  r  s    r%   test_xaxis_offsetText_colorrI  !  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   rE  r=  rD  rH  )r)   r   rl  r_   r
  r  r  s    r%   test_yaxis_offsetText_colorrK  !  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)  ra  rv
  _get_tick_label_size)r  r/   r$   namer%  r	  s         r%   test_relative_ticklabel_sizesrO  %!  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   rQ  ipI  )r)   r   r   r   r  r   rl   rM  )r/   r  r  r   s       r%   test_multiplot_autoscalerR  3!  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   rS  r
  r  rE  r  )r/   rr  r  init_poss       r%   $test_sharing_does_not_link_positionsrV  <!  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   r[  r  ru  r   r   rT  r3  rv  )rl   rR  r   r   r   r   r  r=   r  r  rt   r  )r"   r#   r   r  s       r%   test_2dcolor_plotrX  E!  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_clearrZ  Y!  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<   rT  )r)   r   r  r   r
  r   r
  r   r  s      r%   test_shared_axes_retickr\  h!  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   rr
  )rH   r/   r$   s      r%   test_ylabel_ha_with_positionr`  w!  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)   rg  r  	bar_labelr  r^   r
  r$   r  heightsru  r  s        r%    test_bar_label_location_verticalrg  !  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   rb  r   r\   rA   rR   )r)   rg  r  r  rd  r  r^   r
  re  s        r%   *test_bar_label_location_vertical_yinvertedri  !  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   rb  r   rS   r\   rE   r)   rg  r  rd  r  r^   r
  r$   r  r  ru  r  s        r%   "test_bar_label_location_horizontalrn  !  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 rk  )r)   rg  r  r  rd  r  r^   r
  rm  s        r%   ,test_bar_label_location_horizontal_yinvertedrp  !  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   rb  r   rE   r\   rS   )r)   rg  r  r  rd  r  r^   r
  rm  s        r%   ,test_bar_label_location_horizontal_xinvertedrs  !  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 rr  )	r)   rg  r  r  r  rd  r  r^   r
  rm  s        r%   -test_bar_label_location_horizontal_xyinvertedru  !  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   rb  r\   
label_typer   r	  rl  rm  s        r%   test_bar_label_location_centerry  !  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  r1  r;   r\   rw  )r)   r   r  ra  r  rd  r  )r  r$   r  s      r%   !test_centered_bar_label_nonlinearr{  !  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  re  r~  )r2   rS   r\   rw  r  )r)   r   r  r  rd  r  r	  )r/   r$   lastr2   rH  r  s         r%   +test_centered_bar_label_label_beyond_limitsr~  !  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   rb  r[  r   r\   rR   rA   rc  re  s        r%   !test_bar_label_location_errorbarsr  !  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   rp
  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   rb  r  r   z3.00z-4.00r)   rg  r  rd  rb  )r   r$   ru  r  s       r%   test_bar_label_fmtr  "  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   rb  zstr or callableru  r   r  )r)   rg  r  r   r   r   rd  )r$   ru  r  s      r%   test_bar_label_fmt_errorr  "  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   rb  r  r  r
  r   r  )r$   ru  r  s      r%   test_bar_label_labelsr  "  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   ri  rR   )	r)   rg  r  rl   r	  rd  rb  r  r
  r$   r  r  rH
  s       r%   test_bar_label_nan_ydatar  "  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 r  )
r)   rg  ri  r  rl   r	  rd  rb  r  r
  r  s       r%   !test_bar_label_nan_ydata_invertedr  '"  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  rJ  r   r  )r&  r'  r  )r  r  )	r)   r   r  rl   r	  rd  rb  rM  r   )r/   r$   r  r  rH
  s        r%   test_nan_barlabelsr  1"  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   r  r2  r  r   r  gffffff?r  r}  r<   gr  r  )r)   r   r  r  Wedgerl   r	  r
  r   assert_array_almost_equal_nulprR  dataLimr>  )r/   r$   bots      r%   test_patch_boundsr  E"  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/edgecolorsru  r   r  r  rS  r(  )r   r  r8  r9  )r   r  rU  r)   r=   r   r'   r%    test_warn_ignored_scatter_kwargsr  M"  sA    	k@
BQC!SC3#N
B 
B 
Br^  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 rangeru  r;   r  r<   r   )r)   r   r   r   rl   rt   r=   r   r  r  r  r  r  r)  r  imagesr;  r?  tablesrw
  r   r   
IndexErrorr  rm  )	r/   r$   rF  r;  r~  r  r  r  r  s	            r%   test_artist_sublistsr  T"  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))ru  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\Zru  r  rj  )r)   r   replacer   r   r  r   )r   rv  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  rN  z.C12:r   C12r  )r)   r   r   r  rG  r  r  r
  rb  r$  r  rH  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<   rj  r   r?   )
r)   r   r   rK   r  r  	get_textsrb  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 keywordru  r  r;   r  zplot\(\) with multiple groupsr  r'  r  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<   rj  )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   r[  r   r;   r<   )rn  r  )clim)r)   r   r   r   r=   r   r   rs  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=  rA  CURVE3	CLOSEPOLYr)   r   r  r  r@  rk  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      ry  gQ g{Gz?gzGr   gRQrN  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?rq  g(\?r  gQ?gGz?g=
ףp=?gffffff @r_	  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   rR  r}  r  r  r=  r)   r   r  r  r@  rk  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  rb  r
  )r/   r$   rL  s      r%   test_get_xticklabelr  4#  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  rT  )rl   rt   r  rR  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  <#  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	  rm  r  s       r%   test_bar_all_nanr  T#  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-01rc  z
2020-01-11r   r  zDate extents on y axisr   r;   rY  plasma)r   r  r   r  z(Date extents on x axis (Day of Jan 2020)z%dr  zDay of Jan 2020)r	  r  )r   r   z set_extent\(\) got an unexpectedru  r  Fr  )r)   r   rl   ro  r   r7   r   r   r  r]   r   rD  DateFormatterr   
set_extentr   r   r   )r  r  
date_first	date_lastr~  rF  arrr  s           r%   test_extent_unitsr  a#  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   rl  
get_figurer  )r/   r$   r;  rq  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;   re  rw  r  r{  )r)   r   r  r  rm  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'ru  zred
r<   r:  )r   r   r  r   rl  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   )r8  r9  r:  r  rw  r	  T)clip_onr  )r  r  rS  )r   r  r  ro  z#beefc0r   z#faded0)r8  r  r9  r:  r  r  r(  )rn  rn  )r   rp  r   rN  )r  r  r  r  r  r5   )r8  r9  r:  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 )Nr=  zaxes.labelcolorr  zaxes.labelsizer
  zaxes.labelweight)	r   r   r)   rl  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  ry  )r  ry  Tr  )r  rV   complementarycompressr&  r  rn  r9  )ds)r  r  rW  r+  r   r   r  z	steps-pre)r  r&  )rl   rR  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	   rR  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   r3  r  r   g333333?rB  rT  r   r<   r  )r   rO  r  r;   r   )rE  r   r  r7  )r)   r   rl   rt   r
  r	  r   r   r   rv   r  rA	  )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 scriptrS  	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   r=  rT  rR   r   r	  )r)   r   r  r$  r  r	  rs  r]   r  r2   r  )r/   r$   saxs      r%   test_set_secondary_axis_colorr  $  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   r3  r{  )r)   r   	callbacksconnectr  r   )r/   r  eventss      r%   test_xylim_changed_sharedr  '$  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  r[  r   r   rv  )fcrO  r   rw  r;   )r?   r  r  rb  )r  r  r  r  )r)   r   r   r  r  r  rv   r  r  s    r%   test_axhvlinespan_interpolationr  0$  s    		!	!W	!	5BOOJJrTJJJr2$JJJr2r2$J'JJqDJ#JJr2$bJ)JJr2r2$bJ1r'   r7  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  rn  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"   r7  ry   rz   r	  s         r%   test_axes_clear_behaviorr  <$  sS    !GFT" 	 		
 	q 	7 	! 	 	* 	. 	c 	! 	#  	%!" 	t#$ 	%& 	'( /F4 ,E,V,-U-f-MMO
KKLLr'   )r   rf  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 rH  )	r   r   r  popleftgcget_referentsidaddr  )r  to_visitexploredparentchilds        r%   assert_not_in_reference_cycleFtest_axes_clear_reference_cycle.<locals>.assert_not_in_reference_cyclel$  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  rm  NotImplementedError)	r-  r/   r$   rg  ax_childrenr   big_artists
big_artistr,  s	            r%   test_axes_clear_reference_cycler3  g$  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  rf  zhas been renamed 'tick_labels'ru  r   r  r
  )tick_labels)rl   rm   rn   r)   r   r   r  r   rp  r  r  rb  )r  r/   r  rH
  s       r%   test_boxplot_tick_labelsr6  $  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   rA  z%1.0f%%usetexT)r=
  rq
  z%1.0f\%%)r   rA
  )r"   r#   r  r$   r  s        r%   test_latex_pie_percentr9  $  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   rT  r  r.  r  r  g      >g      4r  r  r:  rg  rE  rT   rU   z
vert: boolru  F)vert)r)   r   rl   rm   rn   r   ro   rV  r  r  rR  r
  rp  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.10ru  zboxplot.verticalF)r)   r   rl   rm   rn   r   ro   r  r  r  rR  r
  rp  r   r  r   rp  r   r=  s           r%   test_boxplot_orientationrB  $  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   ri  float32r  r  r   r3  r  r  r  r   r  r?   	colorizerr  r  rG  r  r  )rG  r   r   r  r  r2  rD  r   r;   r<   r   r   r  r;   r   ri  r<   r;   r  r  r  r;   )rl   rm   rn   rt   r   r)   r   r   r  r%  rG  	Colorizerr=   r  r   rs  r  r  r  r  r  
tricontourr|  tricontourffigimager  r   )rand_xrand_yr?   r/   rl  r  cls          r%   test_use_colorizer_keywordrT  $  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   ri  rD  r  r  r   r3  r  r  rE  z5The `colorizer` keyword cannot be used simultaneouslyr  r  r  r1  r   r  ru  r  rF  r  r  rH  r  rG  rI  r  r  r2  rD  rJ  rK  ri  rL  r  )rl   rm   rn   rt   r   r)   r   r   r  r%  rG  rM  r   r   r  r=   r  r   rs  r  r  r  r  r  rN  r|  rO  rP  )
rQ  rR  r?   r/   rl  r  rS  	match_strkwrdskwrds
             r%   test_wrong_use_colorizerrY  %  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   )rY  r  rf  r=  rT  )r  r  r|  r  r@  )   r   !   r   )r   r8  )r)   r   r  r$  r  rr  )r/   r$   r  r  s       r%   test_bar_color_precedencer]  W%  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  rS  r	  r^  r_  r  r  )r"   r#   r"
  ry   rz   s        r%   .test_axes_set_position_external_bbox_unchangedr_  p%  sy     c3Z#s45D%G/0GGTWWdjj$++6:NNNN45Fr'   r  (  r  r  r   r   rB  r  r   	functoolsr   r%  r$  r  	itertoolsr   platformsysr  r   dateutil.tzrO  numpyrl   r	   r
   r   rY   r   r   r   matplotlib.colorsr  r$  matplotlib.datesr  rD  matplotlib.figurer   matplotlib.axesr   r:  r   matplotlib.collectionsr   matplotlib.font_managerfont_managermfont_managermatplotlib.markersr  r	  matplotlib.patchesr?  r  matplotlib.pathr<  r  matplotlib.projections.geor   matplotlib.projections.polarr   matplotlib.pyplotpyplotr)   matplotlib.textr  r'  matplotlib.tickertickerr   matplotlib.transforms
transformsr  mpl_toolkits.axisartist
axisartistr[  numpy.testingr   r   r   matplotlib.testing.decoratorsr   r   r   matplotlib.testing._markersr   r&   r0   r9   rP   rW   rZ   r`   r}   r   r   r   r   machiner   r   r   r  r!  r!  r"  r,  rG  rW  ra  rs  r  r  r  r  r   r#  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r0  rM  rW  r_  rd  rk  rt  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&  r/  r  rt   r6  r>  rJ  rT  r]  rb  rj  rt  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r2  r5  r8  r=  rB  rI  rN  rP  rR  rV  rX  r`  rc  rh  rl  rw  ry  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  rE  r  r#  Patchr  r;  r&  r)  rB  rH  rQ  rS  rW  rZ  r]  ra  rc  ro  rv  rz  r}  r  r  r  r  r  r  r&  r'  rR  r/  r  r6  r;  r?  COLOR_TEST_CASESr@  rC  rU  r[  rj  rn  rp  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  r   r,  r2  r8  r;  r=  rA  rL  rQ  rW  r[  r^  r`  rd  rh  rk  rn  rp  rr  rt  rv  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-  r5  rD  rM  rR  rU  rX  r[  r^  r`  ri  rl  ru  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	  r#	  r(	  r3	  r5	  r	  r	  r:	  rD	  rM	  rY	  r^	  rw	  r{	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r  rv   r  r  r	  r	  r
  r
  r
  r
  r   r  rB  r
  r 
  r$
  r(
  r-
  rC
  rJ
  rT
  rW
  rZ
  r]
  ra
  rd
  ri
  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  	AxesImager   PcolorImagerm   QuadMeshr   r   r  r  r  r  r  r  r"  r%  r*  r0  r4  r6  r8  r=  r?  fixturerM  rQ  rS  rV  rZ  r]  r_  re  rg  rm  rq  rt  rz  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/  r1  r3  r:  rJ  rQ  rT  rY  r\  rf  ri  rl  rt  rv  rx  rz  r}  	Transformr  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/  r8  r=  r?  rA  rF  rI  rK  font_scalingsrO  rR  rV  rX  rZ  r\  r`  rg  ri  rn  rp  rs  ru  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  r  skipifversion_inforeleaselevelr3  r6  r9  r@  rB  rT  rY  r]  r_  r  s   0r%   <module>r     s7    )    	  	   
 !        . # ! $   # 1 / % %  1 2   # + $D DD D 4 ( )
(M / /$ . .$ / /(@, (( )($ (( )(( (, ),*3 (, ),   $++-9auF$F$NJ4G2 234 50". ,J -J  ,T2'% 3 -'%T '(#++-9auFF","1h0f/ ( ) )*=% >% 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/ ?#$* %* ?#.* /* &(;<$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  
$
$ -.D#++-9auF'F'. 89T33& 12E1 F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 ;-T2
 3
 #$$EB C" ,-4UK; L;0 34$G H4 )*=; >;4 $%YDI? J?. 12E; F;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
 :,D1( 2( (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%* 8X&DH= I=" %&DH
. I
.'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 )+AB#++-9auFF( ,-4@E A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
 9i(d)D E$ (
 )
 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) HI3; J3;l ./UG"$<$<BE > >9$ $%&+4 '+4\C$3" ( )(5"7*6 (3 (3V 	(*(;()(+ ,N,N () )) ,.GHI
A J
A =/" # ?#6 7 ()*A +A )*+M ,M :,g4@ A>,>4B )*'tL& M& 234F 5F &'(5 )5 ()*2 +2 )*== >=1	14040 %&'E (E" [/$B%0/$B%,.>$?%02B$C%0+$>%,o$>$@ A (+ )A+  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  #$$7 85.5* <.d3" 4": ;,$?(+ @(+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; < '):;#++-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 )6Y""7s   PB^&
PB^&
