Ë
    ýÿæiäw  ã                   óê  — d Z ddlZddlZddlZddlmc mZ ddl	m
Z
mZmZmZmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZ  ej8                  d«      Z ej8                  d«      Z ej8                  d«      Zddl Z ddl!m"Z" ejF                  d	e
fd
„«       Z$ ejJ                  d«      d„ «       Z&d„ Z'ejP                  jS                  dejT                  jV                  «      ejP                  jS                  d e
 ejX                  d«      j[                  dd«      «       e e.d«      «      g«      ejP                  jS                  d e e.d«      «       edd¬«       edd¬«      g«      d„ «       «       «       Z/ G d„ d«      Z0 G d„ d«      Z1ejF                  d„ «       Z2ejF                  d	e
fd„«       Z3d„ Z4d„ Z5ejP                  jS                  ddd gd!d"gd"dgg«      d#„ «       Z6ejP                  jS                  dg d$¢g d%¢g d&¢g«      d'„ «       Z7ejP                  jS                  d(d)d*gd+d,gd-d.gd/d0gg«      d1„ «       Z8ejP                  jS                  d(d$gd2gd3gd4gg«      d5„ «       Z9d6„ Z:d7„ Z;d8„ Z<d9„ Z=y):z"Test cases for misc plot functionsé    N)	Ú	DataFrameÚIndexÚSeriesÚ	TimestampÚ
date_rangeÚinterval_rangeÚperiod_rangeÚplottingÚread_csv)Ú_check_colorsÚ_check_legend_labelsÚ_check_plot_worksÚ_check_text_labelsÚ_check_ticks_propsÚ
matplotlibzmatplotlib.pyplotzmatplotlib.cm©Úget_standard_colorsÚreturnc                 ó*   — t         | dddd«      «      S )z*
    The iris dataset as a DataFrame.
    ÚioÚdataÚcsvziris.csv)r   )Údatapaths    út/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/pandas/tests/plotting/test_misc.pyÚirisr   '   s   € ô
 ‘H˜T 6¨5°*Ó=Ó>Ð>ó    c                  ó¢   — t        dddgi«      } t        j                  t        d¬«      5  | j	                  «        d d d «       y # 1 sw Y   y xY w)NÚAé   é   z#matplotlib is required for plotting©Úmatch)r   ÚpytestÚraisesÚImportErrorÚplot©Údfs    r   Útest_import_error_messager)   /   s;   € ô 
�C˜!˜Q˜�=Ó	!€Bä	�‰”{Ð*OÖ	PØ
�‰Œ	÷ 
Q×	PÑ	Pús   «AÁAc            	      óX  — t         j                  j                  j                  } d}t	        j
                  t        |¬«      5   | dg g i ¬«       d d d «       d}t	        j
                  t        |¬«      5   | dt        t        ¬«      dd gi ¬«       d d d «        | dt        «       dgd	d
ddœ¬«      \  }}}}|dk(  sJ ‚|d	k(  sJ ‚|d
k(  sJ ‚|ddik(  sJ ‚ | dt        t        ¬«      g i ¬«      \  }}}}|�J ‚|�J ‚|dk(  sJ ‚t        |«      dk(  sJ ‚y # 1 sw Y   ŒÆxY w# 1 sw Y   Œ�xY w)Nz@Called plot accessor for type list, expected Series or DataFramer!   Ú )Úbackend_namer   ÚargsÚkwargsz.should not be called with positional arguments©ÚdtypeÚlineÚxÚyÚbarF)r3   ÚkindÚgridr6   zpandas.plotting._matplotlibé   )r
   Ú_coreÚPlotAccessorÚ_get_call_argsr#   r$   Ú	TypeErrorr   Úobjectr   Úlen)ÚfuncÚmsgr2   r3   r5   r.   s         r   Útest_get_accessor_argsr@   8   s;  € Ü�>‰>×&Ñ&×5Ñ5€Dà
L€CÜ	�‰”y¨Ö	,Ù˜" 2¨B°rÕ:÷ 
-ð ;€CÜ	�‰”y¨Ö	,Ù˜"¤6´Ô#7¸vÀt¸nÐUWÕX÷ 
-ñ ØÜ‹[ØˆUØ %°Ñ7ô	Ñ€A€qˆ$�ð �Š8€Oˆ8Ø�Š8€Oˆ8Ø�5Š=Ðˆ=Ø�f˜e�_Ò$Ð$Ð$áØ2Üœ&Ô!ØØô	Ñ€A€qˆ$�ð ˆ9Ðˆ9Øˆ9Ðˆ9Ø�6Š>Ðˆ>Üˆv‹;˜"ÒÐÑ÷7 
-Ð	,ú÷ 
-Ð	,ús   ÁDÁ4D ÄDÄ D)r5   r   é   é   é   Úindexú
2020-01-01©Úperiodsc                 ó  — t         j                  «       \  }}||_        i }| dv r-t        |t        «      rt        j                  | › d�«       dddœ} |j                  d| |dœ|¤Ž |j                  t        j                  «       y )N)ÚhexbinÚscatterÚpiez not supported with Seriesr   r   )r2   r3   )r5   Úax© )ÚpltÚsubplotsrD   Ú
isinstancer   r#   Úskipr&   ÚsavefigÚosÚdevnull)r5   r   rD   ÚfigrL   r.   s         r   Útest_savefigrV   Z   sx   € ô �l‰l‹n�G€CˆØ€D„JØ€FØÐ+Ñ+Ü�dœFÔ#Ü�K‰K˜4˜&Ð :Ð;Ô<Ø˜qÑ!ˆØ€D‡I�IÐ)�4˜BÑ) &Ò)Ø‡K�K”—
‘
Õr   c                   ód   — e Zd Zd„ Zej
                  j                  di ddig«      d„ «       Zd„ Zy)ÚTestSeriesPlotsc                 óš  — t        t        j                  dt        j                  ¬«      t	        dd¬«      d¬«      }t        j                  d «      5  t        t        j                  |¬«       t        t        j                  |j                  ¬«       t        j                  |d¬	«      }d d d «       t        dg¬
«       y # 1 sw Y   ŒxY w)Né
   r/   rE   rF   Úts©rD   Úname)ÚseriesÚTest)Úlabel)Úlabels)r   ÚnpÚarangeÚfloat64r   ÚtmÚassert_produces_warningr   r
   Úautocorrelation_plotÚvaluesr   )ÚselfÚserrL   s      r   Útest_autocorrelation_plotz)TestSeriesPlots.test_autocorrelation_plots   s�   € ÜÜ�I‰I�b¤§
¡
Ô+Ü˜\°2Ô6Øô
ˆô ×'Ñ'¨Õ-Üœh×;Ñ;ÀCÕHÜœh×;Ñ;ÀCÇJÁJÕOä×.Ñ.¨s¸&ÔAˆB÷	 .ô
 	˜R¨¨Ö1÷ .Ð-ús   ÁACÃC
r.   ÚlagrB   c                 ó´   — t        t        j                  dt        j                  ¬«      t	        dd¬«      d¬«      }t        t        j                  fd|i|¤Ž y )NrZ   r/   rE   rF   r[   r\   r^   )r   rb   rc   rd   r   r   r
   Úlag_plot)ri   r.   rj   s      r   Útest_lag_plotzTestSeriesPlots.test_lag_plot�   sE   € äÜ�I‰I�b¤§
¡
Ô+Ü˜\°2Ô6Øô
ˆô
 	œ(×+Ñ+ÑB°CÐB¸6ÓBr   c                 ó´   — t        t        j                  dt        j                  ¬«      t	        dd¬«      d¬«      }t        t        j                  |d¬«       y )NrZ   r/   rE   rF   r[   r\   )r^   Úsize)r   rb   rc   rd   r   r   r
   Úbootstrap_plot)ri   rj   s     r   Útest_bootstrap_plotz#TestSeriesPlots.test_bootstrap_plotŠ   s?   € ÜÜ�I‰I�b¤§
¡
Ô+Ü˜\°2Ô6Øô
ˆô
 	œ(×1Ñ1¸#ÀBÖGr   N)	Ú__name__Ú
__module__Ú__qualname__rk   r#   ÚmarkÚparametrizero   rs   rM   r   r   rX   rX   r   s=   „ ò2ð ‡[�[×Ñ˜X¨¨U°A¨JÐ'7Ó8ñCó 9ðCóHr   rX   c                   óÜ  — e Zd Zej                  j                  dddg«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  d„ «       Z	ej                  j                  ej                  j                  ddg d	¢g«      ej                  j                  d
d e
ej                  j                  d«      j                  d«      ej                  j                  d«      j                  d«      ej                  j                  d«      j                  d«      dgdz  dœ«      g«      d„ «       «       «       Zej                  j                  ej                  j                  d
d e
ej                  j                  d«      j                  d«      ej                  j                  d«      j                  d«      ej                  j                  d«      j                  d«      dgdz  dœ«      g«      d„ «       «       Zej                  j                  d„ «       Zej                  j                  ej                  j                  ddg d	¢g«      d„ «       «       Zej                  j                  d„ «       Zej                  j                  d„ «       Zej                  j                  d„ «       Zej                  j-                  d«      d„ «       Zd„ Zej                  j                  ddg d	¢g«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Z d#„ Z!d$„ Z"d%„ Z#d&„ Z$d'„ Z%ej                  j                  d(d)d*g«      d+„ «       Z&d,„ Z'd-„ Z(d.„ Z)d/„ Z*d0„ Z+d1„ Z,d2„ Z-d3„ Z.y4)5ÚTestDataFramePlotsÚ	pass_axisFTc                 ó  — t        j                  d«       t        j                  }d }|r#t        j
                  j                  dd«      \  }}t        t        j                  j                  d«      j                  d«      «      }t        j                  t        d¬«      5  t        ||d|¬«      }d d d «       d	   d	   j                   j#                  «       }g d
¢}t%        ||«       t'        |dddd	¬«       y # 1 sw Y   ŒJxY w)NÚscipyrC   r    ©rZ   rC   F©Úcheck_stacklevelçš™™™™™¹?©ÚframeÚrange_paddingrL   r   )z-2z-1Ú0é   éZ   ©Ú
xlabelsizeÚxrotÚ
ylabelsizeÚyrot©r#   Úimportorskipr
   Úscatter_matrixÚmplÚpyplotrO   r   rb   ÚrandomÚdefault_rngÚstandard_normalre   rf   ÚUserWarningr   ÚyaxisÚget_majorticklabelsr   r   ©	ri   r{   r�   rL   Ú_r(   ÚaxesÚaxes0_labelsÚexpecteds	            r   Útest_scatter_matrix_axisz+TestDataFramePlots.test_scatter_matrix_axis”   sÖ   € ä×Ñ˜GÔ$Ü!×0Ñ0ˆàˆÙÜ—J‘J×'Ñ'¨¨1Ó-‰EˆAˆrä”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆô ×'Ñ'¬ÀeÖLÜ$ØØØ!Øô	ˆD÷ Mð ˜A‘w˜q‘z×'Ñ'×;Ñ;Ó=ˆâ$ˆÜ˜<¨Ô2Ü˜4¨A°BÀ1È1ÖM÷ MÐLús   ÂC8Ã8Dc                 ó$  — t        j                  d«       t        j                  }d }|r#t        j
                  j                  dd«      \  }}t        t        j                  j                  d«      j                  d«      «      }|d   dz
  dz  |d<   t        j                  t        d¬«      5  t        ||d	|¬
«      }d d d «       d   d   j                   j#                  «       }g d¢}t%        ||«       t'        |dddd¬«       y # 1 sw Y   ŒJxY w)Nr}   rC   é   r~   r   r    Fr   r�   r‚   )z-1.25z-1.0z-0.75z-0.5r†   r‡   rˆ   r�   r˜   s	            r   Ú test_scatter_matrix_axis_smallerz3TestDataFramePlots.test_scatter_matrix_axis_smaller­   së   € ä×Ñ˜GÔ$Ü!×0Ñ0ˆàˆÙÜ—J‘J×'Ñ'¨¨1Ó-‰EˆAˆrä”r—y‘y×,Ñ,¨RÓ0×@Ñ@ÀÓIÓJˆØ�A‘˜‘˜a‘ˆˆ1‰ô ×'Ñ'¬ÀeÖLÜ$ØØØ!Øô	ˆD÷ Mð ˜A‘w˜q‘z×'Ñ'×;Ñ;Ó=ˆÚ5ˆÜ˜<¨Ô2Ü˜4¨A°BÀ1È1ÖM÷ MÐLús   Â-DÄDc                 ó�   — t        j                  d «      5  t        t        j                  |d¬«       d d d «       y # 1 sw Y   y xY w©NÚName©rƒ   Úclass_column)re   rf   r   r
   Úandrews_curves©ri   r   s     r   Útest_andrews_curves_no_warningz1TestDataFramePlots.test_andrews_curves_no_warningÆ   s1   € ô ×'Ñ'¨Õ-Üœh×5Ñ5¸TÐPVÕW÷ .×-Ñ-úó	   –<¼AÚ
linecolors)z#556270z#4ECDC4z#C7F464)Ú
dodgerblueÚ
aquamarineÚseagreenr(   r   r    rZ   r   ©r   ÚBÚCr£   c                 óÊ   — t        |t        «      r|j                  |«      }t        t        j
                  |d|¬«      }t        |j                  «       d d ||d   d d ¬«       y ©Nr£   ©rƒ   r¥   ÚcolorrZ   ©rª   Úmapping)rP   ÚstrÚgetfixturevaluer   r
   r¦   r   Ú	get_lines)ri   Úrequestr(   rª   rL   s        r   Útest_andrews_curves_linecolorsz1TestDataFramePlots.test_andrews_curves_linecolorsÌ   s_   € ô. �bœ#ÔØ×(Ñ(¨Ó,ˆBÜÜ×#Ñ#¨2¸FÈ*ô
ˆô 	Ø�L‰L‹N˜3˜BÐ¨JÀÀ6Á
È3ÈBÀö	
r   c                 ód  — t        |t        «      r|j                  |«      }t        j                  dd|d   j                  «       «      D �cg c]  }t        j                  |«      ‘Œ }}t        t        j                  |d|¬«      }t        |j                  «       d d ||d   d d ¬«       y c c}w )Nr   r   r£   r³   rZ   rµ   )rP   r·   r¸   rb   ÚlinspaceÚnuniqueÚcmÚjetr   r
   r¦   r   r¹   )ri   rº   r(   ÚnÚcmapsrL   s         r   Útest_andrews_curves_cmapz+TestDataFramePlots.test_andrews_curves_cmapì   sœ   € ô  �bœ#ÔØ×(Ñ(¨Ó,ˆBÜ$&§K¡K°°1°b¸±j×6HÑ6HÓ6JÔ$KÓLÑ$K˜q”—‘˜•Ð$KˆÐLÜÜ×#Ñ#¨2¸FÈ%ô
ˆô 	�b—l‘l“n S bÐ)°eÀRÈÁZÐPSÐQSÀ_ÖUùò	 Ms   ÁB-c                 ó¨   — g d¢}t        g d¢g d¢g d¢|dœ«      }t        j                  |d|¬«      }|j                  «       \  }}t	        ||¬«       y ©N©ÚbÚgÚr©r   r    rC   r®   r£   ©r´   )rª   )r   r
   r¦   Úget_legend_handles_labelsr   ©ri   Úcolorsr(   rL   Úhandlesr™   s         r   Útest_andrews_curves_handlez-TestDataFramePlots.test_andrews_curves_handle  sK   € â ˆÜšYªYºYÐPVÑWÓXˆÜ×$Ñ$ R¨°vÔ>ˆØ×1Ñ1Ó3‰
ˆ�Ü�g¨&Ö1r   r´   c                 óŒ   — |}t        t        j                  |d|¬«      }t        |j	                  «       d d ||d   d d ¬«       y r²   )r   r
   Úparallel_coordinatesr   r¹   )ri   r   r´   r(   rL   s        r   Ú test_parallel_coordinates_colorsz3TestDataFramePlots.test_parallel_coordinates_colors  sJ   € ð ˆäÜ×)Ñ)°À&ÐPUô
ˆô 	�b—l‘l“n S bÐ)°eÀRÈÁZÐPSÐQSÀ_ÖUr   c                 óV  — |}t        t        j                  |dt        j                  ¬«      }t        j                  dd|d   j                  «       «      D �cg c]!  }t        j                  j	                  |«      ‘Œ# }}t        |j                  «       d d ||d   d d ¬«       y c c}w )Nr£   ©rƒ   r¥   Úcolormapr   r   rZ   rµ   )r   r
   rÒ   r¿   rÀ   rb   r½   r¾   r�   r   r¹   )ri   r   r(   rL   rÁ   rÂ   s         r   Útest_parallel_coordinates_cmapz1TestDataFramePlots.test_parallel_coordinates_cmap  s�   € àˆäÜ×)Ñ)ØØÜ—V‘Vô	
ˆô )+¯©°A°q¸"¸V¹*×:LÑ:LÓ:NÔ(OÓPÑ(O 1”—‘—‘˜A•Ð(OˆÐPÜ�b—l‘l“n S bÐ)°eÀRÈÁZÐPSÐQSÀ_ÖUùò Qs   Á&B&c                 ó4  — |}t        t        j                  |d¬«      }t        |j	                  «       «      }t        |j
                  j                  «       «      }t        t        j                  |dd¬«      }t        |j	                  «       «      ||z
  k(  sJ ‚y )Nr£   r¤   F)rƒ   r¥   Úaxvlines)r   r
   rÒ   r=   r¹   ÚxaxisÚget_ticklabels)ri   r   r(   rL   ÚnlinesÚnxtickss         r   Ú#test_parallel_coordinates_line_diffz6TestDataFramePlots.test_parallel_coordinates_line_diff&  s�   € àˆäÜ×)Ñ)°À&ô
ˆô �R—\‘\“^Ó$ˆÜ�b—h‘h×-Ñ-Ó/Ó0ˆäÜ×)Ñ)°À&ÐSXô
ˆô �2—<‘<“>Ó" v°Ñ'7Ò8Ð8Ñ8r   c                 ó¬   — |}g d¢}t        g d¢g d¢g d¢|dœ«      }t        j                  |d|¬«      }|j                  «       \  }}t	        ||¬«       y rÅ   )r   r
   rÒ   rÌ   r   )ri   r   r(   rÎ   rL   rÏ   r™   s          r   Ú!test_parallel_coordinates_handlesz4TestDataFramePlots.test_parallel_coordinates_handles5  sP   € àˆÚ ˆÜšYªYºYÐPVÑWÓXˆÜ×*Ñ*¨2¨v¸VÔDˆØ×1Ñ1Ó3‰
ˆ�Ü�g¨&Ö1r   z$ignore:Attempting to set:UserWarningc                 óX  — t        t        t        d«      «      t        d«      D �cg c]  }d‘Œ c}t        d«      D �cg c]  }d‘Œ c}z   t        d«      D �cg c]  }d‘Œ c}z   dœ«      }t        j                  |dd¬	«      }|j                  «       \  }}t        |D �cg c]  }|j                  «       ‘Œ c}|d¬
«      }t        |d„ ¬«      }t        t        |dd «      t        |dd  «      d¬
«      }	|	D ]  \  }
}|
d   |d   k  r|
d   |d   k  rŒJ ‚ y c c}w c c}w c c}w c c}w )Né   rZ   r    rC   r   )ÚfeatÚclassrä   T)Úsort_labels©Ústrictc                 ó   — | d   S )Nr   rM   )r2   s    r   Ú<lambda>zQTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<lambda>O  s	   € ÈaÐPQÊdr   )Úkeyr   éÿÿÿÿ)	r   ÚlistÚranger
   rÒ   rÌ   ÚzipÚ	get_colorÚsorted)ri   r™   r(   rL   Ú	polylinesra   ÚpolylineÚcolor_label_tuplesÚordered_color_label_tuplesÚprev_next_tupelsÚprevÚnxts               r   Ú,test_parallel_coordinates_with_sorted_labelsz?TestDataFramePlots.test_parallel_coordinates_with_sorted_labels?  s@  € ô äœU 2›Y›Ü%*¨2¤YÓ/¡Y š! YÑ/Ü# BœiÓ(™i˜’1˜iÑ(ñ)ä# BœiÓ(™i˜’1˜iÑ(ñ)ñó
ˆô ×*Ñ*¨2¨wÀDÔIˆØ×8Ñ8Ó:Ñˆ	�6Ü Ù2;Ó<±) hˆX×ÑÕ!°)Ñ<¸fÈTô
Ðô &,Ð,>ÁNÔ%SÐ"ÜÜÐ+¨A¨bÐ1Ó2ÜÐ+¨A¨BÐ/Ó0Øô
Ðó
 *‰IˆD�#à˜‘7˜S ™VÒ#¨¨Q©°#°a±&Ó(8Ð8Ð8ñ *ùò! 0ùÚ(ùÚ(ùò =s   ¦	D
¾	DÁ	D"Â D'c                 ó�   — t        j                  d «      5  t        t        j                  |d¬«       d d d «       y # 1 sw Y   y xY wr¢   )re   rf   r   r
   Úradvizr§   s     r   Útest_radviz_no_warningz)TestDataFramePlots.test_radviz_no_warningY  s,   € ä×'Ñ'¨Õ-ÜœhŸo™o°TÈÕO÷ .×-Ñ-úr©   c                 óÚ   — |}t        t        j                  |d|¬«      }|j                  d d D �cg c]  }|j	                  «       dk7  sŒ|‘Œ }}t        |d d ||d   d d ¬«       y c c}w )Nr£   r³   é   r+   rZ   ©Ú
facecolorsr¶   )r   r
   rú   ÚpatchesÚ	get_labelr   )ri   r   r´   r(   rL   Úpr   s          r   Útest_radviz_colorz$TestDataFramePlots.test_radviz_color^  so   € ð
 ˆÜÜ�O‰O 2°FÀ%ô
ˆð !Ÿj™j¨¨"™oÓE™o˜°·±³À"Ó1D’1˜oˆÐEÜ�g˜c˜r�l¨u¸bÀ¹jÈÈ"¸oÖNùò Fs   ±A(Á
A(c                 óž  — |}t        t        j                  |dt        j                  ¬«      }t        j                  dd|d   j                  «       «      D �cg c]!  }t        j                  j	                  |«      ‘Œ# }}|j                  d d D �cg c]  }|j                  «       dk7  sŒ|‘Œ }}t        |||d   d d ¬«       y c c}w c c}w )	Nr£   rÕ   r   r   rý   r+   rZ   rþ   )r   r
   rú   r¿   rÀ   rb   r½   r¾   r�   r   r  r   )ri   r   r(   rL   rÁ   rÂ   r  r   s           r   Útest_radviz_color_cmapz)TestDataFramePlots.test_radviz_color_cmapk  sª   € ØˆÜÜ�O‰O 2°FÄRÇVÁVô
ˆô )+¯©°A°q¸"¸V¹*×:LÑ:LÓ:NÔ(OÓPÑ(O 1”—‘—‘˜A•Ð(OˆÐPØ Ÿj™j¨¨"™oÓE™o˜°·±³À"Ó1D’1˜oˆÐEÜ�g¨%¸¸F¹ÀCÀR¸ÖIùò QùÚEs   Á&CÂC
Â*C
c                 óº   — g d¢g d¢g d¢g}t        g d¢g d¢g d¢g d¢dœ«      }t        j                  |d	|¬
«      }|j                  «       \  }}t	        ||¬«       y )N)ç        r  ç      ð?r  )r  ç      à?r  r  )r  r  r  r  rÊ   )r    r   rC   )rC   r    r   rÆ   r®   r£   rË   )rÿ   )r   r
   rú   rÌ   r   rÍ   s         r   Útest_radviz_colors_handlesz-TestDataFramePlots.test_radviz_colors_handlest  sV   € Ú&Ò(<Ò>RÐSˆÜÚ¢)²)Â_ÑUó
ˆô �_‰_˜R ¨vÔ6ˆØ×1Ñ1Ó3‰
ˆ�Ü�g¨&Ö1r   c                 óæ   — |j                  dd¬«      j                  «       }t        |j                  «      }|j	                  d|¬«      }|D �cg c]  }|j                  «       ‘Œ c}|k(  sJ ‚y c c}w )Nr£   r   ©ÚaxisT©rO   Útitle©ÚdropÚheadrì   Úcolumnsr&   Ú	get_title)ri   r   r(   r  r&   r  s         r   Útest_subplot_titlesz&TestDataFramePlots.test_subplot_titles}  se   € Ø�Y‰Y�v AˆYÓ&×+Ñ+Ó-ˆä�R—Z‘ZÓ ˆð �w‰w ¨EˆwÓ2ˆÙ'+Ó,¡t !�—‘• tÑ,°Ò5Ð5Ñ5ùÒ,s   ÁA.c                 ó  — |j                  dd¬«      j                  «       }t        |j                  «      }d}t	        j
                  t        |¬«      5  |j                  dg |¢d‘¬«       d d d «       y # 1 sw Y   y xY w)	Nr£   r   r  újThe length of `title` must equal the number of columns if using `title` of type `list` and `subplots=True`r!   Tzkittens > puppiesr  ©r  r  rì   r  r#   r$   Ú
ValueErrorr&   ©ri   r   r(   r  r?   s        r   Útest_subplot_titles_too_muchz/TestDataFramePlots.test_subplot_titles_too_much†  sm   € Ø�Y‰Y�v AˆYÓ&×+Ñ+Ó-ˆä�R—Z‘ZÓ ˆð?ð 	ô �]‰]œ:¨SÖ1Ø�G‰G˜TÐ)F¨5Ð)FÐ2EÐ)FˆGÔG÷ 2×1Ñ1ús   ÁA5Á5A>c                 ó   — |j                  dd¬«      j                  «       }t        |j                  «      }d}t	        j
                  t        |¬«      5  |j                  d|d d ¬«       d d d «       y # 1 sw Y   y xY w)	Nr£   r   r  r  r!   Tr    r  r  r  s        r   Útest_subplot_titles_too_littlez1TestDataFramePlots.test_subplot_titles_too_little’  sg   € Ø�Y‰Y�v AˆYÓ&×+Ñ+Ó-ˆä�R—Z‘ZÓ ˆð?ð 	ô
 �]‰]œ:¨SÖ1Ø�G‰G˜T¨¨r°¨ˆGÔ3÷ 2×1Ñ1ús   ÁA4Á4A=c                 óú   — |j                  dd¬«      j                  «       }t        |j                  «      }d}t	        j
                  t        |¬«      5  |j                  d|¬«       d d d «       y # 1 sw Y   y xY w)Nr£   r   r  zNUsing `title` of type `list` is not supported unless `subplots=True` is passedr!   Fr  r  r  s        r   Ú"test_subplot_titles_subplots_falsez5TestDataFramePlots.test_subplot_titles_subplots_falsež  sa   € Ø�Y‰Y�v AˆYÓ&×+Ñ+Ó-ˆä�R—Z‘ZÓ ˆð(ð 	ô �]‰]œ:¨SÖ1Ø�G‰G˜U¨%ˆGÔ0÷ 2×1Ñ1ús   ÁA1Á1A:c                 ó4  — |j                  dd¬«      j                  «       }t        |j                  «      }|j                  dd¬«      j	                  dd|d d ¬«      }|D ��cg c]  }|D ]  }|j                  «       ‘Œ Œ }}}|g |d d	 ¢d
‘k(  sJ ‚y c c}}w )Nr£   r   r  Ú
SepalWidthT©r    r    rë   )rO   Úlayoutr  rC   r+   r  )ri   r   r(   r  r&   ÚsublistrL   Ú
title_lists           r   Ú)test_subplot_titles_numeric_square_layoutz<TestDataFramePlots.test_subplot_titles_numeric_square_layoutª  s£   € Ø�Y‰Y�v AˆYÓ&×+Ñ+Ó-ˆä�R—Z‘ZÓ ˆà�w‰w�|¨!ˆwÓ,×1Ñ1Ø &°°c°r°
ð 2ó 
ˆñ 59ÔK±D¨Ã7¸R�b—l‘l•nÀ7�n°Dˆ
ÑKØÐ-˜u R a˜yÐ-¨"Ð-Ò-Ð-Ñ-ùó Ls   Á$Bc                 óZ  — t        t        j                  d«      «      }t        j                  |d«       t        j
                  j                  d «      j                  «       }t        j                  |d«       t        j
                  j                  d «      j                  «       }||k7  sJ ‚y )N)rZ   rZ   r   )r   rb   Úzerosr
   rÒ   r’   r“   )ri   r(   Úrand1Úrand2s       r   Ú$test_get_standard_colors_random_seedz7TestDataFramePlots.test_get_standard_colors_random_seedµ  s}   € ä”r—x‘x Ó)Ó*ˆô 	×%Ñ% b¨!Ô,Ü—	‘	×%Ñ% dÓ+×2Ñ2Ó4ˆÜ×%Ñ% b¨!Ô,Ü—	‘	×%Ñ% dÓ+×2Ñ2Ó4ˆØ˜Š~Ð‰~r   c                 óF   — t        dd¬«      }t        dd¬«      }||k(  sJ ‚y )Nr   r’   ©Ú
color_typer   )ri   Úcolor1Úcolor2s      r   Ú$test_get_standard_colors_consistencyz7TestDataFramePlots.test_get_standard_colors_consistencyÀ  s*   € ô % Q°8Ô<ˆÜ$ Q°8Ô<ˆØ˜ÒÐÑr   c                 ó²   — t        dd¬«      }t        dd¬«      }t        dd¬«      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )Nr   Údefaultr-  é	   rý   )r   r=   )ri   r/  r0  Úcolor3s       r   Ú+test_get_standard_colors_default_num_colorsz>TestDataFramePlots.test_get_standard_colors_default_num_colorsÇ  s\   € ä$ Q°9Ô=ˆÜ$ Q°9Ô=ˆÜ$ R°IÔ>ˆÜ�6‹{˜aÒÐÐÜ�6‹{˜aÒÐÐÜ�6‹{˜bÒ Ð Ñ r   c           	      ó:  ‡— t        g d¢g d¢g d¢g d¢g d¢g d¢dœ«      }|j                  j                  «       j                  j	                  «       }|j                  «       dd	 D �cg c]  }|j                  «       ‘Œ c}Št        ˆfd
„‰D «       «      sJ ‚y c c}w )N)z
2017-02-03z
2017-03-03z
2017-01-01)zAlice Andersz	Bob BakerzCharlie Chaplin)gáz®Ga–Àg\�Âõ(Ü$@g     LÝ@)iÒ  ix	  éû   )é  iõ  iî	  )é4   r9  é    )zaccount-startÚclientÚbalancezdb-idzproxy-idÚrankr   rC   c              3   ó.   •K  — | ]  }|‰d    k(  –— Œ y­w)r   NrM   )Ú.0r´   rÎ   s     €r   Ú	<genexpr>z<TestDataFramePlots.test_plot_single_color.<locals>.<genexpr>Þ  s   øè ø€ Ð:±6¨%�5˜F 1™IÕ%±6ùs   ƒ)r   r<  Úvalue_countsr&   r4   Úget_childrenÚget_facecolorÚall)ri   r(   rL   ÚrectrÎ   s       @r   Útest_plot_single_colorz)TestDataFramePlots.test_plot_single_colorÐ  sŽ   ø€ äâ!KÚJÚ6Ú*Ú-Ú%ñó	
ˆð �Y‰Y×#Ñ#Ó%×*Ñ*×.Ñ.Ó0ˆØ35·?±?Ó3DÀQÀqÑ3IÓJÑ3I¨4�$×$Ñ$Õ&Ð3IÑJˆÜÓ:±6Ó:Ô:Ð:Ñ:ùò Ks   Á'Bc                 óT  — t         j                  j                  t        d«      «      }t	        d|¬«      }t        |«      t        |«      k(  sJ ‚t        t        j                  j                  d«      j                  d«      t        d«      ¬«      }t         j                  j                  t        j                  ddd	«      «      }|j                  j                  j                  d
|¬«      }|j                   d   j#                  «       |j                   d   j#                  «       k(  sJ ‚y )NrB   r   rË   r    )é0   é   ÚABCD©r  r   é   )rM  é   )Úfigsizer´   é   )r�   r¿   Úgnuplotrí   r   r=   r   rb   r’   r“   r”   rì   r½   r   r&   r4   r   rD  )ri   Úcolor_beforeÚcolor_afterr(   Ú
color_listr  s         r   Ú%test_get_standard_colors_no_appendingz8TestDataFramePlots.test_get_standard_colors_no_appendingà  sÖ   € ô
 —v‘v—~‘~¤e¨A£hÓ/ˆÜ)¨!°<Ô@ˆÜ�;Ó¤3 |Ó#4Ò4Ð4Ð4äÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=ÄtÈFÃ|ô
ˆô —V‘V—^‘^¤B§K¡K°°1°bÓ$9Ó:ˆ
Ø�D‰D�I‰I�M‰M '°ˆMÓ<ˆØ�y‰y˜‰|×)Ñ)Ó+¨q¯y©y¸©}×/JÑ/JÓ/LÒLÐLÑLr   r5   r4   r1   c                 óÚ  ‡— ddg}ddgŠt        t        j                  j                  d«      j                  d«      |¬«      }dddœ}|j	                  ||¬	«      }|d
k(  r5|j                  «       ddd…   D �cg c]  }|j                  «       dd ‘Œ }}n.|j                  «       dd D �cg c]  }|j                  «       ‘Œ }}t        ˆfd„t        |«      D «       «      sJ ‚y c c}w c c}w )NÚarÇ   )r	  g¸…ëQ¸Î?g333333ã?)g333333Ó?çffffffæ?rX  r    r"  rL  )rÇ   rW  )r5   r´   r4   r   rC   rë   c              3   ó4   •K  — | ]  \  }}|‰|   k(  –— Œ y ­w©NrM   )r@  rD   r´   rœ   s      €r   rA  z;TestDataFramePlots.test_dictionary_color.<locals>.<genexpr>  s!   øè ø€ ÐRÑ@Q±°°u�5˜H U™OÕ+Ñ@Qùs   ƒ)r   rb   r’   r“   r&   rC  rD  r¹   rï   rE  Ú	enumerate)	ri   r5   Ú
data_filesÚdf1Ú	dic_colorrL   rF  rÎ   rœ   s	           @r   Útest_dictionary_colorz(TestDataFramePlots.test_dictionary_colorñ  sè   ø€ ð ˜3�Zˆ
à$ oÐ6ˆäœŸ	™	×-Ñ-¨aÓ0×7Ñ7¸Ó?ÈÔTˆØ)Ð0@ÑAˆ	à�X‰X˜4 yˆXÓ1ˆØ�5Š=Ø=?¿_¹_Ó=NÈqÐQRÐSTÈuÒ=UÓVÑ=U°T�d×(Ñ(Ó*¨1¨RÒ0Ð=UˆFÑVà35·<±<³>À!ÀAÑ3FÓGÑ3F¨4�d—n‘nÕ&Ð3FˆFÐGÜÓRÄ	È&Ô@QÓRÔRÐRÑRùò WùâGs   Á8C#Â*C(c                 óP  — t         j                  j                  ddd«      t         j                  j                  ddd«      g}t        dddgit	        ddg«      ¬«      }|j
                  j                  «       }t        d„ t        |j                  «       |d	¬
«      D «       «      sJ ‚y )Nr   r…   r   ÚTotalrW  r    ©rD   c              3   ód   K  — | ](  \  }}|j                  «       |j                  «       k(  –— Œ* y ­wrZ  ©Úget_text©r@  rW  rÇ   s      r   rA  z3TestDataFramePlots.test_bar_plot.<locals>.<genexpr>  s-   è ø€ ð 
áN‘��1ð �Z‰Z‹\˜QŸZ™Z›\Õ)ÙNùó   ‚.0Træ   )
r�   ÚtextÚTextr   r   r&   r4   rE  rî   Úget_xticklabels)ri   rœ   r(   Úplot_bars       r   Útest_bar_plotz TestDataFramePlots.test_bar_plot  s˜   € ô —H‘H—M‘M ! Q¨Ó,¬c¯h©h¯m©m¸A¸qÀ'Ó.JÐKˆäà�a˜�Vðô ˜˜G˜Ó%ô	
ˆð —7‘7—;‘;“=ˆÜñ 
ä˜H×4Ñ4Ó6¸ÈÕNó
ô 
ð 	
ñ 
r   c                 óD  — t        dddœdddœg«      }|j                  j                  dd ¬«      }t        j                  j                  ddd«      t        j                  j                  ddd«      g}t        d	„ t        |j                  «       |d
¬«      D «       «      sJ ‚y )Nr   r   )ÚwordÚvalueÚ	knowledger    rn  )r2   ÚlegendÚ1c              3   ód   K  — | ](  \  }}|j                  «       |j                  «       k(  –— Œ* y ­wrZ  rd  )r@  Úactualrœ   s      r   rA  zPTestDataFramePlots.test_barh_plot_labels_mixed_integer_string.<locals>.<genexpr>  s6   è ø€ ð 
ñ%Ñ �˜ð �O‰OÓ ×!2Ñ!2Ó!4Õ4ñ%ùrg  Træ   )	r   r&   Úbarhr�   rh  ri  rE  rî   Úget_yticklabels)ri   r(   Ú	plot_barhÚexpected_yticklabelss       r   Ú*test_barh_plot_labels_mixed_integer_stringz=TestDataFramePlots.test_barh_plot_labels_mixed_integer_string  s›   € ô  ¨QÑ/¸+ÐPQÑ1RÐSÓTˆØ—G‘G—L‘L 6°$�LÓ7ˆ	ä�H‰H�M‰M˜!˜Q Ó$Ü�H‰H�M‰M˜!˜Q Ó,ð 
Ðô ñ 
ä$'Ø×)Ñ)Ó+Ð-AÈ$õ%ó
ô 
ð 	
ñ 
r   c                 ó  — t         j                  j                  j                  }t        j
                  j                  «       }|j                  dd«      }|j                  d|d   d   ¬«      |d   d<   |j                  d|d   d   ¬«      |d   d<   |d   d   j                  «        |d   d   j                  «         ||d   d   d«      sJ ‚ ||d   d   d«      rJ ‚ ||d   d   d«      sJ ‚ ||d   d	   d«      rJ ‚y )
Nr    rJ  éç   r   r   ©Úsharexéé   r2   rC   )
r
   Ú_matplotlibÚtoolsÚ_has_externally_shared_axisr�   r‘   ÚfigurerO   Úadd_subplotÚtwinx©ri   r>   rU   Úplotss       r   Ú&test_has_externally_shared_axis_x_axisz9TestDataFramePlots.test_has_externally_shared_axis_x_axis$  ó  € ô ×#Ñ#×)Ñ)×EÑEˆä�j‰j×ÑÓ!ˆØ—‘˜Q Ó"ˆð —o‘o c°%¸±(¸1±+�oÓ>ˆˆa‰�‰Ø—o‘o c°%¸±(¸1±+�oÓ>ˆˆa‰�‰ð 	ˆa‰�‰×ÑÔØˆa‰�‰×ÑÔñ �E˜!‘H˜Q‘K Ô%Ð%Ð%Ù˜˜a™ ™ SÔ)Ð)Ð)Ù�E˜!‘H˜Q‘K Ô%Ð%Ð%Ù˜˜a™ ™ SÔ)Ð)Ð)Ð)r   c                 ó  — t         j                  j                  j                  }t        j
                  j                  «       }|j                  dd«      }|j                  d|d   d   ¬«      |d   d<   |j                  d|d   d   ¬«      |d   d<   |d   d   j                  «        |d   d   j                  «         ||d   d   d«      sJ ‚ ||d   d   d«      rJ ‚ ||d   d   d«      sJ ‚ ||d	   d   d«      rJ ‚y )
NrJ  r    éA  r   r   ©ÚshareyiE  r3   rC   )
r
   r  r€  r�  r�   r‘   r‚  rO   rƒ  Útwinyr…  s       r   Ú&test_has_externally_shared_axis_y_axisz9TestDataFramePlots.test_has_externally_shared_axis_y_axis=  rˆ  r   c                 ól  — t         j                  j                  j                  }t        j
                  j                  «       }|j                  dd«      }|j                  d|d   d   ¬«      |d   d<   d}t        j                  t        |¬«      5   ||d   d   d	«       d d d «       y # 1 sw Y   y xY w)
NrJ  r    rŠ  r   r   r‹  z&needs 'x' or 'y' as a second parameterr!   Úz)r
   r  r€  r�  r�   r‘   r‚  rO   rƒ  r#   r$   r  )ri   r>   rU   r†  r?   s        r   Ú4test_has_externally_shared_axis_invalid_compare_axiszGTestDataFramePlots.test_has_externally_shared_axis_invalid_compare_axisV  s”   € ô ×#Ñ#×)Ñ)×EÑEˆä�j‰j×ÑÓ!ˆØ—‘˜Q Ó"ˆð —o‘o c°%¸±(¸1±+�oÓ>ˆˆa‰�‰ð 7ˆÜ�]‰]œ:¨SÖ1Ù��q‘˜!‘˜cÔ"÷ 2×1Ñ1ús   ÂB*Â*B3c                 ó   — t        t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      dœ«      }t
        j                  j                  «       }|j                  dd«      }|j                  d|d   d   ¬«      |d   d<   |j                  d	|d   d   ¬«      |d   d<   |d   d   j                  «       }|d   d   j                  «       }|d
   j                  |d   d   d¬«      j                  d«       |d
   j                  |d   d   ¬«       |d
   j                  |d   d   d¬«      j                  d«       |d
   j                  |d   d   ¬«       |d
   j                  |d   d   d¬«      j                  d«       |d
   j                  |d   d   ¬«       |d   j                  |d¬«       |d   j                  |d¬«       |d   d   j                  j                  «       j                  «       rJ ‚|d   d   j                  j                  «       j                  «       sJ ‚|d   d   j                  j                  «       j                  «       rJ ‚y )Nr    rZ   )rW  rÇ   rC   r{  r   r   r|  r~  rW  zExternal share only)rL   r  z"this label should never be visible)rL   zInternal share (twin) onlyz#this label should always be visibleÚBothrÇ   Úgreen)rL   r´   Úyellow)r   rb   r’   r“   r”   r�   r‘   r‚  rO   rƒ  r„  r&   Ú
set_xlabelrÚ   r  Úget_visible)ri   r(   rU   r†  Útwin_ax1Útwin_ax2s         r   Útest_externally_shared_axesz.TestDataFramePlots.test_externally_shared_axesg  sc  € ô ä—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAñó
ˆô �j‰j×ÑÓ!ˆØ—‘˜Q Ó"ˆð —o‘o c°%¸±(¸1±+�oÓ>ˆˆa‰�‰à—o‘o c°%¸±(¸1±+�oÓ>ˆˆa‰�‰ð ˜‘8˜A‘;×$Ñ$Ó&ˆØ˜‘8˜A‘;×$Ñ$Ó&ˆð 	ˆ3‰�‰˜˜a™ ™Ð+@ˆÓA×LÑLØ0ô	
ð 	ˆ3‰�‰˜˜a™ ™ˆÔ$à
ˆ3‰�‰˜˜a™ ™Ð+GˆÓH×SÑSØ1ô	
ð 	ˆ3‰�‰˜˜a™ ™ˆÔ$à
ˆ3‰�‰˜˜a™ ™¨6ˆÓ2×=Ñ=Ø0ô	
ð 	ˆ3‰�‰˜˜a™ ™ˆÔ$ð 	ˆ3‰�‰˜¨ˆÔ0Ø
ˆ3‰�‰˜¨ˆÔ1à˜‘8˜A‘;×$Ñ$×.Ñ.Ó0×<Ñ<Ô>Ð>Ð>Ø�Q‰x˜‰{× Ñ ×*Ñ*Ó,×8Ñ8Ô:Ð:Ð:Ø˜‘8˜A‘;×$Ñ$×.Ñ.Ó0×<Ñ<Ô>Ð>Ð>Ð>r   c                 ó¶   — t        dgt        d«      g¬«      }t        |j                  «       t	        ddi«      }t        |j                  j
                  «       y )Nr  z2022-02-22 22:22:22rb  r   )r   r   r   r&   r   r4   )ri   r(   Úss      r   Ú-test_plot_bar_axis_units_timestamp_conversionz@TestDataFramePlots.test_plot_bar_axis_units_timestamp_conversion—  sK   € ô ØˆEÜÐ2Ó3Ð4ô
ˆô 	˜"Ÿ'™'Ô"Ü�C˜�:ÓˆÜ˜!Ÿ&™&Ÿ*™*Õ%r   c                 óŠ  — t         j                  j                  ddd«      t         j                  j                  ddd«      g}t        ddgt	        ddd¬«      g¬«      }t        |j                  j                  «       t        d	„ t        |j                  j                  «       j                  «       |d
¬«      D «       «      sJ ‚y )Nr   z	([0, 1],)r   z	([1, 2],)r    Úboth)Úclosedrb  c              3   ód   K  — | ](  \  }}|j                  «       |j                  «       k(  –— Œ* y ­wrZ  rd  rf  s      r   rA  zFTestDataFramePlots.test_bar_plt_xaxis_intervalrange.<locals>.<genexpr>¬  s-   è ø€ ð 
áR‘��1ð �Z‰Z‹\˜QŸZ™Z›\Õ)ÙRùrg  Træ   )r�   rh  ri  r   r   r   r&   r4   rE  rî   rj  )ri   rœ   rœ  s      r   Ú test_bar_plt_xaxis_intervalrangez3TestDataFramePlots.test_bar_plt_xaxis_intervalrange£  s�   € ô —H‘H—M‘M ! Q¨Ó4´c·h±h·m±mÀAÀqÈ+Ó6VÐWˆÜØ�ˆFÜ! ! Q¨vÔ6Ð7ô
ˆô 	˜!Ÿ&™&Ÿ*™*Ô%Üñ 
ä˜AŸF™FŸJ™J›L×8Ñ8Ó:¸HÈTÕRó
ô 
ð 	
ñ 
r   N)/rt   ru   rv   r#   rw   rx   r�   r    Úslowr¨   r   rb   r’   r“   r”   r»   rÃ   rÐ   rÓ   r×   rÞ   rà   Úfilterwarningsrø   rû   r  r  r
  r  r  r  r  r&  r+  r1  r6  rG  rU  r_  rl  ry  r‡  rŽ  r‘  rš  r�  r¢  rM   r   r   rz   rz   “   s¥  „ Ø‡[�[×Ñ˜[¨5°$¨-Ó8ñNó 9ðNð0 ‡[�[×Ñ˜[¨5°$¨-Ó8ñNó 9ðNð0 ‡[�[×ÑñXó ðXð
 ‡[�[×ÑØ‡[�[×ÑØà-Ú4ð	
óð ‡[�[×ÑØàÙàŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØ ˜E B™Jñ	óð
	
óñ
óóó ð,
ð ‡[�[×ÑØ‡[�[×ÑØàÙàŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØ ˜E B™Jñ	óð
	
óñVóó ðVð ‡[�[×Ññ2ó ð2ð ‡[�[×ÑØ‡[�[×ÑØØ	*Ò,TÐUóñVó	ó ð
Vð ‡[�[×Ññ
Vó ð
Vð ‡[�[×Ññ9ó ð9ð ‡[�[×Ññ2ó ð2ð ‡[�[×ÑÐ FÓGñ9ó Hð9ò2Pð
 ‡[�[×ÑØØ	*Ò,TÐUóñOó	ðOòJò2ò6ò
Hò
4ò
1ò	.ò	ò ò!ò;ò Mð" ‡[�[×Ñ˜V e¨V _Ó5ñSó 6ðSò"
ò"
ò *ò2*ò2#ò".?ò`
&ó
r   rz   c                  ób   — t         j                  j                  d«      j                  ddd«      S )NrC   r   éd   rB   )rb   r’   r“   ÚintegersrM   r   r   Údf_bar_datar¨  ²  s&   € ä�9‰9× Ñ  Ó#×,Ñ,¨Q°°QÓ7Ð7r   c                 ó>   — t        | | d d d…   | d   | d   dœ«      }|S )Nrë   r   ©r   r¯   r°   ÚD)r   )r¨  Ú	df_bar_dfs     r   r¬  r¬  ·  s6   € äàØ™T˜r˜TÑ"Ø˜Q‘Ø˜R‘ñ		
ó€Ið Ðr   c           
      ó†  — g }t        t        |«      «      D ]¢  }t        j                  ||   j	                  t
        j                  «      D �cg c]C  }|j                  «       | v r/|j                  «       |j                  «       |j                  «       f‘ŒE c}«      }|j                  t        |g d¢¬«      «       Œ¤ |S c c}w )N)Úx_coordÚy_coordÚheight)r   r  )rí   r=   rb   ÚarrayÚfindobjrN   Ú	RectangleÚ
get_heightÚget_xÚget_yÚappendr   )r¨  rL   Úsubplot_divisionÚsubplot_data_df_listÚir2   Úsubplot_datas          r   Ú_df_bar_xyheight_from_ax_helperr¼  Ä  sª   € ØÐô ”3Ð'Ó(Ö)ˆÜ—x‘xð ˜A™Ÿ™¤s§}¡}Ô5óá5�AØ—<‘<“> [Ñ0ð —‘“˜AŸG™G›I q§|¡|£~Ò6Ø5ñó
ˆð 	×#Ñ#Ü˜<Ò1QÔRõ	
ð *ð  Ðùòs   ÁAB>
c                 ó   — t        t        |«      «      D �cg c]:  }|j                  t        | «      |z  t        | «      |dz   z   j                  «       ‘Œ< }}t        |«      dk(  r|j                  d d …|d   f   }n#|j                  d d …|f   j                  d¬«      }t        t        |«      «      D ]“  }||   }|dk(  r0|d   dk(  j                  «       sJ ‚|d   j                  |d   «      }n|d   z   }|dz   t        |«      k(  rt        j                  ||dd¬«       Œp||dz      d   }	t        j                  ||	dd¬«       Œ• y c c}w )Nr   r   r  r¯  r°  F)Úcheck_namesÚcheck_dtype)
rí   r=   ÚilocÚreset_indexÚlocÚsumrE  Úaddre   Úassert_series_equal)
r¨  r¬  Úsubplot_data_dfÚsubplot_columnsrº  Úsubplot_sliced_by_sourceÚexpected_total_heightÚ	sliced_dfÚheight_iterÚnext_start_coords
             r   Ú_df_bar_subplot_checkerrÍ  ×  sw  € ô
 ”s˜?Ó+Ô,ó	 ñ -ˆAð 	×ÑÜ�Ó˜qÑ ¤3 {Ó#3°q¸1±uÑ#=ð	
ç
‰+‹-ñ	ð -ð	 ð  ô ˆ?Ó˜qÒ Ø )§¡ªa°ÀÑ1CÐ.CÑ DÑà )§¡ªa°Ð.@Ñ A× EÑ EÈ1Ð EÓ MÐä”3�Ó'Ö(ˆØ,¨QÑ/ˆ	Ø�Š6à˜iÑ(¨AÑ-×2Ñ2Ô4Ð4Ð4Ø# IÑ.×2Ñ2°9¸XÑ3FÓG‰Kà%¨	°(Ñ(;Ñ;ˆKàˆq‰5”C˜Ó(Ò(ä×"Ñ"ØÐ2ÀÐSXöð
  8¸¸A¹Ñ>¸yÑIÐÜ×"Ñ"ØÐ-¸5Èeöñ# )ùò s   —?EÚcolumns_usedr   r¯   r°   r«  c                 ó°   — ||   }|g}|j                  |dd¬«      }t        | ||«      }t        t        |«      «      D ]  }t	        | |||   ||   «       Œ y ©Nr4   T©rO   r5   Ústacked©r&   r¼  rí   r=   rÍ  ©r¨  r¬  rÎ  Údf_bar_df_trimmedr¸  rL   r¹  rº  s           r   Ú#test_bar_1_subplot_1_double_stackedrÖ  û  sv   € à! ,Ñ/ÐØ$�~ÐØ	×	Ñ	Ð)9ÀÈtÐ	Ó	T€BÜ:Ø�RÐ)óÐô ”3Ð+Ó,Ö-ˆÜØÐ*Ð,@ÀÑ,CÐEUÐVWÑEXõ	
ñ .r   )r   r¯   r°   )r   r°   r¯   )r«  r   r°   c                 óÊ   — ||   }|d   |d   f|d   fg}|j                  |dd¬«      }t        | ||«      }t        t        |«      «      D ]  }t	        | |||   ||   «       Œ y )Nr   r   r    r4   TrÑ  rÓ  rÔ  s           r   Ú#test_bar_2_subplot_1_double_stackedrØ  	  s�   € ð " ,Ñ/ÐØ% a™¨,°q©/Ð:¸\È!¹_Ð<NÐOÐØ	×	Ñ	Ð)9ÀÈtÐ	Ó	T€BÜ:Ø�RÐ)óÐô ”3Ð+Ó,Ö-ˆÜØÐ*Ð,@ÀÑ,CÐEUÐVWÑEXõ	
ñ .r   r¸  ©r   r¯   )r°   r«  )r   r«  )r°   r¯   )r¯   r°   )r«  r   )r¯   r«  )r°   r   c                 ó    — |j                  |dd¬«      }t        | ||«      }t        t        |«      «      D ]  }t	        | |||   ||   «       Œ y rÐ  rÓ  ©r¨  r¬  r¸  rL   r¹  rº  s         r   Ú#test_bar_2_subplot_2_double_stackedrÜ    s`   € ð 
�‰Ð!1¸ÀtˆÓ	L€BÜ:Ø�RÐ)óÐô ”3Ð+Ó,Ö-ˆÜØ˜Ð$8¸Ñ$;Ð=MÈaÑ=Põ	
ñ .r   )r   r«  r¯   )r°   r   r«  )r«  r°   r   c                 ó    — |j                  |dd¬«      }t        | ||«      }t        t        |«      «      D ]  }t	        | |||   ||   «       Œ y rÐ  rÓ  rÛ  s         r   Ú$test_bar_2_subplots_1_triple_stackedrÞ  -  s`   € ð
 
�‰Ð!1¸ÀtˆÓ	L€BÜ:Ø�RÐ)óÐô ”3Ð+Ó,Ö-ˆÜØ˜Ð$8¸Ñ$;Ð=MÈaÑ=Põ	
ñ .r   c                 ó¨   — g d¢}|j                  ddd¬«      }t        | ||«      }t        t        |«      «      D ]  }t	        | |||   ||   «       Œ y )Nrª  Tr4   rÑ  rÓ  rÛ  s         r   Útest_bar_subplots_stacking_boolrà  <  sc   € Ú3ÐØ	�‰ ¨E¸4ˆÓ	@€BÜ:Ø�RÐ)óÐô ”3Ð+Ó,Ö-ˆÜØ˜Ð$8¸Ñ$;Ð=MÈaÑ=Põ	
ñ .r   c                  ó`   — t        g d¢t        d«      ¬«      } | j                  ddg d¢¬«       y )N©)râ   rZ   rZ   rZ   )rý   rý   rý   rý   )rZ   râ   râ   rZ   rK  rL  Tr4   rª  ©rO   r5   r  ©r   rì   r&   r'   s    r   Ú!test_plot_bar_label_count_defaultrå  H  s*   € Ü	Ú>ÌÈVËô
€Bð ‡G�G�T Ò-A€GÕBr   c                  óì   — t        g d¢t        d«      ¬«      } t        j                  d«      }t	        j
                  t        |¬«      5  | j                  dgdg d¢¬	«       d d d «       y # 1 sw Y   y xY w)
Nrâ  rK  rL  z?The number of titles (4) must equal the number of subplots (3).r!   rÙ  r4   )zA&Br°   r«  zExtra Titlerã  )r   rì   ÚreÚescaper#   r$   r  r&   )r(   Úerror_regexs     r   Ú'test_plot_bar_label_count_expected_failrê  O  s`   € Ü	Ú>ÌÈVËô
€Bô —)‘)ØIó€Kô 
�‰”z¨Ö	5Ø
�‰Ø �\ØÚ2ð 	ô 	
÷ 
6×	5Ñ	5ús   Á	A*Á*A3c                  ób   — t        g d¢t        d«      ¬«      } | j                  dgdddg¬«       y )	Nrâ  rK  rL  )r   r¯   r«  r4   zA&B&Dr°   rã  rä  r'   s    r   Ú*test_plot_bar_label_count_expected_successrì  ^  s0   € Ü	Ú>ÌÈVËô
€Bð ‡G�G�oÐ&¨U¸7ÀC¸.€GÕIr   )>Ú__doc__rS   Únumpyrb   r#   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr   r   r   r   r   r   r	   r
   r   Úpandas._testingÚ_testingre   Úpandas.tests.plotting.commonr   r   r   r   r   rŽ   r�   rN   r¿   rç  Ú!pandas.plotting._matplotlib.styler   Úfixturer   Úskip_if_installedr)   r@   rw   rx   r9   Ú
_all_kindsrc   Úreshaperí   rV   rX   rz   r¨  r¬  r¼  rÍ  rÖ  rØ  rÜ  rÞ  rà  rå  rê  rì  rM   r   r   Ú<module>rü     sÕ  ðÙ (ã 	ã Û ç )Ð )÷
÷ 
õ 
õ ÷õ ð €f×Ñ˜,Ó'€Ø€f×ÑÐ-Ó.€Ø€V×Ñ˜Ó)€ã 	å Að ‡�ð?�iò ?ó ð?ð €×Ñ�lÓ#ñó $ðòðD ‡�×Ñ˜ ×!6Ñ!6×!AÑ!AÓBØ‡�×ÑØ
‰Y�y�r—y‘y “}×,Ñ,¨Q°Ó2Ó3±V¹EÀ!»HÓ5EÐFóð ‡�×ÑØá‰e�A‹h‹Ù�<¨Ô+Ù�\¨1Ô-ðóñ	óóó Cð	÷Hñ H÷B\
ñ \
ð~ ‡�ñ8ó ð8ð ‡�ð	˜iò 	ó ð	ò ò& ðH ‡�×Ñ˜¨3°¨*°s¸C°jÀ3ÈÀ*Ð)MÓNñ

ó Oð

ð ‡�×ÑØ’_¢o²ÐGóñ

óð

ð ‡�×ÑØà	�ZÐ Ø	�ZÐ Ø	�ZÐ Ø	�ZÐ ð	óñ
óð
ð ‡�×ÑØØÐ˜Ð)¨OÐ+<¸Ð>OÐPóñ
ó	ð
ò	
òCò
óJr   