Ë
    u™ãj›x  ã                   óÈ   — d Z ddlZddlZddlZddl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 ddlmZ  ej*                  d«      Z ej*                  d«      Z G d„ d	«      Zy)
zTest cases for DataFrame.ploté    N)Ú_check_axes_shapeÚ_check_box_return_typeÚ_check_legend_labelsÚ_check_ticks_propsÚ_check_visibleÚ_flatten_visible)ÚVersion)Ú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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j,                  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d0„ Zd1„ Z d2„ Z!d3„ Z"d4„ Z#ej                  j                  d5g d6¢«      d7„ «       Z$d8„ Z%d9„ Z&d:„ Z'd;„ Z(d<„ Z)ej                  j                  d=d>d?d@dAdBdCddDgfg«      ej                  j                  dg dE¢«      dF„ «       «       Z*ej                  j                  dGdHdIdJœdHdIdKdLœdMdIdJœdMdIdKdLœdHdNdJœdHdNdKdLœdMdNdJœdMdNdKdLœdHdIdOœdHdIdKdPœdMdIdOœdMdIdKdPœdHdIdQdRœdHdIdKdQdSœdMdIdQdRœdMdIdKdQdSœdHdNdQdRœdHdNdKdQdSœdMdNdQdRœdMdNdKdQdSœdHdIdQdTœdHdIdKdQdUœdMdIdQdTœdMdIdKdQdUœg«      dV„ «       Z+ej                  j                  dGdHdNdJœdHdIdJœdMdNdJœdMdIdJœdHdIdOœdMdIdOœg«      dW„ «       Z,ej                  j                  dGdHdNdJœdHdIdJœdMdNdJœdMdIdJœdHdIdOœdMdIdOœg«      dX„ «       Z-ej                  j                  dYddZg«      d[„ «       Z.ej                  j                  d\dHd]dIigdMd]dNigdMd]dIigdHd^dIigdMd^dIigg«      d_„ «       Z/	 	 	 	 	 	 dad`„Z0yB)bÚTestDataFramePlotsSubplotsÚkind)ÚbarÚbarhÚlineÚareac                 óð  — t        j                  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éÿÿÿÿ)ÚpdÚ	DataFrameÚ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/html/python-recuperauto-other/env/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        j                  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-   r.   r/   r0   r1   r2   r3   r4   r   r8   r9   r:   r;   ©r<   r   r=   r>   r?   s        rA   Útest_subplots_no_share_xz3TestDataFramePlotsSubplots.test_subplots_no_share_x9   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ñ	1rC   c                 ó  — t        j                  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-   r.   r/   r0   r1   r2   r3   r4   Ú
get_legendrF   s        rA   Útest_subplots_no_legendz2TestDataFramePlotsSubplots.test_subplots_no_legendH   s{   € ô �\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð �w‰w˜D¨4¸ˆwÓ>ˆØò 	+ˆBØ—=‘=“?Ñ*Ð*Ð*ñ	+rC   r   r   c                 ój  — t        j                  ddd¬«      }t        j                  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   TrE   r   r   r   r&   Fr'   r)   r+   r   )Úxrot)r,   Ú
date_ranger-   r.   r/   r0   r4   r   r   r8   r9   r:   r;   r   ©r<   r   Úidxr=   r>   r?   s         rA   Útest_subplots_timeseriesz3TestDataFramePlotsSubplots.test_subplots_timeseriesS   sK  € ä�m‰m ,°TÀ2ÔFˆÜ�\‰\œ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸'ÓBÈ#ÔNˆà�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Ö(rC   c                 ó  — t        j                  ddd¬«      }t        j                  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 )NrL   rM   r   rN   r   r   r   TFé-   é   )r   r   r   ÚrotÚfontsizer)   )Ú
xlabelsizerR   Ú
ylabelsize)r,   rS   r-   r.   r/   r0   r4   r   r8   r9   r:   r;   r   rT   s         rA   Útest_subplots_timeseries_rotz7TestDataFramePlotsSubplots.test_subplots_timeseries_rotj   sÏ   € ä�m‰m ,°TÀ2ÔFˆÜ�\‰\œ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸'ÓBÈ#ÔNˆØ�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rC   Ú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                  |¬«      }|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.   Úarrayr,   Ú	TimedeltaÚto_datetimer-   r4   Ú	get_linesÚget_dataÚ_valuesÚall)r<   r_   ÚdataÚtestdatar?   ÚresultÚexpecteds          rA   Útest_subplots_timeseries_y_axisz:TestDataFramePlotsSubplots.test_subplots_timeseries_y_axisw   s  € ô —x‘x¢	Ó*ä—‘˜S sÔ+Ü—‘˜R cÔ*Ü—‘˜R cÔ*ðô —‘Ð4Ó5Ü—‘Ð4Ó5Ü—‘Ð4Ó5ðô —‘Ð4¸$Ô?Ü—‘Ð4¸$Ô?Ü—‘Ð4¸$Ô?ð ò
 /ñ#
ˆô& —<‘< Ó%ˆà�]‰]˜Sˆ]Ó!ˆØ—‘“ Ñ"×+Ñ+Ó-¨aÑ0ˆØ˜C‘=×(Ñ(ˆØ˜(Ñ"×'Ñ'Ô)Ð)Ñ)rC   c                 ó  — t        j                  d«      }t        j                  g d¢«      }t        j                  |j                  d«      d¬«      }|j                  «       j                  d¬«      }|j                  «       d   j                  «       }t        d„ |D «       «      sJ ‚t        j                  |j                  j                  «       j                  |d |j                  «      «      }t!        j"                  ||j%                  t        j                  |«      «      «       ||j%                  |j&                  «      k7  j                  «       sJ ‚|j                  j(                  |j*                  j,                  k(  sJ ‚y )	Nzmatplotlib.dates)rk   rl   rm   z
US/EasternÚdt_tz)Únameru   r   c              3   ó8   K  — | ]  }|j                   d u–— Œ y ­w©N)Útz)Ú.0Úentrys     rA   ú	<genexpr>zKTestDataFramePlotsSubplots.test_plot_y_datetime_tz_aware.<locals>.<genexpr>¢   s   è ø€ Ò;¨E�5—8‘8 4Ô'Ñ;ùs   ‚)ÚpytestÚimportorskipr,   ry   ÚSeriesÚtz_localizeÚto_framer4   rz   Ú	get_ydatar}   r.   ÚasarrayÚyaxisÚget_converterÚconvertÚtmÚassert_numpy_array_equalÚdate2numr|   ÚunitsÚdtrˆ   )r<   ÚmdatesÚdtiÚserr?   ÚydataÚ	positionss          rA   Útest_plot_y_datetime_tz_awarez8TestDataFramePlotsSubplots.test_plot_y_datetime_tz_aware–   s  € ä×$Ñ$Ð%7Ó8ˆä�n‰nÚQó
ˆô �i‰i˜Ÿ™¨Ó5¸GÔDˆà�\‰\‹^× Ñ  7Ð Ó+ˆà—‘“˜qÑ!×+Ñ+Ó-ˆÜÑ;°UÔ;Ô;Ð;Ð;ô —J‘J˜rŸx™x×5Ñ5Ó7×?Ñ?ÀÀtÈRÏXÉXÓVÓWˆ	Ü
×#Ñ# I¨v¯©¼r¿z¹zÈ%Ó?PÓ/QÔRØ˜VŸ_™_¨S¯[©[Ó9Ñ9×>Ñ>Ô@Ð@Ð@ð �x‰x�~‰~ §¡§¡Ò*Ð*Ñ*rC   c                 óî   — t        j                  g d¢«      g d¢dœ}t        j                  |«      }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,   r-   rŒ   ÚraisesÚ	TypeErrorr4   )r<   r~   r   Úmsgs       rA   Ú%test_subplots_timeseries_y_text_errorz@TestDataFramePlotsSubplots.test_subplots_timeseries_y_text_error¬   s`   € ô —x‘x¢	Ó*Ú.ñ
ˆô —<‘< Ó%ˆØ'ˆÜ�]‰]œ9¨CÔ0ñ 	$Ø�M‰M˜FˆMÔ#÷	$÷ 	$ñ 	$ús   ÁA+Á+A4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                  |«      }|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   )rP   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   r,   ÚPeriodÚCategoricalry   r-   r4   rz   r{   Úvaluesr}   )r<   r~   r   Ú	ax_periodÚax_categoricalÚax_datetime_mixed_tzs         rA   Ú-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ð"ñ
ˆô  —<‘< Ó%ˆØ—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ç
‰#‹%ðð 	ñ rC   zlayout, exp_layout)r   r   )r+   r   )r   r+   )r   é   )r+   rº   )rº   r+   )rº   r   c                 ó"  — t        j                  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-   r.   r/   r0   r1   r2   r3   r4   r   r5   )r<   r!   Ú
exp_layoutr=   r>   s        rA   Ú!test_subplots_layout_multi_columnz<TestDataFramePlotsSubplots.test_subplots_layout_multi_columnê   sv   € ô �\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð
 �w‰w ¨VˆwÓ4ˆÜ˜$¨°:Õ>Ø�z‰z˜ZÒ'Ð'Ñ'rC   c                 óÒ  — t        j                  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-   r.   r/   r0   r1   r2   r3   rŒ   r¤   Ú
ValueErrorr4   )r<   r=   r¦   s      rA   Ú'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   Á;CÂ4CÃCÃC&z:kwargs, expected_axes_num, expected_layout, expected_shaper   rÁ   ©r   r!   )r   r   c                 ó$  — t        j                  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          rA   Ú"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˜^Ò+Ð+Ñ+rC   rU   rf   ú1/1/2000©rQ   c                 ó  — t        j                  d «      5  t        j                  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¼   )	r–   Úassert_produces_warningr,   r-   r.   r/   r0   Ústandard_normalr4   )r<   rU   r=   s      rA   Útest_subplots_warningsz1TestDataFramePlotsSubplots.test_subplots_warnings&  sf   € ô ×'Ñ'¨Ó-ñ 	2Ü—‘Ü—	‘	×%Ñ% aÓ(×8Ñ8¸Ó@ÈôˆBð �G‰G˜T¨&ˆGÔ1÷		2÷ 	2ñ 	2ús   –AA6Á6A?c                 óH  — t         j                  j                  dd«      \  }}t        j                  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-   r.   r/   r0   r1   r2   r3   r4   r   r5   Úfigure)r<   Úfigr>   r=   Úreturneds        rA   Útest_subplots_multiple_axesz6TestDataFramePlotsSubplots.test_subplots_multiple_axes0  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Ö:rC   c                 óŽ  — t        j                  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-   r.   r/   r0   r1   r2   r3   r×   rØ   r   rŒ   r¤   rÂ   r4   )r<   r=   r¦   Ú_r>   s        rA   Ú!test_subplots_multiple_axes_errorz<TestDataFramePlotsSubplots.test_subplots_multiple_axes_errorC  s—   € ä�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð QˆÜ—*‘*×%Ñ% a¨Ó+‰ˆˆ4ä�]‰]œ:¨SÔ1ñ 	,à�G‰G˜T dˆGÔ+÷	,÷ 	,ñ 	,ús   ÂB;Â;C)r   r   c                 óÐ  — t         j                  j                  dd«      \  }}t        j                  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-   r.   r/   r0   r1   r2   r3   r–   rÐ   ÚUserWarningr4   r   r5   )r<   r!   r¾   rß   r>   r=   rÛ   s          rA   Ú!test_subplots_multiple_axes_2_dimz<TestDataFramePlotsSubplots.test_subplots_multiple_axes_2_dimP  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                 ón  — t         j                  j                  dd«      \  }}t        j                  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-   r.   r/   r0   r1   r2   r3   r4   r   r5   )r<   rß   r>   r=   s       rA   Ú&test_subplots_multiple_axes_single_colzATestDataFramePlotsSubplots.test_subplots_multiple_axes_single_colj  s–   € ô —*‘*×%Ñ% a¨Ó+‰ˆˆ4Ü�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü”v×+Ñ+¨C¨RÐ0Ó1ô
ˆð
 �w‰w ¨$¨¸ÀeˆwÓLˆÜ˜$¨°6Õ:Ø�z‰z˜TÒ!Ð!Ñ!rC   c                 óÒ  — t         j                  j                  dddd¬«      \  }}t         j                  j                  dddd¬«       t	        j
                  t        j                  j                  d«      j                  d	«      t	        j                  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   é	   rL   rM   r   rN   r   rf   )r?   r[   r   r+   Fr'   )r   r   r   r   )r×   rØ   r   Úsubplots_adjustr,   r-   r.   r/   r0   rÑ   rS   Ú	enumerateÚravelr4   r   r9   r;   )r<   rß   r>   r=   Úir?   s         rA   Útest_subplots_ts_share_axesz6TestDataFramePlotsSubplots.test_subplots_ts_share_axesw  s»  € ä—*‘*×%Ñ% a¨°4ÀÐ%ÓE‰ˆˆ4Ü�
‰
×"Ñ"¨°DÀÈSÐ"ÔQÜ�\‰\Ü�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ü—-‘- l¸ÀrÔJô
ˆô ˜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×-Ñ-Ó/¸Ö?ñ	@rC   c                 óª  — g d¢g d¢g d¢dœ}t        j                  |t        j                  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-   rS   r4   r   r9   rî   r;   )r<   Údr=   r>   r?   s        rA   Ú'test_subplots_sharex_axes_existing_axeszBTestDataFramePlotsSubplots.test_subplots_sharex_axes_existing_axes”  s³   € â&Ò-AÊÑUˆÜ�\‰\˜!¤2§=¡=°¸|Ó#LÔMˆà�3˜�*‰~×"Ñ"¨DÐ"Ó1ˆØ
ˆ3‰�‰˜˜Q™¨TˆÔ2ä�t˜A‘w×.Ñ.Ó0¸%Õ@Ü�t˜A‘w×.Ñ.Ó0¸$Õ?Ø—*‘*“,ò 	?ˆBÜ˜2×-Ñ-Ó/¸Ö>ñ	?rC   c                 ó  — t        j                  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©r7   Trù   r¬   r$   r   ©
r,   r-   r.   r/   r0   r1   r4   r   ÚlenÚlines©r<   r=   r>   r?   s       rA   Útest_subplots_dup_columnsz4TestDataFramePlotsSubplots.test_subplots_dup_columns¡  sv   € ä�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨FÓ3¼TÀ'»]ô
ˆð �w‰w ˆwÓ%ˆØò 	&ˆBÜ  ¨S¨EÕ2Ü�r—x‘x“= AÓ%Ð%Ð%ñ	&rC   c                 ó   — t        j                  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       rA   Ú%test_subplots_dup_columns_secondary_yz@TestDataFramePlotsSubplots.test_subplots_dup_columns_secondary_y«  sx   € ä�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨FÓ3¼TÀ'»]ô
ˆð �w‰w °#ˆwÓ6ˆØò 	&ˆBä  ¨S¨EÕ2Ü�r—x‘x“= AÓ%Ð%Ð%ñ	&rC   c                 ó^  — t        j                  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-   r.   r/   r0   r1   r4   r   r  r  Úright_ax)r<   r=   r?   s      rA   Ú0test_subplots_dup_columns_secondary_y_no_subplotzKTestDataFramePlotsSubplots.test_subplots_dup_columns_secondary_y_no_subplot¶  s‰   € ä�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨FÓ3¼TÀ'»]ô
ˆð �W‰W ˆWÓ%ˆÜ˜R¨¨¸Ñ(9Õ:Ü�2—8‘8‹} Ò!Ð!Ð!Ü�2—;‘;×$Ñ$Ó%¨Ò*Ð*Ñ*rC   c           	      ó¼  — t        t        j                  «      t        d«      k  rt        j                  g d¢«      nt        j                  g d¢«      }t        j                  dgdz  t        t        dd«      «      dœt        d«      ¬	«      }|j                  j                  d
d
¬«      }|j                  j                  «       }t        j                  ||d¬«       y )Nú	3.11.0rc1)çš™™™™™¹?rò   ç      $@éd   )r  rò   r  r   rf   r   rÖ   ©rö   r÷   r   T)ÚgridÚlogçVçž¯Ò<©Úatol)r	   r×   Ú__version__r.   rw   r,   r-   r1   Úranger4   r   r“   Úget_ticklocsr–   Úassert_almost_equal)r<   r�   r=   r?   r€   s        rA   Útest_bar_log_no_subplotsz3TestDataFramePlotsSubplots.test_bar_log_no_subplotsÀ  s£   € ô ”s—‘Ó'¬'°+Ó*>Ò>ô �H‰HÒ*Ô+ä—‘Ò*Ó+ð 	ô �\‰\   a¡¬d´5¸¸A³;Ó.?Ñ@ÌÈaËÔQˆØ�W‰W�[‰[˜d¨ˆ[Ó-ˆØ—‘×&Ñ&Ó(ˆô 	×Ñ˜v x°eÖ<rC   c                 ó6  — t        t        j                  «      t        d«      k  rt        j                  g d¢«      nt        j                  g d¢«      }t        j                  t        j                  ddg«      t        j                  ddg«      g«      j                  j                  dd¬«      }|d	   j                  j                  «       }t        j                  ||d
¬«       |d   j                  j                  «       }t        j                  ||d
¬«       y )Nr  )r  rò   r  ç      Y@ç     @�@g     ˆÃ@)r  rò   r  r  r  éÈ   i,  iô  T)r  r   r   r  r  r   )r	   r×   r  r.   rw   r,   r-   rŽ   r4   r   r“   r  r–   r  )r<   r�   r?   Úresult1Úresult2s        rA   Útest_bar_log_subplotsz0TestDataFramePlotsSubplots.test_bar_log_subplotsÔ  sØ   € ô
 ”s—‘Ó'¬'°+Ó*>Ò>ô �H‰HÒ9Ô:ä—‘Ò9Ó:ð 	ô �\‰\œ2Ÿ9™9 c¨3 ZÓ0´"·)±)¸SÀ#¸JÓ2GÐHÓI×NÑN×RÑRØ˜tð Só 
ˆð �Q‘%—+‘+×*Ñ*Ó,ˆÜ
×Ñ˜w¨°uÕ=Ø�Q‘%—+‘+×*Ñ*Ó,ˆÜ
×Ñ˜w¨°uÖ=rC   c                 ó˜   — |}|j                   j                  d¬«      }t        |t        j                  «      sJ ‚t        |d g d¢¬«       y )NTrù   ©ÚheightÚweightÚcategory)Úexpected_keys)r4   ÚboxÚ
isinstancer,   rŽ   r   )r<   Úhist_dfr=   r€   s       rA   Ú)test_boxplot_subplots_return_type_defaultzDTestDataFramePlotsSubplots.test_boxplot_subplots_return_type_defaulté  sA   € Øˆð —‘—‘ d�Ó+ˆÜ˜&¤"§)¡)Ô,Ð,Ð,ÜØ�DÒ(Hö	
rC   Úrt)Údictr>   Úbothc                 ód   — |}|j                   j                  |d¬«      }t        ||g d¢d¬«       y )NT)Úreturn_typer   r#  F)r'  Úcheck_ax_title)r4   r(  r   )r<   r*  r,  r=   rÛ   s        rA   Ú!test_boxplot_subplots_return_typez<TestDataFramePlotsSubplots.test_boxplot_subplots_return_typeó  s1   € àˆØ—7‘7—;‘;¨2¸�;Ó=ˆÜØØÚ:Ø ö		
rC   c                 ó”  — t        j                  t        j                  j	                  d«      j                  d«      t        j                  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   r7   r   T)r   rÞ   r'   r   Fr)   ©r,   r-   r.   r/   r0   rÑ   rS   r1   Úpltr   r4   r  r  r   r;   r9   ©r<   r=   rß   r>   r?   s        rA   Ú$test_df_subplots_patterns_minorticksz?TestDataFramePlotsSubplots.test_df_subplots_patterns_minorticksþ  s  € ä�\‰\Ü�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ü—-‘- 
°BÔ7Ü˜“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ÖIrC   c                 óò  — t        j                  t        j                  j	                  d«      j                  d«      t        j                  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   r4  rÍ   r   rÎ   r5  r6  r   zsharex and shareyr¢   T)r   r?   r   r'   r   Fr)   )r,   r-   r.   r/   r0   rÑ   rS   r1   r8  r   r–   rÐ   râ   r4   r  r  r   r;   r9   r9  s        rA   Ú2test_df_subplots_patterns_minorticks_1st_ax_hiddenzMTestDataFramePlotsSubplots.test_df_subplots_patterns_minorticks_1st_ax_hidden  s6  € ä�\‰\Ü�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ü—-‘- 
°BÔ7Ü˜“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-Å-E6c                 ó  — t        j                  t        j                  j	                  d«      j                  d«      t        j                  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   r4  rÍ   r   rÎ   r5  r6  r   TrÞ   r'   r)   r7  r9  s        rA   Ú/test_df_subplots_patterns_minorticks_not_sharedzJTestDataFramePlotsSubplots.test_df_subplots_patterns_minorticks_not_shared%  sÏ   € ä�\‰\Ü�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ü—-‘- 
°BÔ7Ü˜“Jô
ˆô —,‘,˜q !Ó$‰ˆˆ4Ø�w‰w ¨ˆwÓ.ˆØò 	IˆBÜ�r—x‘x“= AÒ%Ð%Ð%Ü˜2×-Ñ-Ó/¸Õ>Ü˜2×-Ñ-Ó/¸Õ>Ü˜2×-Ñ-°DÐ-Ó9À4ÖHñ		IrC   c                 ó„  — t        j                  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   r4  rf   r   r   TF)r?   r   r   g      @r   ç      à?ç      à¿)r,   r-   r.   r/   r0   ÚnanÚilocr×   rØ   r   r4   r   Úaranger–   r—   Ú
get_xticks)r<   r=   rß   ÚaxsÚexpected_ax1Úexpected_ax2s         rA   Útest_subplots_sharex_falsez5TestDataFramePlotsSubplots.test_subplots_sharex_false5  sê   € ô �\‰\œ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸'ÓBÓCˆÜŸ™ˆ�‰�‘�A�‰ÜŸ™ˆ�‰����A�‰ä—‘×$Ñ$ Q¨Ó*‰ˆˆ3Ø
�‰�‰˜ d°5ˆÔ9ä—y‘y  b¨#Ó.ˆÜ—y‘y  q¨#Ó.ˆä
×#Ñ# C¨¡F×$5Ñ$5Ó$7¸ÔFÜ
×#Ñ# C¨¡F×$5Ñ$5Ó$7¸ÕFrC   c                 ó\  — t        j                  dd¬«      }t        j                  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   )rO   rQ   r   r   r   Úget_constrained_layoutTÚconstrained_layoutr   )r?   Úwb)Úmode)r   )r,   rS   r-   r.   r/   r0   Úhasattrr×   rØ   ÚFigurer   r–   rÐ   r4   ÚopenÚsavefig)r<   Ú	temp_filerU   r=   rÈ   rß   r>   Úpaths           rA   Ú test_subplots_constrained_layoutz;TestDataFramePlotsSubplots.test_subplots_constrained_layoutE  sí   € ä�m‰m %°Ô4ˆÜ�\‰\œ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸'ÓBÈ#ÔNˆØˆÜ”3—:‘:×$Ñ$Ð&>Ô?Ø+/ˆFÐ'Ñ(Ü—*‘*×%Ñ%Ñ2¨6Ñ2‰ˆˆ4Ü×'Ñ'¨Ó-ñ 	)Ø�G‰G�t˜A‘wˆGÔØ—‘ T�Ó*ð )¨dÜ—
‘
×"Ñ" 4Ô(÷)÷	)ð 	)÷)ð )ú÷	)ð 	)ús$   Â=(D"Ã% DÄD"ÄD	ÄD"Ä"D+z index_name, old_label, new_label)NÚ Únew)ÚoldrY  rX  )NrW  rW  )NrW  r   NrW  r   )r   r   r   c                 ód  ‡‡— t        j                  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)rW  N)Ú
get_ylabel)r‰   r?   s     rA   r‹   zSTestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots.<locals>.<genexpr>f  s   è ø€ Ò8¨R�2—=‘=“? bÕ(Ñ8ùs   ‚c              3   óD   •K  — | ]  }|j                  «       ‰k(  –— Œ y ­wr‡   )Ú
get_xlabel)r‰   r?   Ú	old_labels     €rA   r‹   zSTestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots.<locals>.<genexpr>g  s   øè ø€ Ò?°B�2—=‘=“? iÕ/Ñ?ùs   ƒ )r   ÚylabelÚxlabelr   c              3   óV   •K  — | ]   }|j                  «       t        ‰«      k(  –— Œ" y ­wr‡   )r]  Ústr©r‰   r?   Ú	new_labels     €rA   r‹   zSTestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots.<locals>.<genexpr>k  ó    øè ø€ ÒD¸�2—=‘=“?¤c¨)£nÕ4ÑDùó   ƒ&)c              3   óV   •K  — | ]   }|j                  «       t        ‰«      k(  –— Œ" y ­wr‡   )r_  rd  re  s     €rA   r‹   zSTestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots.<locals>.<genexpr>l  rg  rh  )r,   r-   r   r…   r4   r}   )r<   r   Ú
index_namer`  rf  r=   r>   s      ``  rA   Ú%test_xlabel_ylabel_dataframe_subplotsz@TestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplotsR  s®   ù€ ô �\‰\˜A˜q˜6 A q 6Ð*°X¸xÐ4HÔIˆØ"ˆ�‰Œð �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ÑDrC   rÈ   r   T)r   ÚstackedçÍÌÌÌÌÌì?)r   rl  Úwidthr   Fr[  )r   r   rn  Úedge)r   rl  Úalign)r   rl  rn  rp  )r   r   rp  )r   r   rn  rp  c                 óœ   — t        j                  dgdz  t        t        d«      «      dœt        d«      ¬«      } | j                  |fi |¤Ž y )Nr   rf   r  r   )r,   r-   r1   r  Ú_check_bar_alignment©r<   rÈ   r=   s      rA   Útest_bar_align_multiple_columnsz:TestDataFramePlotsSubplots.test_bar_align_multiple_columnsn  sA   € ôF �\‰\   a¡¬d´5¸³8«nÑ=ÄUÈ1ÃXÔNˆØ!ˆ×!Ñ! "Ñ/¨Ó/rC   c                 ó¬   — t        j                  t        j                  j	                  d«      j                  d«      «      } | j                  |fi |¤Ž y )Nr   rf   ©r,   r-   r.   r/   r0   rÑ   rr  rs  s      rA   Útest_bar_align_single_columnz7TestDataFramePlotsSubplots.test_bar_align_single_column”  sA   € ô �\‰\œ"Ÿ)™)×/Ñ/°Ó2×BÑBÀ1ÓEÓFˆØ!ˆ×!Ñ! "Ñ/¨Ó/rC   c                 ó²   — t        j                  t        j                  j	                  d«      j                  d«      «      } | j                  |fdddœ|¤Ž y )Nr   rþ   rm  gš™™™™™É?)rn  Úpositionrv  rs  s      rA   Útest_bar_barwidth_positionz5TestDataFramePlotsSubplots.test_bar_barwidth_position£  sH   € ô �\‰\œ"Ÿ)™)×/Ñ/°Ó2×BÑBÀ6ÓJÓKˆØ!ˆ×!Ñ! "ÐH¨C¸#ÑHÀÓHrC   Úwrò   c                 óü  — t        j                  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   rA  r+   g      @)r,   r-   r.   r/   r0   rÑ   r4   r   r8   r  r–   r—   rw   Úget_xlimÚpatchesÚget_x)r<   r{  r=   r?   Útickss        rA   Útest_bar_barwidth_position_intz9TestDataFramePlotsSubplots.test_bar_barwidth_position_int²  s¿   € ô �\‰\œ"Ÿ)™)×/Ñ/°Ó2×BÑBÀ6ÓJÓKˆØ�W‰W�[‰[ ¨Qˆ[Ó/ˆØ—‘×%Ñ%Ó'ˆÜ
×#Ñ# E¬2¯8©8²OÓ+DÔEØ�{‰{‹} Ò-Ð-Ð-à�z‰z˜!‰}×"Ñ"Ó$¨Ò,Ð,Ð,Ø�z‰z˜"‰~×#Ñ#Ó%¨Ò,Ð,Ñ,rC   zkind, kwargsrl  r   c                 ó²   — t        j                  t        j                  j	                  d«      j                  d«      «      } | j                  |f|ddœ|¤Ž y )Nr   rþ   r   )r   rn  rv  )r<   r   rÈ   r=   s       rA   Ú&test_bar_barwidth_position_int_width_1zATestDataFramePlotsSubplots.test_bar_barwidth_position_int_width_1¾  sH   € ô �\‰\œ"Ÿ)™)×/Ñ/°Ó2×BÑBÀ6ÓJÓKˆØ!ˆ×!Ñ! "ÐC¨4°qÑC¸FÓCrC   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     rA   r‹   zBTestDataFramePlotsSubplots._check_bar_alignment.<locals>.<genexpr>ç  ó   è ø€ Ò=¨Q˜qŸw™wŸyÑ=ùó   ‚c              3   ó^   K  — | ]%  }|j                  «       |j                  «       z   –— Œ' y ­wr‡   )r  Ú	get_widthr†  s     rA   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_yr†  s     rA   r‹   zBTestDataFramePlotsSubplots._check_bar_alignment.<locals>.<genexpr>ì  rˆ  r‰  c              3   ó^   K  — | ]%  }|j                  «       |j                  «       z   –— Œ' y ­wr‡   )rŽ  Ú
get_heightr†  s     rA   r‹   zBTestDataFramePlotsSubplots._check_bar_alignment.<locals>.<genexpr>í  s!   è ø€ ÒN¸a˜qŸw™w›y¨1¯<©<«>Õ9ÑNùrŒ  g      Ð?r   FÚcenterro  )r4   r   r8   r}  Úminr~  Úmaxr“   Úget_ylimrÂ   r–   r  r  r‹  r  r7   rŽ  r�  r  r.   rD  r}   )r<   r=   r   rl  r   rp  rn  ry  r>   r?   ÚaxisÚax_minÚax_maxÚmin_edgeÚmax_edger‡  ro  r‘  s                     rA   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ä Ð ð[-	!ð^ ˆrC   )r   FFr‘  r@  r@  )1Ú__name__Ú
__module__Ú__qualname__rŒ   ÚmarkÚslowÚparametrizerB   rG   rJ   rV   r^   r‚   r    r§   Úxfailr¹   r¿   rÃ   rÌ   r  r,   rS   rÒ   rÜ   rà   rã   rå   rð   rü   r  r  r
  r  r!  r+  r2  r:  r<  r>  rI  rV  rk  rt  rw  rz  r�  rƒ  rr  rÇ   rC   rA   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¨}¨r¯}©}¸ZÐQRÔ/SÐ$TÓUñ2ó Vó ð2ò;ò&,ð ‡[�[×ÑØà�VÐØ�fÐØ�fÐð	
óñ*óð*ò$"ò@ò:?ò&ò	&ò+ò=ò(>ò*
ð ‡[�[×Ñ˜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rC   r   )Ú__doc__r2   Únumpyr.   rŒ   Úpandasr,   Úpandas._testingÚ_testingr–   Úpandas.tests.plotting.commonr   r   r   r   r   r   Úpandas.util.versionr	   Úpandas.io.formats.printingr
   r�   r×   r8  r   rÇ   rC   rA   ú<module>r©     sZ   ðÙ #ã ã Û ã Ý ÷÷ õ (å 3à€f×Ñ˜,Ó'€Ø€f×ÑÐ-Ó.€÷xò xrC   