o
    _~#gö‰  ã                   @   sü   d Z ddlmZ ddlmZ ddlZddlZddlmZ ddl	m
Z
 ddlm  mZ ddlZddlmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ e %d	¡Z&e %d
¡Z'ej(dd„ ƒZ)ej(dd„ ƒZ*G dd„ dƒZ+dS )z Test cases for Series.plot é    )Údatetime)ÚchainN)Úis_platform_linux)Únp_version_gte1p24)Ú	DataFrameÚSeriesÚ
date_rangeÚperiod_rangeÚplotting)Ú_check_ax_scalesÚ_check_axes_shapeÚ_check_colorsÚ_check_grid_settingsÚ_check_has_errorbarsÚ_check_legend_labelsÚ_check_plot_worksÚ_check_text_labelsÚ_check_ticks_propsÚ_unpack_cyclerÚ
get_y_axisÚ
matplotlibzmatplotlib.pyplotc                   C   s"   t tjdtjdtdddddS )Né
   ©Údtypeú
2020-01-01©ÚperiodsÚts©ÚindexÚname)r   ÚnpÚarangeÚfloat64r   © r$   r$   ú†/var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/plotting/test_series.pyr   '   s
   
ýr   c                   C   s$   t tdƒtjddd„ tdƒD ƒdS )Né   Úseriesc                 S   s   g | ]}d |› ‘qS )Úi_r$   ©Ú.0Úir$   r$   r%   Ú
<listcomp>3   s    zseries.<locals>.<listcomp>)r   r    r   )r   Úranger!   r#   r$   r$   r$   r%   r'   0   s   ÿr'   c                   @   s´  e Zd Zejjej dddiddig¡dd„ ƒƒZejjdd	„ ƒZejjej d
ddiddigddiddigddidddœgg¡dd„ ƒƒZ	ejjdd„ ƒZ
ejjdd„ ƒZdd„ Zej ddddejde d ¡d!d"d#g¡d$d%„ ƒZd&d'„ Zd(d)„ Zej di d*d+id*d,ig¡d-d.„ ƒZd/d0„ Zd1d2„ Zej di d3dig¡d4d5„ ƒZd6d7„ Zd8d9„ Zd:d;„ Zd<d=„ Zd>d?„ Zd@dA„ ZdBdC„ ZdDdE„ ZdFdG„ ZdHdI„ Z dJdK„ Z!ej dLdMe"dNdOdPg¡dQdR„ ƒZ#dSdT„ Z$dUdV„ Z%ejj&e'oðe(ƒ dWddXej dYdZd[g¡d\d]„ ƒƒZ)ejj&e'o
e(ƒ dWddXej d^g d_¢g d`¢g¡dadb„ ƒƒZ*dcdd„ Z+dedf„ Z,dgdh„ Z-didj„ Z.dkdl„ Z/dmdn„ Z0dodp„ Z1dqdr„ Z2dsdt„ Z3dudv„ Z4dwdx„ Z5dydz„ Z6d{d|„ Z7d}d~„ Z8dd€„ Z9dd‚„ Z:dƒd„„ Z;d…d†„ Z<d‡dˆ„ Z=ej d‰dŠd‹g¡dŒd„ ƒZ>dŽd„ Z?ej dd‘d’gdMd’gdMe@ Ad’¡gd“e@ Bd”d•d’¡gg¡d–d—„ ƒZCd˜d™„ ZDdšd›„ ZEdœd„ ZFejj&dždŸd d¡„ ƒZGej deHjIjJeHjIjK ¡d¢d£„ ƒZLej deHjIjJeHjIjK ¡d¤d¥„ ƒZMej deHjIjJ¡d¦d§„ ƒZNej deHjIjJ¡d¨d©„ ƒZOej deHjIjJ¡dªd«„ ƒZPd¬d­„ ZQd®d¯„ ZRd°d±„ ZSejjej dddg¡ej d²eTe@ Ue@jV Wd³¡ Xd´¡¡ƒe@ Ue@jV Wd³¡ Xd´¡¡eYe@ Ue@jV Wd³¡ Xd´¡¡ƒeZe@ Ue@jV Wd³¡ Xdµ¡¡d¶d·gd¸g¡d¹dº„ ƒƒƒZ[ejjd»d¼„ ƒZ\ejjej d²eTe@ Ue@jV Wd³¡ Xd½¡¡ƒeZe@ Ue@jV Wd³¡ Xd¾¡¡d¶d·gd¸g¡d¿dÀ„ ƒƒZ]ejjdÁdÂ„ ƒZ^ejjdÃdÄ„ ƒZ_ejjdÅdÆ„ ƒZ`ejjdÇdÈ„ ƒZaejjdÉdÊ„ ƒZbej dËg dÌ¢¡dÍdÎ„ ƒZcdÏdÐ„ ZddÑdÒ„ ZedÓdÔ„ ZfdÕdÖ„ Zgd×dØ„ ZhdÙdÚ„ ZidÛdÜ„ Zjejj&dÝdŸdÞdß„ ƒZkej dddàg¡dádâ„ ƒZldãdä„ Zmdådæ„ Znej dçg dè¢g dé¢fg dê¢g dë¢fg¡dìdí„ ƒZodîdï„ Zpej dðg dñ¢¡ej dg dò¢¡dódô„ ƒƒZqej dLerjsdõd³död÷erjtdødùerjtd³dùgg¡dúdû„ ƒZudüdý„ Zvejjdþdÿ„ ƒZwdMS (   ÚTestSeriesPlotsÚkwargsÚlabelÚfooÚ	use_indexFc                 C   s   t |jfi |¤Ž d S ©N©r   Úplot)Úselfr   r/   r$   r$   r%   Ú	test_plot8   s   zTestSeriesPlots.test_plotc                 C   s   t |jdd}t|dd d S )Nr   )Úrot©Úxrot)r   r5   r   )r6   r   Úaxesr$   r$   r%   Útest_plot_tick_props=   s   z$TestSeriesPlots.test_plot_tick_propszscale, exp_scaleÚlogyTÚyaxisÚlogÚlogxÚxaxisÚloglog)rA   r>   c                 C   s*   t |jfddi|¤Ž}t|fi |¤Ž d S )NÚstyleÚ.)r   r5   r   )r6   r   ÚscaleÚ	exp_scaleÚaxr$   r$   r%   Útest_plot_scalesB   s   
z TestSeriesPlots.test_plot_scalesc                 C   ó   t |d d… jjƒ d S ©Nr   )r   r5   Úbar©r6   r   r$   r$   r%   Útest_plot_ts_barO   s   z TestSeriesPlots.test_plot_ts_barc                 C   s   t |jjdd d S )NF©Ústacked)r   r5   ÚarearL   r$   r$   r%   Útest_plot_ts_area_stackedS   s   z)TestSeriesPlots.test_plot_ts_area_stackedc                 C   s$   t tdƒtdddƒ}t|jƒ d S )Né   r   r   )r   r-   r	   r   r5   )r6   Úserr$   r$   r%   Útest_plot_iseriesW   s   z!TestSeriesPlots.test_plot_iseriesÚkindÚlinerK   ÚbarhÚkdeÚscipy)ÚmarksÚhistÚboxc                 C   s   t |d d… j|d d S )NrR   ©rU   r4   )r6   r'   rU   r$   r$   r%   Útest_plot_series_kinds[   s   z&TestSeriesPlots.test_plot_series_kindsc                 C   rI   rJ   )r   r5   rW   ©r6   r'   r$   r$   r%   Útest_plot_series_barhi   s   z%TestSeriesPlots.test_plot_series_barhc                 C   s<   t ttj d¡ d¡ƒjjdd}t|j	d gdgd d S )Né   r   Úblack©Úcolorr   ©Ú
facecolors)
r   r   r!   ÚrandomÚdefault_rngÚstandard_normalr5   rK   r   Úpatches)r6   rG   r$   r$   r%   Útest_plot_series_bar_axl   s   ÿz'TestSeriesPlots.test_plot_series_bar_axÚlayout)éÿÿÿÿé   )rn   rm   c                 C   s(   t |jfddi|¤Ž}t|ddd d S )NÚsubplotsTrn   ©rn   rn   )Úaxes_numrl   )r   r5   r   )r6   r   r/   rG   r$   r$   r%   Útest_plot_6951r   s   zTestSeriesPlots.test_plot_6951c                 C   s>   t j ¡ \}}|jdd|d}t|jdƒ t|dddd d S )NÚTest)é   é   )ÚtitleÚfigsizerG   rn   rp   )rq   rl   rw   )ÚmplÚpyplotro   r5   r   rv   r   )r6   r'   Ú_rG   r$   r$   r%   Útest_plot_figsize_and_titlex   s   z+TestSeriesPlots.test_plot_figsize_and_titlec                 C   sJ   d}t jj| }t j ¡ \}}tg d¢ƒj|d |t jj| ks#J ‚d S )Nzaxes.prop_cycle©rn   ra   é   ©rG   )rx   ry   ÚrcParamsro   r   r5   )r6   ÚkeyÚcolorsrz   rG   r$   r$   r%   Útest_dont_modify_rcParams   s
   z)TestSeriesPlots.test_dont_modify_rcParamsÚsecondary_yc                 C   sz   t j ¡ \}}|jdd|i|¤Ž}| ¡ \}}| ¡ }||d jddd d ks+J ‚||d jddd d ks;J ‚d S )NrG   r   F©Úorigrm   r$   )rx   ry   ro   r5   Úget_xlimÚ	get_linesÚget_data)r6   r   r/   rz   rG   ÚxminÚxmaxÚlinesr$   r$   r%   Útest_ts_line_lim‡   s    $z TestSeriesPlots.test_ts_line_limc                 C   sr   t j ¡ \}}|jjd|d}| ¡ \}}| ¡ d jddd }||d ks)J ‚||d ks1J ‚t|dd d S )NF)rO   rG   r   r„   rm   r9   ©	rx   ry   ro   r5   rP   r†   r‡   rˆ   r   ©r6   r   rz   rG   r‰   rŠ   rV   r$   r$   r%   Útest_ts_area_lim   s   z TestSeriesPlots.test_ts_area_limc                 C   st   t j ¡ \}}|jjdd|d}| ¡ \}}| ¡ d jddd }||d ks*J ‚||d ks2J ‚t|dd d S )	NFT©rO   Úx_compatrG   r   r„   rm   é   r9   r   rŽ   r$   r$   r%   Útest_ts_area_lim_xcompat™   s   z(TestSeriesPlots.test_ts_area_lim_xcompatc                 C   óŽ   |  ¡ }| d¡ d¡|_tj ¡ \}}|jjdd|d}| 	¡ \}}| 
¡ d jddd }||d ks7J ‚||d ks?J ‚t|dd	 d S )
NÚGMTÚCETFTr   r   r„   rm   r9   ©ÚcopyÚtz_localizeÚ
tz_convertr   rx   ry   ro   r5   rP   r†   r‡   rˆ   r   ©r6   r   Útz_tsrz   rG   r‰   rŠ   rV   r$   r$   r%   Útest_ts_tz_area_lim_xcompat£   ó   z+TestSeriesPlots.test_ts_tz_area_lim_xcompatc                 C   r”   )
Nr•   r–   FT)rO   rƒ   rG   r   r„   rm   r9   r—   r›   r$   r$   r%   Ú'test_ts_tz_area_lim_xcompat_secondary_y®   rž   z7TestSeriesPlots.test_ts_tz_area_lim_xcompat_secondary_yc                 C   st   t jjdddd\}\}}t|ƒj|dd t|ƒj|dd t|ƒ ||¡s)J ‚t|ƒ ||¡s3J ‚t |¡ d S )Nrn   ra   T)ÚshareyrP   )rG   rU   )	rx   ry   ro   Úabsr5   r   ÚjoinedÚpltÚclose)r6   r   ÚfigÚax1Úax2r$   r$   r%   Útest_area_sharey_dont_overwrite¹   s   z/TestSeriesPlots.test_area_sharey_dont_overwritec                 C   sH   t ddgƒ}tj ¡ \}}|jdd|d}t|dgd tj d¡ d S )Nrn   ra   ÚLABELT)r0   ÚlegendrG   ©ÚlabelsÚall©r   rx   ry   ro   r5   r   r¤   ©r6   Úsrz   rG   r$   r$   r%   Ú
test_labelÄ   s
   zTestSeriesPlots.test_labelc                 C   sF   t ddgƒ}tj ¡ \}}|jd|d}t|dgd tj d¡ d S )Nrn   ra   T©rª   rG   Ú r«   r­   r®   r¯   r$   r$   r%   Útest_label_noneË   s
   zTestSeriesPlots.test_label_nonec                 C   sJ   t ddgdd}tj ¡ \}}|jd|d}t|dgd tj d¡ d S )	Nrn   ra   ÚNAME©r    Tr²   r«   r­   r®   r¯   r$   r$   r%   Útest_label_ser_nameÒ   s
   z#TestSeriesPlots.test_label_ser_namec                 C   sL   t ddgdd}tj ¡ \}}|jdd|d}t|dgd tj d	¡ d S )
Nrn   ra   rµ   r¶   Tr©   ©rª   r0   rG   r«   r­   r®   r¯   r$   r$   r%   Útest_label_ser_name_overrideÙ   s
   z,TestSeriesPlots.test_label_ser_name_overridec                 C   sd   t ddgdd}tj ¡ \}}|jdd|d}| ¡ d u sJ ‚| ¡  t|dgd tj d	¡ d S )
Nrn   ra   rµ   r¶   Fr©   r¸   r«   r­   )	r   rx   ry   ro   r5   Ú
get_legendrª   r   r¤   r¯   r$   r$   r%   Ú&test_label_ser_name_override_dont_drawá   s   z6TestSeriesPlots.test_label_ser_name_override_dont_drawc                 C   s\   t g d¢ƒ}t|jdd d}tjt|d t|jƒ W d   ƒ d S 1 s'w   Y  d S )N)FFTT)Úinclude_boolúno numeric data to plot©Úmatch)r   r   r5   ÚpytestÚraisesÚ	TypeError)r6   r°   Úmsgr$   r$   r%   Útest_booleanë   s   "ÿzTestSeriesPlots.test_booleanr   Nr   é   r   c                 C   sø   ddt jdg}t||d}t|jƒ}|jd  ¡ }t jg d¢t jd}t	 
t  |jd¡|¡ t	 
|jt  g d¢¡¡ t jg d	¢t jd}t|jd
d}t	 
|jd  ¡ |¡ t|jjƒ}t	 
|jd  ¡ |¡ t|jjdd}t	 
|jd  ¡ |¡ d S )Nrn   ra   r}   ©r   r   r|   r   )FFTF)rn   ra   r   r}   TrN   F)r!   Únanr   r   r5   r‹   Ú	get_ydataÚarrayr#   ÚtmÚassert_numpy_array_equalÚdeleteÚdataÚmaskrP   )r6   r   ÚvaluesÚdrG   ÚmaskedÚexpÚexpectedr$   r$   r%   Útest_line_area_nan_seriesô   s   
z)TestSeriesPlots.test_line_area_nan_seriesc                 C   sP   t g d¢g d¢d}d|j_tj ¡ \}}|jd|d}| ¡ }|dks&J ‚d S ©Nr|   ©ÚaÚbÚcrÆ   z	The IndexF©r2   rG   r³   )r   r   r    rx   ry   ro   r5   Ú
get_xlabel)r6   r°   rz   rG   r0   r$   r$   r%   Útest_line_use_index_false  s   z)TestSeriesPlots.test_line_use_index_falsec                 C   sR   t g d¢g d¢d}d|j_tj ¡ \}}|jjd|d}| ¡ }|dks'J ‚d S rÕ   )	r   r   r    rx   ry   ro   r5   rK   rÛ   )r6   r°   rz   rG   r§   Úlabel2r$   r$   r%   Ú"test_line_use_index_false_diff_var  s   z2TestSeriesPlots.test_line_use_index_false_diff_varzWeird rounding problems)ÚreasonÚstrictz
axis, meth)r>   rK   )rA   rW   c                 C   sR   t  g d¢¡}tj ¡ \}}ttddgƒj|ƒd|d}t 	t||ƒ 
¡ |¡ d S )N)çš™™™™™¹?ç      ð?ç      $@g      Y@g     @@g     ˆÃ@éÈ   iô  T)r?   rG   )r!   rÉ   rx   ry   ro   Úgetattrr   r5   rÊ   rË   Úget_ticklocs)r6   ÚaxisÚmethrÓ   rz   rG   r$   r$   r%   Útest_bar_log  s   zTestSeriesPlots.test_bar_logzaxis, kind, res_meth)r>   rK   Úget_ylim)rA   rW   r†   c           
      C   s‚   t  g d¢¡}tj ¡ \}}tg d¢ƒjd||d}d}d}t||ƒƒ }	t 	|	d |¡ t 	|	d |¡ t 
t||ƒ ¡ |¡ d S )	N)gñhãˆµøä>g-Cëâ6?çü©ñÒMbP?ç{®Gáz„?rá   râ   rã   )rá   rì   rë   T)r?   rU   rG   g!Ñ,åNJ?gÐ„–-?À?r   rn   )r!   rÉ   rx   ry   ro   r   r5   rå   rÊ   Úassert_almost_equalrË   ræ   )
r6   rç   rU   Úres_methrÓ   rz   rG   ÚyminÚymaxÚresr$   r$   r%   Útest_bar_log_kind_bar$  s   z%TestSeriesPlots.test_bar_log_kind_barc                 C   sH   t g d¢g d¢d}tj ¡ \}}|jjd|d}t| ¡ g d¢ƒ d S )N©rn   ra   r}   rÅ   ©r×   rØ   rÙ   rÐ   rÆ   FrÚ   )Ú0Ú1Ú2Ú3)r   rx   ry   ro   r5   rK   r   Úget_xticklabels)r6   Údfrz   rG   r$   r$   r%   Útest_bar_ignore_index:  s   z%TestSeriesPlots.test_bar_ignore_indexc                 C   sF   t g d¢ƒ}|jjg d¢d}dd„ |jD ƒ}g d¢}||ks!J ‚d S )Nró   )ÚredÚbluerý   rü   rc   c                 S   ó   g | ]}|  ¡ ‘qS r$   )Úget_facecolor)r*   Úpr$   r$   r%   r,   C  ó    z8TestSeriesPlots.test_bar_user_colors.<locals>.<listcomp>)©râ   ç        r  râ   ©r  r  râ   râ   r  r  )r   r5   rK   rj   )r6   r°   rG   ÚresultrÓ   r$   r$   r%   Útest_bar_user_colors@  s
   z$TestSeriesPlots.test_bar_user_colorsc                 C   s@   t tj d¡ d¡ƒ}tj ¡ \}}|j|d}t	|dd d S )Nra   ©rR   rR   r~   r   r9   ©
r   r!   rg   rh   ri   rx   ry   ro   r5   r   ©r6   rú   rz   rG   r;   r$   r$   r%   Útest_rotation_defaultL  s   z%TestSeriesPlots.test_rotation_defaultc                 C   sB   t tj d¡ d¡ƒ}tj ¡ \}}|jd|d}t	|dd d S )Nra   r  r’   )r8   rG   r9   r  r	  r$   r$   r%   Útest_rotation_30S  s   z TestSeriesPlots.test_rotation_30c                 C   sž   ddl m} tddƒ}|g d¢ }ttj d¡ t|ƒ¡|ƒ}t	j
 ¡ \}}|j|d}| tdd	d	ƒd
|¡}| dd¡ || ¡ d ksGJ ‚t|dd d S )Nr   )ÚDatetimeConverterú1/1/2000z3/1/2000)	r   rn   ra   r}   rR   é	   r   é   é   ra   r~   iÏ  rn   r³   z1/1/1999ú1/1/2001r’   r9   )Ú%pandas.plotting._matplotlib.converterr  r   r   r!   rg   rh   ri   Úlenrx   ry   ro   r5   Úconvertr   Úset_xlimr†   r   )r6   r  ÚrngrS   rz   rG   Úxpr$   r$   r%   Útest_irregular_datetimeY  s   
z'TestSeriesPlots.test_irregular_datetimec              	   C   s¢   t ddtjddddgddddtjddgd}tj ¡ \}}|j|d	}| ¡ \}}| ¡ }|t 	|d
 j
ddd
 ¡ks>J ‚|t |d
 j
ddd
 ¡ksOJ ‚d S )Nr  râ   g      @g      @g      @g      @g       @rÆ   r~   r   Fr„   )r   r!   rÇ   rx   ry   ro   r5   r†   r‡   Únanminrˆ   Únanmax)r6   rS   rz   rG   r‰   rŠ   r‹   r$   r$   r%   Útest_unsorted_index_xlimf  s   þ"&z(TestSeriesPlots.test_unsorted_index_xlimc                 C   sP   t tj d¡ dd¡g d¢dd}t|jjƒ}t|j	|j
ƒ | ¡ dks&J ‚d S )Nra   rn   rR   ©r×   rØ   rÙ   rÐ   ÚeÚYLABELr   )r   r!   rg   rh   Úintegersr   r5   Úpier   Útextsr   Ú
get_ylabel©r6   r'   rG   r$   r$   r%   Útest_pie_seriesr  s   ýzTestSeriesPlots.test_pie_seriesc                 C   sH   t tj d¡ dd¡g d¢dd}t|jjd d}t|j	dgd ƒ d S )	Nra   rn   rR   r  r  r   r«   r³   )
r   r!   rg   rh   r  r   r5   r   r   r!  r#  r$   r$   r%   Útest_pie_series_no_label~  s   ýz(TestSeriesPlots.test_pie_series_no_labelc                 C   sT   t tj d¡ dd¡g d¢dd}g d¢}t|jj|d}g d	¢}t|j	|d
 d S )Nra   rn   rR   r  r  r   )ÚrÚgrØ   ©r   )r&  r'  rØ   r&  r'  re   )
r   r!   rg   rh   r  r   r5   r   r   rj   )r6   r'   Ú
color_argsrG   Úcolor_expectedr$   r$   r%   Ú)test_pie_series_less_colors_than_elements‡  s   ýz9TestSeriesPlots.test_pie_series_less_colors_than_elementsc                 C   sb   t tj d¡ dd¡g d¢dd}g d¢}g d¢}t|jj||d	}t|j	|ƒ t
|j|d
 d S )Nra   rn   rR   r  r  r   )ÚAÚBÚCÚDÚE©r&  r'  rØ   rÙ   Úm)r¬   r   re   )r   r!   rg   rh   r  r   r5   r   r   r!  r   rj   )r6   r'   r¬   r)  rG   r$   r$   r%   Ú!test_pie_series_labels_and_colors“  s   ýz1TestSeriesPlots.test_pie_series_labels_and_colorsc                 C   s˜   t tj d¡ dd¡g d¢dd}g d¢}t|jj|dd	d
}dd„ |j| 	¡  D ƒ}t
t t|j|ƒ¡ƒ}t|j|ƒ |jD ]
}| ¡ d	ksIJ ‚q?d S )Nra   rn   rR   r  r  r   r1  z%.2fé   )r   ÚautopctÚfontsizec                 S   s   g | ]}|d  d›‘qS )éd   z.2fr$   )r*   r°   r$   r$   r%   r,   ª  ó    zHTestSeriesPlots.test_pie_series_autopct_and_fontsize.<locals>.<listcomp>)r   r!   rg   rh   r  r   r5   r   rÏ   ÚsumÚlistr   Úfrom_iterableÚzipr   r   r!  Úget_fontsize)r6   r'   r)  rG   ÚpctsÚexpected_textsÚtr$   r$   r%   Ú$test_pie_series_autopct_and_fontsize   s   ýÿ
ÿz4TestSeriesPlots.test_pie_series_autopct_and_fontsizec                 C   sR   t g d¢g d¢d}tjtdd |j ¡  W d   ƒ d S 1 s"w   Y  d S )N)rn   ra   r   rÅ   rm   r  rÆ   z&pie plot doesn't allow negative valuesr¾   )r   rÀ   rÁ   Ú
ValueErrorr5   r   r_   r$   r$   r%   Útest_pie_series_negative_raises°  s   "ÿz/TestSeriesPlots.test_pie_series_negative_raisesc                 C   s<   t ddtjdgg d¢dd}t|jjƒ}t|jg d¢ƒ d S )Nrn   ra   rÅ   rô   r  r   )r×   rØ   r³   rÐ   )r   r!   rÇ   r   r5   r   r   r!  r#  r$   r$   r%   Útest_pie_series_nan¶  s   z#TestSeriesPlots.test_pie_series_nanc                 C   sX   t dtjddgƒ}tj ¡ \}}|jjd|d}g d¢}dd„ |jD ƒ}||ks*J ‚d S )Nrn   Tr²   )rõ   r³   r÷   rø   c                 S   rþ   r$   )Úget_text)r*   Úxr$   r$   r%   r,   Á  r  z0TestSeriesPlots.test_pie_nan.<locals>.<listcomp>)	r   r!   rÇ   rx   ry   ro   r5   r   r!  )r6   r°   rz   rG   rÓ   r  r$   r$   r%   Útest_pie_nan¼  s   zTestSeriesPlots.test_pie_nanc                 C   s˜   t tj d¡ d¡tdƒd}ttj d¡ d¡dd}tj 	¡ \}}|j
|d}|j
d	d	|d
 t|g d¢d | ¡  ¡ sAJ ‚|j ¡  ¡ sJJ ‚d S )Nra   ©r’   r}   Úabc©Úcolumnsr’   rF  r¶   r~   T©rª   rƒ   rG   ©r×   rØ   rÙ   ú	x (right)r«   ©r   r!   rg   rh   ri   r:  r   rx   ry   ro   r5   r   Ú	get_yaxisÚget_visibleÚright_ax©r6   rú   r°   rz   rG   r$   r$   r%   Útest_df_series_secondary_legendÄ  s   ÿz/TestSeriesPlots.test_df_series_secondary_legendc                 C   s˜   t tj d¡ d¡tdƒd}ttj d¡ d¡dd}tj 	¡ \}}|j
|d}|j
|d	d	d
 t|g d¢d | ¡  ¡ sAJ ‚|j ¡  ¡ sJJ ‚d S )Nra   rH  rI  rJ  r’   rF  r¶   r~   T©rG   rª   rƒ   rM  r«   rO  rS  r$   r$   r%   Ú)test_df_series_secondary_legend_with_axesÕ  s   ÿz9TestSeriesPlots.test_df_series_secondary_legend_with_axesc                 C   s    t tj d¡ d¡tdƒd}ttj d¡ d¡dd}tj 	¡ \}}|j
d|d	}|j
dd|d
 g d¢}t|j|d |j ¡  ¡ rFJ ‚| ¡  ¡ sNJ ‚d S )Nra   rH  rI  rJ  r’   rF  r¶   T©rƒ   rG   rL  ©z	a (right)z	b (right)z	c (right)rN  r«   ©r   r!   rg   rh   ri   r:  r   rx   ry   ro   r5   r   Úleft_axrP  rQ  ©r6   rú   r°   rz   rG   rÓ   r$   r$   r%   Ú$test_df_series_secondary_legend_bothå  s   ÿz4TestSeriesPlots.test_df_series_secondary_legend_bothc                 C   sž   t tj d¡ d¡tdƒd}ttj d¡ d¡dd}tj 	¡ \}}|j
d|d	}|j
|ddd
 g d¢}t|j|ƒ |j ¡  ¡ rEJ ‚| ¡  ¡ sMJ ‚d S )Nra   rH  rI  rJ  r’   rF  r¶   TrW  rU  rX  rY  r[  r$   r$   r%   Ú.test_df_series_secondary_legend_both_with_axisö  s   ÿz>TestSeriesPlots.test_df_series_secondary_legend_both_with_axisc                 C   s    t tj d¡ d¡tdƒd}ttj d¡ d¡dd}tj 	¡ \}}|j
dd	|d
}|j
|ddd g d¢}t|j|ƒ |j ¡  ¡ rFJ ‚| ¡  ¡ sNJ ‚d S )Nra   rH  rI  rJ  r’   rF  r¶   TF)rƒ   Ú
mark_rightrG   rU  rM  rY  r[  r$   r$   r%   Ú0test_df_series_secondary_legend_both_with_axis_2  s   ÿz@TestSeriesPlots.test_df_series_secondary_legend_both_with_axis_2zinput_logy, expected_scale)Tr?   )ÚsymÚsymlogc                 C   sj   t tj d¡ d¡ƒ}t tj d¡ d¡ƒ}|j|d}|jd|d}| ¡ |ks+J ‚| ¡ |ks3J ‚d S )Nra   r7  )r=   T)rƒ   r=   )r   r!   rg   rh   ri   r5   Ú
get_yscale)r6   Ú
input_logyÚexpected_scaleÚs1Ús2r¦   r§   r$   r$   r%   Útest_secondary_logy  s   z#TestSeriesPlots.test_secondary_logyc                 C   sl   t tj d¡ d¡ƒ}tj ¡ \}}d}tj	t
|d |jdd|d W d   ƒ d S 1 s/w   Y  d S )Nra   zCannot pass 'style' string with a color symbol and 'color' keyword argument. Please use one or the other or pass 'style' without a color symbolr¾   zk--Úk)rC   rd   rG   )r   r!   rg   rh   ri   rx   ry   ro   rÀ   rÁ   rB  r5   )r6   rF  rz   rG   rÃ   r$   r$   r%   Ú)test_plot_fails_with_dupe_color_and_style'  s   ÿ"ÿz9TestSeriesPlots.test_plot_fails_with_dupe_color_and_stylezbw_method, indÚscottr&   ç      à?éœÿÿÿr7  c                 C   s    t  d¡ t|jj||d d S )NrY   ©Ú	bw_methodÚind)rÀ   Úimportorskipr   r5   rX   )r6   r   rn  ro  r$   r$   r%   Útest_kde_kwargs2  s   

zTestSeriesPlots.test_kde_kwargsc                 C   s.   t  d¡ t ddd¡}t|jjd|d d S )NrY   rl  r7  r&   rk  rm  )rÀ   rp  r!   Úlinspacer   r5   Údensity)r6   r   Úsample_pointsr$   r$   r%   Útest_density_kwargs?  s   
z#TestSeriesPlots.test_density_kwargsc                 C   sZ   t  d¡ tj ¡ \}}t ddd¡}|jjdd||d}t	|dd	 t
|j ¡ d
ƒ d S )NrY   rl  r7  r&   Trk  )r=   rn  ro  rG   r?   ©r>   ÚDensity)rÀ   rp  rx   ry   ro   r!   rr  r5   rX   r   r   r>   Ú	get_label)r6   r   rz   rG   rt  r$   r$   r%   Útest_kde_kwargs_check_axesD  s   
z*TestSeriesPlots.test_kde_kwargs_check_axesc                 C   sZ   t  d¡ ttj d¡jddƒ}tj|d< t|j	j
ƒ}tt |jd  ¡ ¡ ƒs+J ‚d S )NrY   ra   é2   )Úsizer   )rÀ   rp  r   r!   rg   rh   ÚuniformrÇ   r   r5   rX   ÚanyÚisnanr‹   Ú	get_xdata)r6   r°   r;   r$   r$   r%   Útest_kde_missing_valsL  s
   

"z%TestSeriesPlots.test_kde_missing_valszApi changed in 3.6.0)rß   c                 C   s`   t j ¡ \}}|jjd|d}t|dd | ¡ }t||jgƒ | 	¡ }t|dgt
|ƒ ƒ d S )NT)r=   rG   r?   rv  r³   )rx   ry   ro   r5   r\   r   rù   r   r    Úget_yticklabelsr  )r6   r   rz   rG   ÚxlabelsÚylabelsr$   r$   r%   Útest_boxplot_seriesU  s   z#TestSeriesPlots.test_boxplot_seriesc                 C   s@   t  d¡ ttdƒƒ}tj ¡ \}}|j||d tj ¡  d S )NrY   r}   ©rU   rG   )	rÀ   rp  r   r-   rx   ry   ro   r5   r¤   ©r6   rU   r°   rz   rG   r$   r$   r%   Útest_kind_kwarg_  ó
   
zTestSeriesPlots.test_kind_kwargc                 C   s@   t  d¡ ttdƒƒ}tj ¡ \}}t|j|ƒƒ  tj 	¡  d S )NrY   r}   )
rÀ   rp  r   r-   rx   ry   ro   rå   r5   r¤   r†  r$   r$   r%   Útest_kind_attrj  rˆ  zTestSeriesPlots.test_kind_attrc                 C   s`   t tdƒƒ}tj ¡ \}}d}tjt|d |j||d W d   ƒ d S 1 s)w   Y  d S )NÚabcdr½   r¾   r…  )	r   r:  rx   ry   ro   rÀ   rÁ   rÂ   r5   ©r6   rU   r°   rz   rG   rÃ   r$   r$   r%   Útest_invalid_plot_datau  ó   "ÿz&TestSeriesPlots.test_invalid_plot_datac                 C   s,   t  d¡ ttdƒtd}t|j|d d S )NrY   r   r   r]   )rÀ   rp  r   r-   Úobjectr   r5   )r6   rU   r°   r$   r$   r%   Útest_valid_object_plot}  s   
z&TestSeriesPlots.test_valid_object_plotc                 C   s`   t g d¢ƒ}tj ¡ \}}d}tjt|d |j||d W d   ƒ d S 1 s)w   Y  d S )N)r×   rØ   râ   ra   r½   r¾   r…  )r   rx   ry   ro   rÀ   rÁ   rÂ   r5   r‹  r$   r$   r%   Ú test_partially_invalid_plot_dataƒ  r  z0TestSeriesPlots.test_partially_invalid_plot_datac                 C   sL   t ddgƒ}tjtdd |jdd W d   ƒ d S 1 sw   Y  d S )Nrn   ra   z%invalid_kind is not a valid plot kindr¾   Úinvalid_kindr]   )r   rÀ   rÁ   rB  r5   ©r6   r°   r$   r$   r%   Útest_invalid_kind‹  s   "ÿz!TestSeriesPlots.test_invalid_kindc                 C   sP   t ddd}t ddd}| |¡}tj d¡ |j¡}t||d}t|j	ƒ d S )Nz1/1/2009rÅ   r   z1/2/2009ra   rÆ   )
r   Úappendr!   rg   rh   ri   r{  r   r   r5   )r6   Údr1Údr2r   rÏ   r°   r$   r$   r%   Útest_dup_datetime_index_plot  s   
z,TestSeriesPlots.test_dup_datetime_index_plotc                 C   sÞ   t t d¡dd}tj d¡ d¡}|j||d}t dd„ |jd	  ¡ D ƒ¡}|j	t 
d
d	g¡ | ¡  d
d	¡ }t ||¡ dt|ƒ› d}tjt|d |jtj d¡ d¡d W d   ƒ d S 1 shw   Y  d S )Nr   rF  r¶   ra   )ra   r   )ÚyerrÚxerrc                 S   s   g | ]}|j d d …df ‘qS )Nrn   )Úverticesr)   r$   r$   r%   r,   Ÿ  s    z>TestSeriesPlots.test_errorbar_asymmetrical.<locals>.<listcomp>rn   rm   z?Asymmetrical error bars should be provided with the shape \(2, z\)r¾   )ra   r  ©r˜  )r   r!   r"   rg   rh   r5   ÚvstackÚcollectionsÚ	get_pathsÚTrÉ   Úto_numpyÚreshaperÊ   rË   r  rÀ   rÁ   rB  )r6   r°   ÚerrrG   r  rÓ   rÃ   r$   r$   r%   Útest_errorbar_asymmetrical˜  s   $ÿÿ"ÿz*TestSeriesPlots.test_errorbar_asymmetricalr˜  ra   r   )r   ra   rF  ÚyrJ  c                 C   s4   t t d¡dd}t|j||d}t|ddd d S )Nr   rF  r¶   )r˜  rU   r   rn   ©r™  r˜  )r   r!   r"   r   r5   r   )r6   rU   r˜  r°   rG   r$   r$   r%   Útest_errorbar_plotª  s   z"TestSeriesPlots.test_errorbar_plotc                 C   sJ   t t d¡dd}t tj d¡ d¡¡}t|j|d}t	|ddd d S )	Nr   rF  r¶   ra   )r™  rn   r   r¥  )
r   r!   r"   r¡   rg   rh   ri   r   r5   r   )r6   r°   Ús_errrG   r$   r$   r%   Útest_errorbar_plot_yerr_0½  s   z)TestSeriesPlots.test_errorbar_plot_yerr_0r  )r  ra   c                 C   sH   t dddd}tt d¡|dd}||_t|j|d}t|d	d
d d S )Nr  r  ÚME)Úfreqr  rF  r   r›  r   rn   r¥  )r   r   r!   r"   r   r   r5   r   )r6   r˜  Úixr   rG   r$   r$   r%   Útest_errorbar_plot_tsÄ  s
   z%TestSeriesPlots.test_errorbar_plot_tsc                 C   sT   t t d¡dd}t t¡ |jt d¡d W d   ƒ d S 1 s#w   Y  d S )Nr   rF  r¶   r  r›  )r   r!   r"   rÊ   Úexternal_error_raisedrB  r5   r’  r$   r$   r%   Ú%test_errorbar_plot_invalid_yerr_shapeØ  s   "ÿz5TestSeriesPlots.test_errorbar_plot_invalid_yerr_shapec                 C   sX   t t d¡dd}dgd }t t¡ |j|d W d   ƒ d S 1 s%w   Y  d S )Nr   rF  r¶   Úzzzr›  )r   r!   r"   rÊ   r­  rÂ   r5   )r6   r°   r§  r$   r$   r%   Útest_errorbar_plot_invalid_yerrß  s
   
"ÿz/TestSeriesPlots.test_errorbar_plot_invalid_yerrc                 C   s   t |jdd d S )NT©Útabler4   r_   r$   r$   r%   Útest_table_trueæ  ó   zTestSeriesPlots.test_table_truec                 C   s   t |j|d d S )Nr±  r4   r_   r$   r$   r%   Útest_table_selfê  r´  zTestSeriesPlots.test_table_selfc                 C   s,   t  d¡ ttg d¢ƒtjjtjj ƒ d S )NrY   r|   )rÀ   rp  r   r   r
   ÚPlotAccessorÚ_series_kindsÚ_common_kinds)r6   r$   r$   r%   Útest_series_grid_settingsî  s
   

þz)TestSeriesPlots.test_series_grid_settingsrÙ   )r&  rü   Úgreenz#FF0000c                 C   s„   ddl m} |d|d}||gksJ ‚|d|gd}||gks!J ‚|d|d}||gd ks0J ‚|d|gd}||gd ks@J ‚d S )Nr   ©Úget_standard_colorsrn   rc   r}   )Ú!pandas.plotting._matplotlib.styler¼  )r6   rÙ   r¼  r  r$   r$   r%   Útest_standard_colors÷  s   z$TestSeriesPlots.test_standard_colorsc                 C   s  ddl m} ddlm} |jD ]<}|d|d}||gksJ ‚|d|gd}||gks,J ‚|d|d}||gd ks;J ‚|d|gd}||gd ksKJ ‚q|jjD ]<}|d|d}||gks_J ‚|d|gd}||gksmJ ‚|d|d}||gd ks|J ‚|d|gd}||gd ksŒJ ‚qPd S )Nr   r(  r»  rn   )Ú
num_colorsrd   r}   )r   r   r½  r¼  ÚcnamesÚColorConverter)r6   r   r¼  rÙ   r  r$   r$   r%   Útest_standard_colors_all  s*   
õz(TestSeriesPlots.test_standard_colors_allc                 C   s@   t j ¡ \}}tt d¡d ƒjd|d}t| ¡ dgd d S )Nr  rn   rº  ©rd   rG   ©Ú
linecolors)	rx   ry   ro   r   r!   r"   r5   r   r‡   ©r6   rz   rG   r$   r$   r%   Útest_series_plot_color_kwargs(  s   z-TestSeriesPlots.test_series_plot_color_kwargsc                 C   sL   t j ¡ \}}tt d¡d tddddjd|d}t| 	¡ dgd d S )	Nr  rn   r  r   rÆ   rº  rÃ  rÄ  )
rx   ry   ro   r   r!   r"   r   r5   r   r‡   rÆ  r$   r$   r%   Ú"test_time_series_plot_color_kwargs.  s
   ÿz2TestSeriesPlots.test_time_series_plot_color_kwargsc           	      C   sz   dd l }t|jƒ}tddd}tt dd¡|d}d}|j ¡ \}}t	|ƒD ]}|j
|d	}q&t| ¡ |d |… d
 d S )Nr   r  r  r   rn   é   rÆ   r}   r~   rÄ  )r   r   r   r   r   r!   r"   ry   ro   r-   r5   r   r‡   )	r6   rx   Ú
def_colorsr   r°   Úncolorsrz   rG   r+   r$   r$   r%   Ú-test_time_series_plot_color_with_empty_kwargs6  s   
z=TestSeriesPlots.test_time_series_plot_color_with_empty_kwargsc                 C   s`   t t d¡dd„ tdƒD ƒd}tj ¡ \}}|jg d¢|d}dd„ dD ƒ}t| 	¡ |ƒ d S )Nr   c                 S   ó   g | ]}d |d›‘qS ©ÚPÚ02dr$   r)   r$   r$   r%   r,   F  r8  z4TestSeriesPlots.test_xticklabels.<locals>.<listcomp>rÆ   )r   r}   rR   r  )ÚxticksrG   c                 S   rÍ  rÎ  r$   r)   r$   r$   r%   r,   I  r8  )
r   r!   r"   r-   rx   ry   ro   r5   r   rù   )r6   r°   rz   rG   rÒ   r$   r$   r%   Útest_xticklabelsD  s
    z TestSeriesPlots.test_xticklabelsc                 C   s^   t tdƒdd„ tdƒD ƒd}|jjtdddƒd}t ttdddƒƒ¡}t || 	¡ ¡ d S )	Nr   c                 S   rÍ  rÎ  r$   r)   r$   r$   r%   r,   N  r8  z6TestSeriesPlots.test_xtick_barPlot.<locals>.<listcomp>rÆ   r   r  ra   )rÑ  )
r   r-   r5   rK   r!   rÉ   r:  rÊ   rË   Ú
get_xticks)r6   r°   rG   rÒ   r$   r$   r%   Útest_xtick_barPlotL  s   z"TestSeriesPlots.test_xtick_barPlotc                 C   s@   ddl m} ttddƒtjdd|dgdd	d
}t|jƒ d S )Nr   )ÚCustomBusinessDayr7  éy   z
2014-05-01z
2014-06-01z
2014-05-26)Úholidays)ÚstartÚendrª  rÆ   )Úpandas.tseries.offsetsrÕ  r   r-   ÚpdÚbdate_ranger   r5   )r6   rÕ  r°   r$   r$   r%   Útest_custom_business_day_freqS  s   
ýþ	z-TestSeriesPlots.test_custom_business_day_freqziGH#24426, see also github.com/pandas-dev/pandas/commit/ef1bd69fa42bbed5d09dd17f08c44fc8bfc2b685#r61470674c                 C   sj   t g d¢ƒ}tj ¡ \}}|j|d}|j ¡ }|jddgdd tj ¡ \}}|j ¡ }t 	||¡ d S )Nró   r~   r   rn   T)Úinplace)
r   rx   ry   ro   r5   rA   ræ   ÚdroprÊ   rË   )r6   rS   rz   rG   ÚbeforeÚafterr$   r$   r%   Ú%test_plot_accessor_updates_on_inplaceb  s   

z5TestSeriesPlots.test_plot_accessor_updates_on_inplacerP   c                 C   sT   t ddgƒ}tj ¡ \}}|j||d | ¡ }|d dk s J ‚|d dks(J ‚d S )Nra   r}   r…  r   rn   )r   rx   ry   ro   r5   r†   )r6   rU   r°   rz   rG   Úxlimsr$   r$   r%   Útest_plot_xlim_for_seriesr  s   z)TestSeriesPlots.test_plot_xlim_for_seriesc                 C   sh   t td}|js
J ‚| ¡ }t| ¡ ƒdksJ ‚| ¡ d }t| ¡ ƒdks(J ‚t| ¡ ƒdks2J ‚d S )Nr   rn   r   )r   ÚintÚemptyr5   r  r‡   r  rÈ   )r6   rú   rG   rV   r$   r$   r%   Útest_plot_no_rows~  s   

z!TestSeriesPlots.test_plot_no_rowsc                 C   sH   t g d¢ƒ}tjtdd | ¡  W d   ƒ d S 1 sw   Y  d S )NrÖ   r½   r¾   )r   rÀ   rÁ   rÂ   r5   )r6   rú   r$   r$   r%   Útest_plot_no_numeric_dataˆ  s   
"ÿz)TestSeriesPlots.test_plot_no_numeric_datazdata, indexró   )r}   ra   rn   r   )r   rz  r&   r’   )iv  i€  i¼  iž  c                 C   sL   t ||d}|jdd}| ¡ }dd„ t|jdd„ dD ƒ}||ks$J ‚d S )	N)rÍ   r   rK   r]   c                 S   s   g | ]}|  ¡ j‘qS r$   )Úget_bboxrð   )r*   Úpatchr$   r$   r%   r,   š  s    ÿÿz3TestSeriesPlots.test_plot_order.<locals>.<listcomp>c                 S   s
   |   ¡ jS r3   )ré  rŠ   )rê  r$   r$   r%   Ú<lambda>œ  s   
 z1TestSeriesPlots.test_plot_order.<locals>.<lambda>)r€   )r   r5   ÚtolistÚsortedrj   )r6   rÍ   r   rS   rG   rÓ   r  r$   r$   r%   Útest_plot_order  s   	þzTestSeriesPlots.test_plot_orderc                 C   s4   t ddgƒ}|jddd}|jd  ¡ dksJ ‚d S )Nrn   ra   r°   ÚC3)rC   rd   r   )r   r5   r‹   Ú	get_color)r6   r°   rG   r$   r$   r%   Útest_style_single_ok   s   z$TestSeriesPlots.test_style_single_okz index_name, old_label, new_label))Nr³   Únew)Úoldró  rò  )Nr³   r³   )rV   rP   rK   rW   r[   c                 C   sÈ   t g d¢ƒ}||j_|j|d}|dkr%| ¡ dksJ ‚| ¡ |ks$J ‚n%|dkr:| ¡ dks1J ‚| ¡ dks9J ‚n| ¡ dksBJ ‚| ¡ |ksJJ ‚|j|||d}| ¡ |ksZJ ‚| ¡ |ksbJ ‚d S )Nró   r]   rW   r³   r[   Ú	Frequency)rU   ÚylabelÚxlabel)r   r   r    r5   rÛ   r"  )r6   rU   Ú
index_nameÚ	old_labelÚ	new_labelrS   rG   r$   r$   r%   Útest_xlabel_ylabel_series¥  s   z)TestSeriesPlots.test_xlabel_ylabel_seriesr   r/  )rØ  r   rª  rn   )Údaysc                 C   s0   d}t ddg|dj|d}| ¡ dksJ ‚d S )N)r}   rn   rn   ra   rÆ   )Úxlim)r   r5   r†   )r6   r   rã  rG   r$   r$   r%   Útest_timedelta_indexÀ  s   	z$TestSeriesPlots.test_timedelta_indexc                 C   s@   t g d¢ƒ}|jd d}ttjjƒd d… }t| ¡ |d d S )Nr|   rc   rn   rÄ  )r   r5   r   rx   ry   r   r   r‡   )r6   r'   rG   rÓ   r$   r$   r%   Útest_series_none_colorÍ  s   z&TestSeriesPlots.test_series_none_colorc                 C   s8   t  d¡ | ¡ }W d   ƒ d S 1 sw   Y  d S )NF)rÊ   Úassert_produces_warningr5   )r6   r   rz   r$   r$   r%   Útest_plot_no_warningÔ  s   
"ÿz$TestSeriesPlots.test_plot_no_warning)xÚ__name__Ú
__module__Ú__qualname__rÀ   ÚmarkÚslowÚparametrizer7   r<   rH   rM   rQ   rT   ÚparamÚtdÚ
skip_if_nor^   r`   rk   rr   r{   r‚   rŒ   r   r“   r   rŸ   r¨   r±   r´   r·   r¹   r»   rÄ   r   rÔ   rÜ   rÞ   Úxfailr   r   ré   rò   rû   r  r
  r  r  r  r$  r%  r+  r3  rA  rC  rD  rG  rT  rV  r\  r]  r_  rg  ri  r!   Úint_rr  rq  ru  ry  r€  r„  r
   r¶  r¸  r·  r‡  r‰  rŒ  r  r  r“  r—  r£  r   r¡   rg   rh   ri   r:  r   r¦  r¨  r¬  r®  r°  r³  rµ  r¹  r¾  rÂ  rÇ  rÈ  rÌ  rÒ  rÔ  rÝ  râ  rä  rç  rè  rî  rñ  rú  rÛ  Útimedelta_rangeÚ	Timedeltarý  rþ  r   r$   r$   r$   r%   r.   7   sœ   
ýþ

úþ


	

	
ý
ýþ	ÿ
üþ
		
	þ
þ



þüþ
þþþ
	





!ÿ


þþ
þþþ
r.   ),Ú__doc__r   Ú	itertoolsr   Únumpyr!   rÀ   Úpandas.compatr   Úpandas.compat.numpyr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr  ÚpandasrÛ  r   r   r   r	   r
   Úpandas._testingÚ_testingrÊ   Úpandas.tests.plotting.commonr   r   r   r   r   r   r   r   r   r   r   rp  rx   r£   Úfixturer   r'   r.   r$   r$   r$   r%   Ú<module>   s&    4



