Ë
    AúYj!q  ã                   óÜ   — d Z ddlZddlZddl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j0                  d«      Z ej0                  d«      Z G d	„ d
«      Zy)zTest cases for DataFrame.ploté    N)Úis_platform_linux)Ú	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«       d1d2¬3«      d4„ «       Z ej                  j                   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„Z/yD)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¬«      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   )Ústrict©Ú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         úz/var/www/ramen.bs-engineer-server.com/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°tÔ<ò 	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_legendN   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_timeseriesY   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_rotp   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   rj   )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_error1  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        d¬«      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   zlayout keyword is ignoredr…   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ô
ˆô ×'Ñ'¬Ð;VÔWñ 	*Ø—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_colX  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_axese  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Œ   r&   c           	      ó(  — 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        d	¬
«      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!   zsharex and shareyr…   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Ü×'Ñ'¬Ð;NÔOñ 	@Ø—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                 ó4  — 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
   ¬«       |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@   Úwb)Úmode)r   )r   r   r/   r0   r1   Úhasattrr»   r¼   ÚFigurer   r³   r´   r5   ÚopenÚsavefig)r=   Ú	temp_filerU   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ÔØ—‘ T�Ó*ð )¨dÜ—
‘
×"Ñ" 4Ô(÷)÷	)ð 	)÷)ð )ú÷	)ð 	)ús$   Â)(DÃ DÃ1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>C  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>D  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>H  ó    øè ø€ Ò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>I  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_subplots/  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_columnsK  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_columnq  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  )0Ú__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%  r2  rK  rT  rW  rZ  ra  rc  rR  rª   rD   rB   r   r       sT  „ Ø‡[�[×ÑØ‡[�[×Ñ˜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Ðð	
óñ*óð*ò$"ò@ò:?ò&ò&ò+ð ‡[�[×ÑÙÓØ(Øð ó ñ
Góð
Gð ‡[�[×ÑÙÓØ(Øð ó ñ
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   Ú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‹     sf   ðÙ #ã ã Û å +ã ÷ñ õ
 ÷÷ õ 4à€f×Ñ˜,Ó'€Ø€f×ÑÐ-Ó.€÷Oò OrD   