Ë
    ¤eh:q  ã                   óè   — d Z ddlZddlZddlZddlmZ ddlmZ ddl	Z
ddl	mZmZmZ ddlmZ ddlmZmZmZmZmZmZ ddlmZ  ej4                  d«      Z ej4                  d	«      Z G d
„ d«      Zy)z Test cases for DataFrame.plot é    N)Úis_platform_linux)Únp_version_gte1p24)Ú	DataFrameÚSeriesÚ
date_range)Ú_check_axes_shapeÚ_check_box_return_typeÚ_check_legend_labelsÚ_check_ticks_propsÚ_check_visibleÚ_flatten_visible)Úpprint_thingÚ
matplotlibzmatplotlib.pyplotc                   ó*	  — e Zd Zej                  j
                  ej                  j                  dg d¢«      d„ «       «       Zej                  j
                  ej                  j                  dg d¢«      d„ «       «       Zej                  j
                  ej                  j                  dg d¢«      d„ «       «       Z	ej                  j                  dddg«      d„ «       Z
ej                  j                  dddg«      d	„ «       Zej                  j                  d
g d¢«      d„ «       Zd„ Zej                  j                  d¬«      d„ «       Zej                  j                  dddgddgddgddgddgddgg«      d„ «       Zd„ Zej                  j                  di dddfdd idd d fg«      d!„ «       Zej                  j
                  ej                  j                  d" ed#«       ed$d#¬%«      g«      d&„ «       «       Zd'„ Zd(„ Zej                  j                  dd)dgddgddgg«      d*„ «       Zd+„ Zd,„ Zd-„ Zd.„ Zd/„ Zd0„ Zej                  j                  exr  e «       d1d2¬3«      d4„ «       Z!ej                  j                  exr  e «       d1d2¬3«      d5„ «       Z"d6„ Z#ej                  j                  d7g d8¢«      d9„ «       Z$d:„ Z%d;„ Z&d<„ Z'd=„ Z(d>„ Z)ej                  j                  d?d@dAdBdCdDdEddFgfg«      ej                  j                  dg dG¢«      dH„ «       «       Z*ej                  j                  dIdJdKdLœdJdKdMdNœdOdKdLœdOdKdMdNœdJd2dLœdJd2dMdNœdOd2dLœdOd2dMdNœdJdKdPœdJdKdMdQœdOdKdPœdOdKdMdQœdJdKdRdSœdJdKdMdRdTœdOdKdRdSœdOdKdMdRdTœdJd2dRdSœdJd2dMdRdTœdOd2dRdSœdOd2dMdRdTœdJdKdRdUœdJdKdMdRdVœdOdKdRdUœdOdKdMdRdVœg«      dW„ «       Z+ej                  j                  dIdJd2dLœdJdKdLœdOd2dLœdOdKdLœdJdKdPœdOdKdPœg«      dX„ «       Z,ej                  j                  dIdJd2dLœdJdKdLœdOd2dLœdOdKdLœdJdKdPœdOdKdPœg«      dY„ «       Z-ej                  j                  dZdd[g«      d\„ «       Z.ej                  j                  d]dJd^dKigdOd^d2igdOd^dKigdJd_dKigdOd_dKigg«      d`„ «       Z/	 	 	 	 	 	 dbda„Z0yD)cÚTestDataFramePlotsSubplotsÚkind)ÚbarÚbarhÚlineÚareac                 óØ  — t        t        j                  j                  d«      j                  d«      t	        t
        j                  d d «      ¬«      }|j                  |ddd¬«      }t        |dd¬	«       |j                  d
k(  sJ ‚t        ||j                  «      D ]  \  }}t        |t        |«      g¬«       Œ |d d D ]’  }t        |j                  «       t        |j!                  «       d¬«       |dk7  rt        |j!                  d¬«      d¬«       t        |j                  j#                  «       d¬«       t        |j%                  «       «       Œ” t        |d   j                  «       t        |d   j!                  «       «       t        |d   j!                  d¬«      «       t        |d   j                  j#                  «       «       t        |d   j%                  «       «       y )Né   ©é
   é   r   ©ÚindexT)r   ÚsubplotsÚsharexÚlegendr   ©r   é   ©Úaxes_numÚlayout©r   ©ÚlabelséþÿÿÿF©Úvisibler   ©Úminoréÿÿÿÿ)r   ÚnpÚrandomÚdefault_rngÚlistÚstringÚascii_lettersÚplotr   ÚshapeÚzipÚcolumnsr
   r   r   ÚxaxisÚget_xticklabelsÚ	get_labelÚget_yticklabels)Úselfr   ÚdfÚaxesÚaxÚcolumns         úm/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/plotting/frame/test_frame_subplots.pyÚtest_subplotsz(TestDataFramePlotsSubplots.test_subplots"   s”  € ô Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð
 �w‰w˜D¨4¸ÀTˆwÓJˆÜ˜$¨°6Õ:Ø�z‰z˜TÒ!Ð!Ð!ä˜d B§J¡JÓ/ò 	D‰JˆB�Ü  ¬\¸&Ó-AÐ,BÖCð	Dð �s˜�)ò 	1ˆBÜ˜2Ÿ8™8Ô$Ü˜2×-Ñ-Ó/¸Õ?Ø�uŠ}ä˜r×1Ñ1¸Ð1Ó=ÀuÕMÜ˜2Ÿ8™8×-Ñ-Ó/¸Õ?Ü˜2×-Ñ-Ó/Õ0ð	1ô 	�t˜B‘x—~‘~Ô&Ü�t˜B‘x×/Ñ/Ó1Ô2Ü�t˜B‘x×/Ñ/°dÐ/Ó;Ô<Ü�t˜B‘x—~‘~×/Ñ/Ó1Ô2Ü�t˜B‘x×/Ñ/Ó1Õ2ó    c                 óê  — t        t        j                  j                  d«      j                  d«      t	        t
        j                  d d «      ¬«      }|j                  |dd¬«      }|D ]‡  }t        |j                  «       t        |j                  «       «       t        |j                  d¬«      «       t        |j                  j                  «       «       t        |j                  «       «       Œ‰ y )	Nr   r   r   r   TF©r   r   r   r,   )r   r/   r0   r1   r2   r3   r4   r5   r   r9   r:   r;   r<   ©r=   r   r>   r?   r@   s        rB   Útest_subplots_no_share_xz3TestDataFramePlotsSubplots.test_subplots_no_share_x@   s¾   € ô Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð �w‰w˜D¨4¸ˆwÓ>ˆØò 	1ˆBÜ˜2Ÿ8™8Ô$Ü˜2×-Ñ-Ó/Ô0Ü˜2×-Ñ-°DÐ-Ó9Ô:Ü˜2Ÿ8™8×-Ñ-Ó/Ô0Ü˜2×-Ñ-Ó/Õ0ñ	1rD   c                 ó  — t        t        j                  j                  d«      j                  d«      t	        t
        j                  d d «      ¬«      }|j                  |dd¬«      }|D ]  }|j                  «       €ŒJ ‚ y )Nr   r   r   r   TF)r   r   r    )	r   r/   r0   r1   r2   r3   r4   r5   Ú
get_legendrG   s        rB   Útest_subplots_no_legendz2TestDataFramePlotsSubplots.test_subplots_no_legendO   sw   € ô Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð �w‰w˜D¨4¸ˆwÓ>ˆØò 	+ˆBØ—=‘=“?Ñ*Ð*Ð*ñ	+rD   r   r   c                 óB  — t        ddd¬«      }t        t        j                  j	                  d«      j                  d«      |¬«      }|j                  |dd¬	«      }t        |d
d¬«       |d d D ]�  }t        |j                  «       t        |j                  «       d¬«       t        |j                  d¬«      d¬«       t        |j                  j                  «       d¬«       t        |j                  «       «       Œ� t        |d   j                  «       t        |d   j                  «       «       t        |d   j                  d¬«      «       t        |d   j                  j                  «       «       t        |d   j                  «       «       t        |d¬«       y )Nú
2014-07-01ÚMEr   ©ÚstartÚfreqÚperiodsr   r   r   TrF   r   r!   r#   r)   Fr*   r,   r.   r   )Úxrot)r   r   r/   r0   r1   r5   r   r   r9   r:   r;   r<   r   ©r=   r   Úidxr>   r?   r@   s         rB   Útest_subplots_timeseriesz3TestDataFramePlotsSubplots.test_subplots_timeseriesZ   sC  € ä˜|°$ÀÔCˆÜ”r—y‘y×,Ñ,¨QÓ/×6Ñ6°wÓ?ÀsÔKˆà�w‰w˜D¨4¸ˆwÓ=ˆÜ˜$¨°6Õ:à�s˜�)ò 	1ˆBä˜2Ÿ8™8Ô$Ü˜2×-Ñ-Ó/¸Õ?Ü˜2×-Ñ-°DÐ-Ó9À5ÕIÜ˜2Ÿ8™8×-Ñ-Ó/¸Õ?Ü˜2×-Ñ-Ó/Õ0ð	1ô 	�t˜B‘x—~‘~Ô&Ü�t˜B‘x×/Ñ/Ó1Ô2Ü�t˜B‘x×/Ñ/°dÐ/Ó;Ô<Ü�t˜B‘x—~‘~×/Ñ/Ó1Ô2Ü�t˜B‘x×/Ñ/Ó1Ô2Ü˜4 aÖ(rD   c                 óô  — t        ddd¬«      }t        t        j                  j	                  d«      j                  d«      |¬«      }|j                  |dd	d
d¬«      }|D ]–  }t        |j                  «       t        |j                  «       «       t        |j                  d¬«      «       t        |j                  j                  «       «       t        |j                  «       «       t        |dd
d¬«       Œ˜ y )NrM   rN   r   rO   r   r   r   TFé-   é   )r   r   r   ÚrotÚfontsizer,   )Ú
xlabelsizerS   Ú
ylabelsize)r   r   r/   r0   r1   r5   r   r9   r:   r;   r<   r   rT   s         rB   Útest_subplots_timeseries_rotz7TestDataFramePlotsSubplots.test_subplots_timeseries_rotq   sÇ   € ä˜|°$ÀÔCˆÜ”r—y‘y×,Ñ,¨QÓ/×6Ñ6°wÓ?ÀsÔKˆØ�w‰w˜D¨4¸À2ÐPQˆwÓRˆØò 	HˆBÜ˜2Ÿ8™8Ô$Ü˜2×-Ñ-Ó/Ô0Ü˜2×-Ñ-°DÐ-Ó9Ô:Ü˜2Ÿ8™8×-Ñ-Ó/Ô0Ü˜2×-Ñ-Ó/Ô0Ü˜r¨a°bÀQÖGñ	HrD   Úcol)ÚnumericÚ	timedeltaÚdatetime_no_tzÚdatetime_all_tzc           	      óŒ  — t        j                  g d¢«      t        j                  dd¬«      t        j                  dd¬«      t        j                  dd¬«      gt        j                  d«      t        j                  d	«      t        j                  d
«      gt        j                  dd¬«      t        j                  d	d¬«      t        j                  d
d¬«      gg d¢dœ}t        |«      }|j                  |¬«      }|j                  «       d   j                  «       d   }||   j                  }||k(  j                  «       sJ ‚y )N©r"   r   é   iöÿÿÿÚs)Úunitr   ÚmÚhú2017-08-01 00:00:00ú2017-08-01 02:00:00ú2017-08-02 00:00:00T©Úutc©ÚThisÚshouldÚfail)r`   ra   rb   rc   Útext©Úyr   r"   )r/   ÚarrayÚpdÚ	TimedeltaÚto_datetimer   r5   Ú	get_linesÚget_dataÚvaluesÚall)r=   r_   ÚdataÚtestdatar@   ÚresultÚexpecteds          rB   Útest_subplots_timeseries_y_axisz:TestDataFramePlotsSubplots.test_subplots_timeseries_y_axis~   s  € ô —x‘x¢	Ó*ä—‘˜S sÔ+Ü—‘˜R cÔ*Ü—‘˜R cÔ*ðô —‘Ð4Ó5Ü—‘Ð4Ó5Ü—‘Ð4Ó5ðô —‘Ð4¸$Ô?Ü—‘Ð4¸$Ô?Ü—‘Ð4¸$Ô?ð ò
 /ñ#
ˆô& ˜T“?ˆà�]‰]˜Sˆ]Ó!ˆØ—‘“ Ñ"×+Ñ+Ó-¨aÑ0ˆØ˜C‘=×'Ñ'ˆØ˜(Ñ"×'Ñ'Ô)Ð)Ñ)rD   c                 óÚ   — t        j                  g d¢«      g d¢dœ}t        |«      }d}t        j                  t
        |¬«      5  |j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nre   rp   )r`   rt   zno numeric data to plot©Úmatchrt   ru   )r/   rw   r   ÚpytestÚraisesÚ	TypeErrorr5   )r=   r   r€   Úmsgs       rB   Ú%test_subplots_timeseries_y_text_errorz@TestDataFramePlotsSubplots.test_subplots_timeseries_y_text_error�   s[   € ô —x‘x¢	Ó*Ú.ñ
ˆô ˜T“?ˆØ'ˆÜ�]‰]œ9¨CÔ0ñ 	$Ø�M‰M˜FˆMÔ#÷	$÷ 	$ñ 	$ús   ÁA!Á!A*z6not support for period, categorical, datetime_mixed_tz)Úreasonc                 ó�  — t        j                  g d¢«      t        j                  dd¬«      t        j                  dd¬«      t        j                  dd¬«      gt        j                  g d¢g d¢d	¬
«      t        j
                  dd¬«      t        j
                  d«      t        j
                  d«      gdœ}t        |«      }|j                  dd¬«      }|j                  «       d   j                  «       d   |d   j                  k(  j                  «       sJ ‚|j                  dd¬«      }|j                  «       d   j                  «       d   |d   j                  k(  j                  «       sJ ‚|j                  dd¬«      }|j                  «       d   j                  «       d   |d   j                  k(  j                  «       sJ ‚y)aÉ  
        This test will fail for:
            period:
                since period isn't yet implemented in ``select_dtypes``
                and because it will need a custom value converter +
                tick formatter (as was done for x-axis plots)

            categorical:
                 because it will need a custom value converter +
                 tick formatter (also doesn't work for x-axis, as of now)

            datetime_mixed_tz:
                because of the way how pandas handles ``Series`` of
                ``datetime`` objects with different timezone,
                generally converting ``datetime`` objects in a tz-aware
                form could help with this problem
        re   rk   ÚH)rQ   z2017-08-01 02:00rm   )ÚcÚbÚa)r‘   r�   r�   F)Ú
categoriesÚorderedTrn   rl   )r`   ÚperiodÚcategoricalÚdatetime_mixed_tzr`   r”   )Úxrv   r   r"   r•   r–   N)r/   rw   rx   ÚPeriodÚCategoricalrz   r   r5   r{   r|   r}   r~   )r=   r   r€   Ú	ax_periodÚax_categoricalÚax_datetime_mixed_tzs         rB   Ú-test_subplots_timeseries_y_axis_not_supportedzHTestDataFramePlotsSubplots.test_subplots_timeseries_y_axis_not_supported¨   s«  € ô( —x‘x¢	Ó*ä—	‘	Ð/°cÔ:Ü—	‘	Ð,°3Ô7Ü—	‘	Ð/°cÔ:ðô
 Ÿ>™>ÚªOÀUôô —‘Ð4¸$Ô?Ü—‘Ð4Ó5Ü—‘Ð4Ó5ð"ñ
ˆô  ˜T“?ˆØ—M‘M I°�MÓ:ˆ	à×ÑÓ! !Ñ$×-Ñ-Ó/°Ñ2°h¸xÑ6H×6OÑ6OÑOß
‰#‹%ðð 	ð ð "Ÿ™¨°m˜ÓDˆà×$Ñ$Ó& qÑ)×2Ñ2Ó4°QÑ7Ø˜Ñ&×-Ñ-ñ.ç
‰#‹%ðð 	ð ð  (Ÿ}™}¨yÐ<O˜}ÓPÐà ×*Ñ*Ó,¨QÑ/×8Ñ8Ó:¸1Ñ=ØÐ+Ñ,×3Ñ3ñ4ç
‰#‹%ðð 	ñ rD   zlayout, exp_layout)r   r   )r.   r   )r   r.   )r"   é   )r.   rž   )rž   r.   )rž   r"   c                 ó  — t        t        j                  j                  d«      j                  d«      t	        t
        j                  d d «      ¬«      }|j                  d|¬«      }t        |d|¬«       |j                  |k(  sJ ‚y )	Nr   r   r   r   T©r   r%   r   r#   ©
r   r/   r0   r1   r2   r3   r4   r5   r   r6   )r=   r%   Ú
exp_layoutr>   r?   s        rB   Ú!test_subplots_layout_multi_columnz<TestDataFramePlotsSubplots.test_subplots_layout_multi_columnÛ   sr   € ô Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð
 �w‰w ¨VˆwÓ4ˆÜ˜$¨°:Õ>Ø�z‰z˜ZÒ'Ð'Ñ'rD   c                 ó¾  — t        t        j                  j                  d«      j                  d«      t	        t
        j                  d d «      ¬«      }d}t        j                  t        |¬«      5  |j                  dd¬	«       d d d «       d
}t        j                  t        |¬«      5  |j                  dd¬	«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)Nr   r   r   r   z1Layout of 1x1 must be larger than required size 3r…   T©r"   r"   r    z1At least one dimension of layout must be positive)r.   r.   )r   r/   r0   r1   r2   r3   r4   r‡   rˆ   Ú
ValueErrorr5   )r=   r>   rŠ   s      rB   Ú'test_subplots_layout_multi_column_errorzBTestDataFramePlotsSubplots.test_subplots_layout_multi_column_errorñ   s¹   € äÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð Bˆä�]‰]œ:¨SÔ1ñ 	2Ø�G‰G˜T¨&ˆGÔ1÷	2ð BˆÜ�]‰]œ:¨SÔ1ñ 	4Ø�G‰G˜T¨(ˆGÔ3÷	4ð 	4÷		2ð 	2ú÷	4ð 	4ús   Á1CÂ*CÃCÃCz:kwargs, expected_axes_num, expected_layout, expected_shaper"   r¥   ©r"   r%   )r   r   c                 ó  — t        t        j                  j                  d«      j                  d«      t	        t
        j                  d d «      ¬«      } |j                  dddi|¤Ž}t        |||¬«       |j                  |k(  sJ ‚y )	Nr   ©r   r"   r   r   r   Tr#   © r¡   )r=   ÚkwargsÚexpected_axes_numÚexpected_layoutÚexpected_shaper>   r?   s          rB   Ú"test_subplots_layout_single_columnz=TestDataFramePlotsSubplots.test_subplots_layout_single_column   s   € ô Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð ˆr�w‰wÑ/ Ð/¨Ñ/ˆÜØØ&Ø"õ	
ð
 �z‰z˜^Ò+Ð+Ñ+rD   rU   rf   ú1/1/2000©rR   c                 óð   — t        j                  d «      5  t        t        j                  j                  d«      j                  d«      |¬«      }|j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nr   )rf   rž   r   T)r   r   r    )ÚtmÚassert_produces_warningr   r/   r0   r1   Ústandard_normalr5   )r=   rU   r>   s      rB   Útest_subplots_warningsz1TestDataFramePlotsSubplots.test_subplots_warnings  s^   € ô ×'Ñ'¨Ó-ñ 	2Üœ2Ÿ9™9×0Ñ0°Ó3×CÑCÀFÓKÐSVÔWˆBØ�G‰G˜T¨&ˆGÔ1÷	2÷ 	2ñ 	2ús   –AA,Á,A5c                 ó4  — t         j                  j                  dd«      \  }}t        t        j
                  j                  d«      j                  d«      t        t        j                  d d «      ¬«      }|j                  d|d   dd¬	«      }t        |dd
¬«       |j                  dk(  sJ ‚|d   j                  |u sJ ‚|j                  d|d   dd¬	«      }t        |dd
¬«       |j                  dk(  sJ ‚|d   j                  |u sJ ‚t        |dd¬«       y )Nr   r   r   r   r   Tr   F©r   r@   r   Úsharey)r"   r   r#   r&   r"   é   )r   r   )ÚmplÚpyplotr   r   r/   r0   r1   r2   r3   r4   r5   r   r6   Úfigure)r=   Úfigr?   r>   Úreturneds        rB   Útest_subplots_multiple_axesz6TestDataFramePlotsSubplots.test_subplots_multiple_axes  s  € ä—J‘J×'Ñ'¨¨1Ó-‰	ˆˆTÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð
 —7‘7 D¨T°!©W¸UÈ5�7ÓQˆÜ˜(¨Q°vÕ>Ø�~‰~ Ò%Ð%Ð%Ø˜‰{×!Ñ! SÑ(Ð(Ð(à—7‘7 D¨T°!©W¸UÈ5�7ÓQˆÜ˜(¨Q°vÕ>Ø�~‰~ Ò%Ð%Ð%Ø˜‰{×!Ñ! SÑ(Ð(Ð(Ü˜$¨°6Ö:rD   c                 óz  — t        t        j                  j                  d«      j                  d«      t	        t
        j                  d d «      ¬«      }d}t        j                  j                  dd«      \  }}t        j                  t        |¬«      5  |j                  d|¬	«       d d d «       y # 1 sw Y   y xY w)
Nr   r   r   r   z@The number of passed axes must be 3, the same as the output plotr   r…   T©r   r@   )r   r/   r0   r1   r2   r3   r4   r¼   r½   r   r‡   rˆ   r¦   r5   )r=   r>   rŠ   Ú_r?   s        rB   Ú!test_subplots_multiple_axes_errorz<TestDataFramePlotsSubplots.test_subplots_multiple_axes_error2  s“   € äÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð QˆÜ—*‘*×%Ñ% a¨Ó+‰ˆˆ4ä�]‰]œ:¨SÔ1ñ 	,à�G‰G˜T dˆGÔ+÷	,÷ 	,ñ 	,ús   ÂB1Â1B:)r   r"   c                 ó¸  — t         j                  j                  dd«      \  }}t        t        j
                  j                  d«      j                  d«      t        t        j                  d d «      ¬«      }t        j                  t        «      5  |j                  d||dd¬«      }t        |d|¬	«       |j                  d
k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   )r   rž   r   r   TF)r   r@   r%   r   rº   rž   r#   )rž   )r¼   r½   r   r   r/   r0   r1   r2   r3   r4   r´   rµ   ÚUserWarningr5   r   r6   )r=   r%   r¢   rÄ   r?   r>   rÀ   s          rB   Ú!test_subplots_multiple_axes_2_dimz<TestDataFramePlotsSubplots.test_subplots_multiple_axes_2_dim?  s½   € ô —*‘*×%Ñ% a¨Ó+‰ˆˆ4ÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆô ×'Ñ'¬Ó4ñ 	*Ø—w‘wØ $¨v¸eÈEð ó ˆHô ˜h°¸:ÕFØ—>‘> TÒ)Ð)Ñ)÷	*÷ 	*ñ 	*ús   Â6CÃCc                 óZ  — t         j                  j                  dd«      \  }}t        t        j
                  j                  d«      j                  d«      t        t        j                  d d «      ¬«      }|j                  d|gdd¬«      }t        |dd	¬
«       |j                  dk(  sJ ‚y )Nr"   r   rª   r   r   TFr¹   r¥   r#   r¨   )r¼   r½   r   r   r/   r0   r1   r2   r3   r4   r5   r   r6   )r=   rÄ   r?   r>   s       rB   Ú&test_subplots_multiple_axes_single_colzATestDataFramePlotsSubplots.test_subplots_multiple_axes_single_colY  s’   € ô —*‘*×%Ñ% a¨Ó+‰ˆˆ4ÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð
 �w‰w ¨$¨¸ÀeˆwÓLˆÜ˜$¨°6Õ:Ø�z‰z˜TÒ!Ð!Ñ!rD   c                 óª  — t         j                  j                  dddd¬«      \  }}t         j                  j                  dddd¬«       t	        t
        j                  j                  d«      j                  d	«      t        d
dd¬«      ¬«      }t        |j                  «       «      D ]  \  }}||   j                  |d¬«       Œ |dd j                  «       D ]  }t        |j                  «       d¬«       Œ |d   j                  «       D ]  }t        |j                  «       d¬«       Œ |g d¢dgf   j                  «       D ]  }t        |j                  «       d¬«       Œ |g d¢dgf   j                  «       D ]  }t        |j                  «       d¬«       Œ |g d¢dgf   j                  «       D ]  }t        |j                  «       d¬«       Œ y )Nr   T)r   rº   gš™™™™™©?gffffffî?g333333Ó?)ÚleftÚrightÚhspaceÚwspacer   )r   é	   rM   rN   r   rO   r   rf   )r@   r[   r   r.   Fr*   )r   r"   r   r"   )r¼   r½   r   Úsubplots_adjustr   r/   r0   r1   r¶   r   Ú	enumerateÚravelr5   r   r:   r<   )r=   rÄ   r?   r>   Úir@   s         rB   Útest_subplots_ts_share_axesz6TestDataFramePlotsSubplots.test_subplots_ts_share_axesf  s³  € ä—*‘*×%Ñ% a¨°4ÀÐ%ÓE‰ˆˆ4Ü�
‰
×"Ñ"¨°DÀÈSÐ"ÔQÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ü <°dÀBÔGô
ˆô ˜tŸz™z›|Ó,ò 	*‰EˆAˆrØˆq‰E�J‰J˜" qˆJÕ)ð	*ð �q˜�*×"Ñ"Ó$ò 	@ˆBÜ˜2×-Ñ-Ó/¸Ö?ð	@ð �r‘(—.‘.Ó"ò 	?ˆBÜ˜2×-Ñ-Ó/¸Ö>ð	?ð ’y 1 #�~Ñ&×,Ñ,Ó.ò 	?ˆBÜ˜2×-Ñ-Ó/¸Ö>ð	?ð ’y 1 #�~Ñ&×,Ñ,Ó.ò 	@ˆBÜ˜2×-Ñ-Ó/¸Ö?ð	@à’y 1 #�~Ñ&×,Ñ,Ó.ò 	@ˆBÜ˜2×-Ñ-Ó/¸Ö?ñ	@rD   c                 ó‚  — g d¢g d¢g d¢dœ}t        |t        dd«      ¬«      }|dd	g   j                  d
¬«      }|d   j                  |d   d
¬«       t        |d   j	                  «       d¬«       t        |d   j	                  «       d
¬«       |j                  «       D ]  }t        |j                  «       d
¬«       Œ y )N)ç      ð?ç       @ç      @ç      @)rÚ   rÙ   rØ   r×   )rf   r"   r   rž   )ÚAÚBÚCz
2014 10 11z
2014 10 14r   rÛ   rÜ   T©r   rÝ   r   )r@   Úsecondary_yFr*   r"   )r   r   r5   r   r:   rÓ   r<   )r=   Údr>   r?   r@   s        rB   Ú'test_subplots_sharex_axes_existing_axeszBTestDataFramePlotsSubplots.test_subplots_sharex_axes_existing_axesƒ  s«   € â&Ò-AÊÑUˆÜ�q¤
¨<¸Ó FÔGˆà�3˜�*‰~×"Ñ"¨DÐ"Ó1ˆØ
ˆ3‰�‰˜˜Q™¨TˆÔ2ä�t˜A‘w×.Ñ.Ó0¸%Õ@Ü�t˜A‘w×.Ñ.Ó0¸$Õ?Ø—*‘*“,ò 	?ˆBÜ˜2×-Ñ-Ó/¸Ö>ñ	?rD   c                 ó
  — t        t        j                  j                  d«      j                  d«      t	        d«      ¬«      }|j                  d¬«      }|D ]*  }t        |dg¬«       t        |j                  «      d	k(  rŒ*J ‚ y )
Nr   ©rf   rf   Úaaaaa©r8   TrÞ   r‘   r'   r"   ©	r   r/   r0   r1   r2   r5   r
   ÚlenÚlines©r=   r>   r?   r@   s       rB   Útest_subplots_dup_columnsz4TestDataFramePlotsSubplots.test_subplots_dup_columns�  sm   € ä”r—y‘y×,Ñ,¨QÓ/×6Ñ6°vÓ>ÌÈWËÔVˆØ�w‰w ˆwÓ%ˆØò 	&ˆBÜ  ¨S¨EÕ2Ü�r—x‘x“= AÓ%Ð%Ð%ñ	&rD   c                 ó  — t        t        j                  j                  d«      j                  d«      t	        d«      ¬«      }|j                  dd¬«      }|D ]*  }t        |dg¬«       t        |j                  «      d	k(  rŒ*J ‚ y )
Nr   rã   rä   rå   Tr‘   )r   rß   r'   r"   ræ   ré   s       rB   Ú%test_subplots_dup_columns_secondary_yz@TestDataFramePlotsSubplots.test_subplots_dup_columns_secondary_y˜  so   € ä”r—y‘y×,Ñ,¨QÓ/×6Ñ6°vÓ>ÌÈWËÔVˆØ�w‰w °#ˆwÓ6ˆØò 	&ˆBä  ¨S¨EÕ2Ü�r—x‘x“= AÓ%Ð%Ð%ñ	&rD   c                 óJ  — t        t        j                  j                  d«      j                  d«      t	        d«      ¬«      }|j                  d¬«      }t        |dgdz  ¬	«       t        |j                  «      d
k(  sJ ‚t        |j                  j                  «      dk(  sJ ‚y )Nr   rã   rä   rå   r‘   )rß   z	a (right)rf   r'   r   )
r   r/   r0   r1   r2   r5   r
   rç   rè   Úright_ax)r=   r>   r@   s      rB   Ú0test_subplots_dup_columns_secondary_y_no_subplotzKTestDataFramePlotsSubplots.test_subplots_dup_columns_secondary_y_no_subplot¡  s€   € ä”r—y‘y×,Ñ,¨QÓ/×6Ñ6°vÓ>ÌÈWËÔVˆØ�W‰W ˆWÓ%ˆÜ˜R¨¨¸Ñ(9Õ:Ü�2—8‘8‹} Ò!Ð!Ð!Ü�2—;‘;×$Ñ$Ó%¨Ò*Ð*Ñ*rD   zWeird rounding problemsF)rŒ   Ústrictc           	      ó(  — t        j                  g d¢«      }t        dgdz  t        t	        dd«      «      dœt	        d«      ¬«      }|j
                  j                  dd¬	«      }t        j                  |j                  j                  «       |«       y )
N)çš™™™™™¹?r×   ç      $@éd   r   rf   r"   r»   ©rÛ   rÜ   r   T)ÚgridÚlog)r/   rw   r   r2   Úranger5   r   r´   Úassert_numpy_array_equalÚyaxisÚget_ticklocs)r=   r‚   r>   r@   s       rB   Útest_bar_log_no_subplotsz3TestDataFramePlotsSubplots.test_bar_log_no_subplots©  sn   € ô —8‘8Ò1Ó2ˆô ˜a˜S 1™W¬4´°a¸³Ó+<Ñ=ÄUÈ1ÃXÔNˆØ�W‰W�[‰[˜d¨ˆ[Ó-ˆÜ
×#Ñ# B§H¡H×$9Ñ$9Ó$;¸XÕFrD   c                 ór  — t        j                  g d¢«      }t        t        ddg«      t        ddg«      g«      j                  j                  dd¬«      }t        j                  |d   j                  j                  «       |«       t        j                  |d   j                  j                  «       |«       y )	N)rò   r×   ró   g      Y@g     @�@g     ˆÃ@éÈ   i,  iô  T)r÷   r   r   r"   )
r/   rw   r   r   r5   r   r´   rù   rú   rû   )r=   r‚   r@   s      rB   Útest_bar_log_subplotsz0TestDataFramePlotsSubplots.test_bar_log_subplots¸  s”   € ô —8‘8Ò@ÓAˆäœ  S˜zÓ*¬F°C¸°:Ó,>Ð?Ó@×EÑE×IÑIØ˜tð Jó 
ˆô 	×#Ñ# B q¡E§K¡K×$<Ñ$<Ó$>ÀÔIÜ
×#Ñ# B q¡E§K¡K×$<Ñ$<Ó$>ÀÕIrD   c                 ó„   — |}|j                   j                  d¬«      }t        |t        «      sJ ‚t	        |d g d¢¬«       y )NTrÞ   ©ÚheightÚweightÚcategory)Úexpected_keys)r5   ÚboxÚ
isinstancer   r	   )r=   Úhist_dfr>   r�   s       rB   Ú)test_boxplot_subplots_return_type_defaultzDTestDataFramePlotsSubplots.test_boxplot_subplots_return_type_defaultÇ  s=   € Øˆð —‘—‘ d�Ó+ˆÜ˜&¤&Ô)Ð)Ð)ÜØ�DÒ(Hö	
rD   Úrt)Údictr?   Úbothc                 ód   — |}|j                   j                  |d¬«      }t        ||g d¢d¬«       y )NT)Úreturn_typer   r  F)r  Úcheck_ax_title)r5   r  r	   )r=   r  r
  r>   rÀ   s        rB   Ú!test_boxplot_subplots_return_typez<TestDataFramePlotsSubplots.test_boxplot_subplots_return_typeÑ  s1   € àˆØ—7‘7—;‘;¨2¸�;Ó=ˆÜØØÚ:Ø ö		
rD   c                 ól  — t        t        j                  j                  d«      j	                  d«      t        dd¬«      t        d«      ¬«      }t        j                  ddd	¬
«      \  }}|j                  d	|¬«      }|D ]7  }t        |j                  «      dk(  sJ ‚t        |j                  «       d	¬«       Œ9 t        |d   j                  «       d¬«       t        |d   j                  d	¬«      d¬«       t        |d   j                  «       d	¬«       t        |d   j                  d	¬«      d	¬«       y )Nr   ©r   r   r±   r   r²   ÚAB©r   r8   r"   T)r   rÃ   r*   r   Fr,   ©r   r/   r0   r1   r¶   r   r2   Úpltr   r5   rç   rè   r   r<   r:   ©r=   r>   rÄ   r?   r@   s        rB   Ú$test_df_subplots_patterns_minorticksz?TestDataFramePlotsSubplots.test_df_subplots_patterns_minorticksÜ  s  € äÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ü˜Z°Ô4Ü˜“Jô
ˆô —,‘,˜q !¨D�,Ó1‰ˆˆ4Ø�w‰w ¨ˆwÓ.ˆØò 	?ˆBÜ�r—x‘x“= AÒ%Ð%Ð%Ü˜2×-Ñ-Ó/¸Ö>ð	?ô 	�t˜A‘w×.Ñ.Ó0¸%Õ@Ü�t˜A‘w×.Ñ.°TÐ.Ó:ÀEÕJÜ�t˜A‘w×.Ñ.Ó0¸$Õ?Ü�t˜A‘w×.Ñ.°TÐ.Ó:ÀDÖIrD   c                 óÆ  — t        t        j                  j                  d«      j	                  d«      t        dd¬«      t        d«      ¬«      }t        j                  dd«      \  }}t        j                  t        «      5  |j                  d	|d	¬
«      }d d d «       |D ]7  }t        |j                  «      dk(  sJ ‚t        |j!                  «       d	¬«       Œ9 t        |d   j#                  «       d¬«       t        |d   j#                  d	¬«      d¬«       t        |d   j#                  «       d	¬«       t        |d   j#                  d	¬«      d	¬«       y # 1 sw Y   ŒÂxY w)Nr   r  r±   r   r²   r  r  r"   T)r   r@   r   r*   r   Fr,   )r   r/   r0   r1   r¶   r   r2   r  r   r´   rµ   rÇ   r5   rç   rè   r   r<   r:   r  s        rB   Ú2test_df_subplots_patterns_minorticks_1st_ax_hiddenzMTestDataFramePlotsSubplots.test_df_subplots_patterns_minorticks_1st_ax_hiddenð  s+  € äÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ü˜Z°Ô4Ü˜“Jô
ˆô
 —,‘,˜q !Ó$‰ˆˆ4Ü×'Ñ'¬Ó4ñ 	@Ø—7‘7 D¨T¸$�7Ó?ˆD÷	@àò 	?ˆBÜ�r—x‘x“= AÒ%Ð%Ð%Ü˜2×-Ñ-Ó/¸Ö>ð	?ô 	�t˜A‘w×.Ñ.Ó0¸%Õ@Ü�t˜A‘w×.Ñ.°TÐ.Ó:ÀEÕJÜ�t˜A‘w×.Ñ.Ó0¸$Õ?Ü�t˜A‘w×.Ñ.°TÐ.Ó:ÀDÖI÷	@ð 	@ús   ÂEÅE c                 óà  — t        t        j                  j                  d«      j	                  d«      t        dd¬«      t        d«      ¬«      }t        j                  dd«      \  }}|j                  d	|¬
«      }|D ]o  }t        |j                  «      dk(  sJ ‚t        |j                  «       d	¬«       t        |j                  «       d	¬«       t        |j                  d	¬«      d	¬«       Œq y )Nr   r  r±   r   r²   r  r  r"   TrÃ   r*   r,   r  r  s        rB   Ú/test_df_subplots_patterns_minorticks_not_sharedzJTestDataFramePlotsSubplots.test_df_subplots_patterns_minorticks_not_shared  sÇ   € äÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ü˜Z°Ô4Ü˜“Jô
ˆô —,‘,˜q !Ó$‰ˆˆ4Ø�w‰w ¨ˆwÓ.ˆØò 	IˆBÜ�r—x‘x“= AÒ%Ð%Ð%Ü˜2×-Ñ-Ó/¸Õ>Ü˜2×-Ñ-Ó/¸Õ>Ü˜2×-Ñ-°DÐ-Ó9À4ÖHñ		IrD   c                 óp  — t        t        j                  j                  d«      j                  d«      «      }t        j                  |j
                  dd …df<   t        j                  |j
                  d d…df<   t        j                  j                  dd«      \  }}|j                  j                  |dd¬«       t        j                  d	d
d«      }t        j                  ddd«      }t        j                  |d   j                  «       |«       t        j                  |d   j                  «       |«       y )Nr   r  rf   r"   r   TF)r@   r   r   g      @r   ç      à?ç      à¿)r   r/   r0   r1   ÚnanÚilocr¼   r½   r   r5   r   Úaranger´   rù   Ú
get_xticks)r=   r>   rÄ   ÚaxsÚexpected_ax1Úexpected_ax2s         rB   Útest_subplots_sharex_falsez5TestDataFramePlotsSubplots.test_subplots_sharex_false  sæ   € ô ”r—y‘y×,Ñ,¨QÓ/×6Ñ6°wÓ?Ó@ˆÜŸ™ˆ�‰�‘�A�‰ÜŸ™ˆ�‰����A�‰ä—‘×$Ñ$ Q¨Ó*‰ˆˆ3Ø
�‰�‰˜ d°5ˆÔ9ä—y‘y  b¨#Ó.ˆÜ—y‘y  q¨#Ó.ˆä
×#Ñ# C¨¡F×$5Ñ$5Ó$7¸ÔFÜ
×#Ñ# C¨¡F×$5Ñ$5Ó$7¸ÕFrD   c                 ó<  — t        dd¬«      }t        t        j                  j	                  d«      j                  d«      |¬«      }i }t        t        j                  j                  d«      rd|d	<   t        j                  j                  di |¤Ž\  }}t        j                  d «      5  |j                  |d
   ¬«       t        j                  d¬«      5 }t        j                  j                  |«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NÚnowr   )rP   rR   r   r   r   Úget_constrained_layoutTÚconstrained_layoutr   )r@   )Úreturn_filelike)r   )r   r   r/   r0   r1   Úhasattrr¼   r½   ÚFigurer   r´   rµ   r5   Úensure_cleanÚsavefig)r=   rU   r>   r¬   rÄ   r?   Úpaths          rB   Ú test_subplots_constrained_layoutz;TestDataFramePlotsSubplots.test_subplots_constrained_layout#  sã   € ä˜u¨bÔ1ˆÜ”r—y‘y×,Ñ,¨QÓ/×6Ñ6°wÓ?ÀsÔKˆØˆÜ”3—:‘:×$Ñ$Ð&>Ô?Ø+/ˆFÐ'Ñ(Ü—*‘*×%Ñ%Ñ2¨6Ñ2‰ˆˆ4Ü×'Ñ'¨Ó-ñ 	)Ø�G‰G�t˜A‘wˆGÔÜ—‘°Ô6ð )¸$Ü—
‘
×"Ñ" 4Ô(÷)÷	)ð 	)÷)ð )ú÷	)ð 	)ús$   Â),DÃ DÃ5DÄD	ÄDÄDz index_name, old_label, new_label)NÚ Únew)Úoldr5  r4  )Nr3  r3  )Nr3  r"   Nr3  r   )r   r   r   c                 óP  ‡‡— t        ddgddggddg¬«      }||j                  _        |j                  |d¬«      }t	        d	„ |D «       «      sJ ‚t	        ˆfd
„|D «       «      sJ ‚|j                  |‰‰d¬«      }t	        ˆfd„|D «       «      sJ ‚t	        ˆfd„|D «       «      sJ ‚y )Nr"   r   rf   zType AzType Brå   T©r   r   c              3   óB   K  — | ]  }|j                  «       d k(  –— Œ y­w)r3  N)Ú
get_ylabel)Ú.0r@   s     rB   ú	<genexpr>zSTestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots.<locals>.<genexpr>D  s   è ø€ Ò8¨R�2—=‘=“? bÕ(Ñ8ùs   ‚c              3   óD   •K  — | ]  }|j                  «       ‰k(  –— Œ y ­w©N)Ú
get_xlabel)r:  r@   Ú	old_labels     €rB   r;  zSTestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots.<locals>.<genexpr>E  s   øè ø€ Ò?°B�2—=‘=“? iÕ/Ñ?ùs   ƒ )r   ÚylabelÚxlabelr   c              3   óV   •K  — | ]   }|j                  «       t        ‰«      k(  –— Œ" y ­wr=  )r9  Ústr©r:  r@   Ú	new_labels     €rB   r;  zSTestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots.<locals>.<genexpr>I  ó    øè ø€ ÒD¸�2—=‘=“?¤c¨)£nÕ4ÑDùó   ƒ&)c              3   óV   •K  — | ]   }|j                  «       t        ‰«      k(  –— Œ" y ­wr=  )r>  rC  rD  s     €rB   r;  zSTestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots.<locals>.<genexpr>J  rF  rG  )r   r   Únamer5   r~   )r=   r   Ú
index_namer?  rE  r>   r?   s      ``  rB   Ú%test_xlabel_ylabel_dataframe_subplotsz@TestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots0  sª   ù€ ô ˜˜A˜  A Ð'°(¸HÐ1EÔFˆØ"ˆ�‰Œð �w‰w˜D¨4ˆwÓ0ˆÜÑ8°4Ô8Ô8Ð8Ð8ÜÓ?¸$Ô?Ô?Ð?Ð?ð �w‰w˜D¨¸9ÈtˆwÓTˆÜÓD¸tÔDÔDÐDÐDÜÓD¸tÔDÔDÐDÑDrD   r¬   r   T)r   ÚstackedçÍÌÌÌÌÌì?)r   rL  Úwidthr   r7  )r   r   rN  Úedge)r   rL  Úalign)r   rL  rN  rP  )r   r   rP  )r   r   rN  rP  c                 óˆ   — t        dgdz  t        t        d«      «      dœt        d«      ¬«      } | j                  |fi |¤Ž y )Nr   rf   rõ   r   )r   r2   rø   Ú_check_bar_alignment©r=   r¬   r>   s      rB   Útest_bar_align_multiple_columnsz:TestDataFramePlotsSubplots.test_bar_align_multiple_columnsL  s=   € ôF ˜a˜S 1™W¬4´°a³«>Ñ:Ä%ÈÃ(ÔKˆØ!ˆ×!Ñ! "Ñ/¨Ó/rD   c                 ó˜   — t        t        j                  j                  d«      j	                  d«      «      } | j
                  |fi |¤Ž y )Nr   rf   ©r   r/   r0   r1   r¶   rR  rS  s      rB   Útest_bar_align_single_columnz7TestDataFramePlotsSubplots.test_bar_align_single_columnr  s=   € ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓBÓCˆØ!ˆ×!Ñ! "Ñ/¨Ó/rD   c                 óž   — t        t        j                  j                  d«      j	                  d«      «      } | j
                  |fdddœ|¤Ž y )Nr   rã   rM  gš™™™™™É?)rN  ÚpositionrV  rS  s      rB   Útest_bar_barwidth_positionz5TestDataFramePlotsSubplots.test_bar_barwidth_position�  sD   € ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆØ!ˆ×!Ñ! "ÐH¨C¸#ÑHÀÓHrD   Úwr×   c                 óè  — t        t        j                  j                  d«      j	                  d«      «      }|j
                  j                  d|¬«      }|j                  j                  «       }t        j                  |t        j                  g d¢«      «       |j                  «       dk(  sJ ‚|j                  d   j                  «       dk(  sJ ‚|j                  d	   j                  «       d
k(  sJ ‚y )Nr   rã   T)rL  rN  )r   r"   r   r   rž   )g      è¿g      @r   r  r.   g      @)r   r/   r0   r1   r¶   r5   r   r9   rû   r´   rù   rw   Úget_xlimÚpatchesÚget_x)r=   r[  r>   r@   Útickss        rB   Útest_bar_barwidth_position_intz9TestDataFramePlotsSubplots.test_bar_barwidth_position_int�  s»   € ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆØ�W‰W�[‰[ ¨Qˆ[Ó/ˆØ—‘×%Ñ%Ó'ˆÜ
×#Ñ# E¬2¯8©8²OÓ+DÔEØ�{‰{‹} Ò-Ð-Ð-à�z‰z˜!‰}×"Ñ"Ó$¨Ò,Ð,Ð,Ø�z‰z˜"‰~×#Ñ#Ó%¨Ò,Ð,Ñ,rD   zkind, kwargsrL  r   c                 óž   — t        t        j                  j                  d«      j	                  d«      «      } | j
                  |f|ddœ|¤Ž y )Nr   rã   r"   )r   rN  rV  )r=   r   r¬   r>   s       rB   Ú&test_bar_barwidth_position_int_width_1zATestDataFramePlotsSubplots.test_bar_barwidth_position_int_width_1œ  sD   € ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÓHˆØ!ˆ×!Ñ! "ÐC¨4°qÑC¸FÓCrD   c           	      óæ  — |j                  ||||||d¬«      }t        |«      }|D �]Ç  }	|dk(  rX|	j                  }
|	j                  «       \  }}t	        d„ |	j
                  D «       «      }t        d„ |	j
                  D «       «      }nc|dk(  rX|	j                  }
|	j                  «       \  }}t	        d„ |	j
                  D «       «      }t        d„ |	j
                  D «       «      }nt        ‚t        j                  ||d	z
  «       t        j                  ||d	z   «       |	j
                  d
   }|dk(  r/|du s|du r'|j                  «       }||j                  «       |z  z   }nð|dk(  rO|du rK|j                  «       |j                  «       t        |j                  «      z  |z  z   }|j                  «       }nœ|dk(  r=|du s|du r5|j!                  «       |j#                  «       |z  z   }|j!                  «       }nZ|dk(  rO|du rK|j!                  «       |j#                  «       t        |j                  «      z  |z  z   }|j!                  «       }nt        ‚|
j%                  «       t'        j(                  t        |«      «      k(  j+                  «       sJ ‚|dk(  r)t        j                  |
j%                  «       d
   |«       �Œ–|dk(  r)t        j                  |
j%                  «       d
   |«       �ŒÄt        ‚ |S )NT)r   rL  r   rP  rN  rY  rö   r   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr=  )r_  ©r:  Úps     rB   r;  zBTestDataFramePlotsSubplots._check_bar_alignment.<locals>.<genexpr>Å  ó   è ø€ Ò=¨Q˜qŸw™wŸyÑ=ùó   ‚c              3   ó^   K  — | ]%  }|j                  «       |j                  «       z   –— Œ' y ­wr=  )r_  Ú	get_widthrf  s     rB   r;  zBTestDataFramePlotsSubplots._check_bar_alignment.<locals>.<genexpr>Æ  s!   è ø€ ÒM¸Q˜qŸw™w›y¨1¯;©;«=Õ8ÑMùó   ‚+-r   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr=  )Úget_yrf  s     rB   r;  zBTestDataFramePlotsSubplots._check_bar_alignment.<locals>.<genexpr>Ê  rh  ri  c              3   ó^   K  — | ]%  }|j                  «       |j                  «       z   –— Œ' y ­wr=  )rn  Ú
get_heightrf  s     rB   r;  zBTestDataFramePlotsSubplots._check_bar_alignment.<locals>.<genexpr>Ë  s!   è ø€ ÒN¸a˜qŸw™w›y¨1¯<©<«>Õ9ÑNùrl  g      Ð?r   FÚcenterrO  )r5   r   r9   r]  Úminr^  Úmaxrú   Úget_ylimr¦   r´   Úassert_almost_equalr_  rk  rç   r8   rn  rp  rû   r/   r"  r~   )r=   r>   r   rL  r   rP  rN  rY  r?   r@   ÚaxisÚax_minÚax_maxÚmin_edgeÚmax_edgerg  rO  rq  s                     rB   rR  z/TestDataFramePlotsSubplots._check_bar_alignment«  s‘  € ð �w‰wØØØØØØØð ó 
ˆô   Ó%ˆàó -	!ˆBØ�uŠ}Ø—x‘x�Ø!#§¡£‘�˜ÜÑ=°"·*±*Ô=Ó=�ÜÑMÀ"Ç*Á*ÔMÓM‘Ø˜’Ø—x‘x�Ø!#§¡£‘�˜ÜÑ=°"·*±*Ô=Ó=�ÜÑNÀ2Ç:Á:ÔNÓN‘ä Ð ô ×"Ñ" 6¨8°d©?Ô;Ü×"Ñ" 6¨8°d©?Ô;à—
‘
˜1‘ˆAØ�uŠ} '¨T¡/°XÀÑ5EØ—w‘w“y�Ø §¡£°Ñ 8Ñ8‘Ø˜’ 7¨eÑ#3ØŸ™› Q§[¡[£]´S¸¿¹³_Ñ%DÀxÑ%OÑO�Ø—w‘w“y‘Ø˜’ W°¡_¸ÀDÑ8HØŸ™› Q§\¡\£^°hÑ%>Ñ>�Ø—w‘w“y‘Ø˜’ G¨uÑ$4ØŸ™› Q§\¡\£^´c¸"¿*¹*³oÑ%EÈÑ%PÑP�Ø—w‘w“y‘ä Ð ð ×%Ñ%Ó'¬2¯9©9´S¸³WÓ+=Ñ=×BÑBÔDÐDÐDà˜Ò ä×&Ñ& t×'8Ñ'8Ó':¸1Ñ'=¸vÖFØ˜&’ä×&Ñ& t×'8Ñ'8Ó':¸1Ñ'=¸tÖDä Ð ð[-	!ð^ ˆrD   )r   FFrq  r  r  )1Ú__name__Ú
__module__Ú__qualname__r‡   ÚmarkÚslowÚparametrizerC   rH   rK   rV   r^   rƒ   r‹   Úxfailr�   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  rK  rT  rW  rZ  ra  rc  rR  r«   rD   rB   r   r   !   s`  „ Ø‡[�[×ÑØ‡[�[×Ñ˜VÒ%DÓEñ3ó Fó ð3ð8 ‡[�[×ÑØ‡[�[×Ñ˜VÒ%DÓEñ1ó Fó ð1ð ‡[�[×ÑØ‡[�[×Ñ˜VÒ%DÓEñ+ó Fó ð+ð ‡[�[×Ñ˜V f¨fÐ%5Ó6ñ)ó 7ð)ð, ‡[�[×Ñ˜V f¨fÐ%5Ó6ñ
Hó 7ð
Hð ‡[�[×ÑØÒLóñ*óð*ò8	$ð ‡[�[×ÑÐVÐÓWñ0ó Xð0ðd ‡[�[×ÑØà�VÐØ�fÐØ�fÐØ�VÐØ�fÐØ�fÐð	
ó
ñ	(ó
ð	(ò4ð ‡[�[×ÑØDà��F˜DÐ!Ø˜Ð  F¨FÐ3ð	
óñ,óð,ð  ‡[�[×ÑØ‡[�[×Ñ˜U¡U¨1£X©z¸*ÈaÔ/PÐ$QÓRñ2ó Só ð2ò;ò&,ð ‡[�[×ÑØà�VÐØ�fÐØ�fÐð	
óñ*óð*ò$"ò@ò:?ò&ò&ò+ð ‡[�[×ÑØÒ2Ñ0Ó2Ø(Øð ó ñ
Góð
Gð ‡[�[×ÑØÒ2Ñ0Ó2Ø(Øð ó ñ
Jóð
Jò
ð ‡[�[×Ñ˜TÒ#;Ó<ñ
ó =ð
òJò(Jò&Iò Gò )ð ‡[�[×ÑØ*àØ!ØØØ�2˜˜1�vÐð	
ó	ð ‡[�[×Ñ˜VÒ%<Ó=ñEó >ó	ðEð" ‡[�[×ÑØð  tÑ,Ø t°cÑ:Ø¨Ñ-Ø¨°sÑ;à uÑ-Ø u°sÑ;Ø¨Ñ.Ø¨¸Ñ<à¨Ñ-Ø¨°sÑ;Ø¨Ñ.Ø¨¸Ñ<à t°fÑ=Ø t°cÀFÑKØ¨°vÑ>Ø¨°sÀVÑLØ u°vÑ>Ø u°sÀVÑLØ¨¸Ñ?Ø¨¸ÀfÑMØ¨°vÑ>Ø¨°sÀVÑLØ¨¸Ñ?Ø¨¸ÀfÑMð9	
ó ñB0óC ðB0ð
 ‡[�[×ÑØà uÑ-Ø tÑ,Ø¨Ñ.Ø¨Ñ-Ø¨Ñ-Ø¨Ñ.ð	
ó
ñ0ó
ð0ð ‡[�[×ÑØà uÑ-Ø tÑ,Ø¨Ñ.Ø¨Ñ-Ø¨Ñ-Ø¨Ñ.ð	
ó
ñIó
ðIð ‡[�[×Ñ˜S 1 c (Ó+ñ	-ó ,ð	-ð ‡[�[×ÑØà�Y Ð%Ð&Ø�i Ð'Ð(Ø�i Ð&Ð'Ø�Z Ð&Ð'Ø�j $Ð'Ð(ð	
ó	ñDó	ðDð ØØØØØôErD   r   )Ú__doc__r3   Únumpyr/   r‡   Úpandas.compatr   Úpandas.compat.numpyr   Úpandasrx   r   r   r   Úpandas._testingÚ_testingr´   Úpandas.tests.plotting.commonr   r	   r
   r   r   r   Úpandas.io.formats.printingr   Úimportorskipr¼   r  r   r«   rD   rB   ú<module>rŒ     si   ðÙ %ã ã Û å +Ý 2ã ÷ñ õ
 ÷÷ õ 4à€f×Ñ˜,Ó'€Ø€f×ÑÐ-Ó.€÷Oò OrD   