403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/site-packages/pandas/tests/plotting/frame/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/site-packages/pandas/tests/plotting/frame/__pycache__/test_frame.cpython-312.pyc
�

0	�gi���d�dZddlmZmZddlZddlZddlZddlZddlZddlZ	ddl
Z
ddlmcm
ZddlmZddlZddlmZmZmZmZmZmZmZmZmZddlmZddlm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,ddl-m.Z.ddl/m0Z0e
jbd	�Z2e
jbd
�Z3Gd�d�Z4d
�Z5y)z Test cases for DataFrame.plot �)�date�datetimeN)�is_list_like)	�	DataFrame�Index�
MultiIndex�PeriodIndex�Series�bdate_range�
date_range�option_context�plotting)
�_check_ax_scales�_check_axes_shape�_check_box_return_type�
_check_colors�_check_data�_check_grid_settings�_check_has_errorbars�_check_legend_labels�_check_plot_works�_check_text_labels�_check_ticks_props�_check_visible�
get_y_axis)�Version)�pprint_thing�
matplotlibzmatplotlib.pyplotc�&�eZdZejj
d��Zejj
d��Zejj
d��Zejj
d��Z	ejjd��ejj
d���Zejj
d��Zejj
ejjd	d
gd�idgd�id
d
d�dddd�g�d���Zejj
d��Zejj
d��Zejj
d��Zejj
d��Zejj
ejjdddg�d���Zejj
d��Zejjded�ddgddgddgd dgd dgdd gdd gdd gdd gdd!gdd!gdd"gdd"gg�d#��Zejj
ejjd$gd%��d&���Zejj
ejjd'd(igd)igd*igd+d,d,igd-d.d,d/�gd0d.d,d/�gg�d1���Zd2�Zd3�Zd4�Zd5�Zd6�Zd7�Zejjd8d9d:g�d;��Zejjd<gd=��d>��Z d?�Z!d@�Z"dA�Z#dB�Z$dC�Z%dD�Z&ejjdEe'jPe'jRg�dF��Z*ejjdGe+d,gdH�igdI��J�e+d,dKdLe'jXdMdNdOdPgidLdKdMdQe'jXdMdQg�J�g�dR��Z-dS�Z.dT�Z/dU�Z0ejjdVd(dWg�ejjdXdYdZg�d[���Z1ejjdVd(dWg�d\��Z2d]�Z3ejjdVd(dWg�d^��Z4ejjd_e5d`�e6dad!d`�b�g�dc��Z7ejjd_e5d`�e6dad!d`�b�g�dd��Z8ejjd_e5d`�e6dad!d`�b�g�ejjd	idedfig�dg���Z9ejjd	idhdig�di��Z:dj�Z;ejjdfdk�l�ejjdeddfg�dm���Z<dn�Z=ejjdeddfg�do��Z>dp�Z?ejjdqdrdsg�ejjdeddfg�dt���Z@ejjdqdrdsg�du��ZAdv�ZBdw�ZCdx�ZDdy�ZEdz�ZFejjd_eGeHj�g�d{��ZJejjd|d/d}g�d~��ZKd�ZLd��ZMd��ZNejjd|d�d�g�d���ZOejjd�dfej�deQj�d�����g�ejjd|d�d�g�ejjd�gd��gd��g�d�����ZSejjd�ddfg�ejjd�gd��gd��f�d����ZTejjd|gd���d���ZUejjd�d�d�g�d���ZVd��ZWd��ZXd��ZYd��ZZd��Z[ejj
ejjd	id�dfiddd��dedig�d����Z\ejj
d���Z]ejj
d���Z^ejj
d���Z_d��Z`d��Zad��Zbd��Zcejj�d��d���Zed��Zfd��Zgejjd�gd���d���Zhd��Zid��Zjd��Zkd��Zld��Zmd��Znd��Zod��Zpd��Zqd��Zrejjd�d�e'j�d����zd�e'j�d����zg�d���Zt				�dVd��Zuejjd�e'j�e'j�gd���e'j�gd����e'j�e'j�gd���e'j�gd¢��e'j�e'j�gd���e'j�gdâ��dĜe'j�e'j�e'jXdYd�d�d`d�g�e'j�gdȢ��e'j�e'j�dYe'jXd�d�d`d�g�e'j�gdɢ��e'j�e'j�dYd�d�e'jXd`d�g�e'j�gdʢ��dĜg�d˄�Zxd̄Zyejjd�d�d�d�d��d�d�d��gdѢd�d�gg�d҄�ZzdӄZ{ejjd�gdբ�dք�Z|dׄZ}ejjdVe~j��j�d؄�Z�ejjdVd-d0g�dل�Z�ejjdVe~j��j�dڄ�Z�ejjdVee~j��j�dWgz�dۄ�Z�d܄Z�ejjd�dd gdd�fdgdd gd�d�gfg�d��Z�d�Z�ejjd�d�dgdfg�d��Z�ejjd�ddgd�gd�gfddd gd�d�gd�d�gfd�dYd�gd�d�gd�d�gfg�d��Z�ejjd�d�dYddgfdYd�d�dYgfg�d��Z�d�Z�d�Z�ejjd�de'�jg�d��Z�ejjd�id�fd�d�id�fd�d�id�fg�d���Z�d��Z�ejjd,d�d�g�d���Z�d��Z��d�Z��d�Z�ejj
ejjd	�ddidd�d��ddig��d���Z�ejj
�d��Z�ejj
�d��Z�ejj
ejj�d�d�d	g��d
���Z�ejj
�d��Z�ejj
�d��Z�ejj
ejjdVg�d
��ejj�de�e'j��d��dzd.���e+e'j��d��dze'j��d��dzd/��g��d����Z�ejj
ejjdVg�d
��ejj�de+e'j��d��dze'j��d��dzd/��e+e'j��d��dze'j��d��dzd/��fe�e'j��d��dzd.���e�e'j��d��dzd.���f�dg��d����Z�ejj
ejjdVg�d
���d���Z�ejj�de�����d��Z��d�Z�ejj
ejjdVd(d)g��d���Z�ejj
�d��Z�ejj
ejj�d�d�e+g��d ���Z�ejjdVg�d
���d!��Z��d"�Z��d#�Z��d$�Z��d%�Z��d&�Z��d'�Z��d(�Z��d)�Z��d*�Z�ejjdVe~j��j^��d+��Z��d,�Z��d-�Z��d.�Z��d/�Z��d0�Z��d1�Z��d2�Z�ejj�d3g�d4���d5��Z��d6�Z��d7�Z�ejjdVd(dWg��d8��Z��d9�Z��d:�Z��d;�Z�ejjdV�d<��d=��Z��d>�Z��d?�Z��d@�Z�ejj�dAg�dB���dC��ZÐdD�ZĐdE�Z�ejjdV�dF��dG��Z�ejj�dH�dI�dJ�dK�dLd�dMdYd�gfg�ejjdVg�dN���dO���Z�ejj�dPg�dQ��ejjdVd-d0g��dR���Z�ejjdh�dS��dT��Z�ejj
�dU��Z�y(W�TestDataFramePlotsc	���ttjjd�j	d�tt
d�t��tddd���	�}t|jd
��y)N���
��ABCD��dtype�
2000-01-01r$�B��periods�freq��columns�indexF)�grid)r�np�random�default_rng�standard_normalr�list�objectrr�plot��self�dfs  �HC:\Python312\Lib\site-packages\pandas/tests/plotting/frame/test_frame.py�	test_plotzTestDataFramePlots.test_plot8sS��
��I�I�!�!�!�$�4�4�W�=��$�v�,�f�5��\�2�C�@�
��
	�"�'�'��.�c	��ttjjd�j	d�tt
d�t��tddd���	�}t|jd
d
��}t|dd
��y)Nr"r#r&r'r)r$r*r+r.T��default_axes�subplotsr%�r%���axes_num�layout�rr2r3r4r5rr6r7rrr8r�r:r;�axess   r<�test_plot_subplotsz%TestDataFramePlots.test_plot_subplotsAsc��
��I�I�!�!�!�$�4�4�W�=��$�v�,�f�5��\�2�C�@�
��!����t�d�K���$��6�:r>c	��ttjjd�j	d�tt
d�t��tddd���	�}t|jd
d
d��}t|d
d��y)Nr"r#r&r'r)r$r*r+r.T)���r")rArBrGr%�r"r"rErHrIs   r<�"test_plot_subplots_negative_layoutz5TestDataFramePlots.test_plot_subplots_negative_layoutLsm��
��I�I�!�!�!�$�4�4�W�=��$�v�,�f�5��\�2�C�@�
��
!��G�G����	
��	�$��6�:r>c	�(�ttjjd�j	d�tt
d�t��tddd���	�}t|jd
d
d��}t|d
��t|dd��y)Nr"r#r&r'r)r$r*r+r.TF)rArB�	use_indexr��xrotr%rCrE)
rr2r3r4r5rr6r7rrr8rrrIs   r<�test_plot_subplots_use_indexz/TestDataFramePlots.test_plot_subplots_use_index[sw��
��I�I�!�!�!�$�4�4�W�=��$�v�,�f�5��\�2�C�@�
��
!��G�G����	
��	�4�a�(��$��6�:r>zApi changed in 3.6.0)�reasonc���tddgddgd��}d}tjt|��5|jjd�	�ddd�y#1swYyxYw)
NrDr"�r%��x�yz''Line2D' object has no property 'blarg'��matchT)�blarg)r�pytest�raises�AttributeErrorr8�line�r:r;�msgs   r<�test_plot_invalid_argz(TestDataFramePlots.test_plot_invalid_argksU���a��V�1�a�&�1�
2��7��
�]�]�>��
5�	%��G�G�L�L�t�L�$�	%�	%�	%�s�A�Ac���ttjjd�jd�t	t
jdd���}t|jd��}t|d��y)	Nr"�r$rWr$�r0T�rQrrR)
rr2r3r4r6�string�
ascii_lettersrr8r�r:r;�axs   r<�test_plot_tick_propsz'TestDataFramePlots.test_plot_tick_propsssZ��
��I�I�!�!�!�$�+�+�G�4��v�+�+�C�R�0�1�
��
�r�w�w�$�
7���2�A�&r>�kwargs�yticks)rD�r$�xticks)i�����d)�ylim�xlimT�blah)rArB�titlec���ttjjd�jd�t	t
jdd���}t|jfi|��y)Nr"rfr$rg�	rr2r3r4r6rirjrr8�r:rnr;s   r<�test_plot_other_argsz'TestDataFramePlots.test_plot_other_args}sS����I�I�!�!�!�$�+�+�G�4��v�+�+�C�R�0�1�
��	�"�'�'�,�V�,r>c��ttjjd�jd�t	t
jdd���}|jdd��}t|dd	�
�|ddD]u}t|j�t|j�d��t|jd�
�d��t|jj�gd���w|dfD]a}t|j�t|j��t|jj�g�t|d���cy)Nr"rfr$rgTru)rBrvrW�rWrDrEF��visible��minorrrR)rr2r3r4r6rirjr8rr�xaxis�get_xticklabels�	get_labelr)r:r;rJrls    r<�test_plot_visible_axz'TestDataFramePlots.test_plot_visible_ax�s��
��I�I�!�!�!�$�+�+�G�4��v�+�+�C�R�0�1�
���w�w��F�w�3���$��6�:��r��(�	B�B��2�8�8�$��2�-�-�/��?��2�-�-�D�-�9�5�I��B�H�H�.�.�0�1�5�A�		B�
��7�)�	+�B��2�8�8�$��2�-�-�/�0��B�H�H�.�.�0�1�2��r��*�		+r>c���ttjjd�jd�t	t
jdd���}t|jd��y)Nr"rfr$rgru�rvrxr9s  r<�test_plot_titlez"TestDataFramePlots.test_plot_title�sN��
��I�I�!�!�!�$�+�+�G�4��v�+�+�C�R�0�1�
��	�"�'�'��0r>c�0�ttjddtd��}t	t
jjd�j
d�tj|���}t|jd��}t|d��y)	Nr$r"rfrgTrhrrR)
�ziprirj�rangerr2r3r4r�from_tuplesrr8r)r:�tuplesr;rls    r<�test_plot_multiindexz'TestDataFramePlots.test_plot_multiindex�sp���V�)�)�#�2�.��b�	�:��
��I�I�!�!�!�$�+�+�G�4��(�(��0�
���r�w�w�$�
7���2�A�&r>c��tjgd�ddg��}tjddgddg��}ttjjd	�j
d
dd�||�
�}t|jd��y)N))�αr)r�rD)�βr")r�rW)�γr%)r�rp)�δ�)r���i0�i1)�names)�baruΔ)r�uΕ�c0�c1r"rr$)�r"r.uΣr�)	rr�rr2r3r4�integersrr8)r:r0r/r;s    r<�test_plot_multiindex_unicodez/TestDataFramePlots.test_plot_multiindex_unicode�s����&�&�	
���,�
���(�(�
� 1�2�4��,�
����I�I�!�!�!�$�-�-�a��V�<���
��
	�"�'�'��2r>rGN)rMrDc���tdtjjd�jd�i�}t	|j
jd|��}t|dd��y)	NrYr"r$T)rBrGrD�rDrDrE)rr2r3r4rr8r�r)r:rGr;rJs    r<�test_plot_single_column_barz.TestDataFramePlots.test_plot_single_column_bar�sO��
��R�Y�Y�2�2�1�5�<�<�R�@�A�
B�� ������t�F�K���$��6�:r>c�<�tdtjjd�jd�i�}tj
j
�\}}|jjd|��}t|�dk(sJ�|j}||dusJ�y)NrYr"r$T�rBrlrDr)rr2r3r4�mpl�pyplotrBr8r��lenrJ)r:r;�_rlrJ�results      r<�test_plot_passed_axz&TestDataFramePlots.test_plot_passed_ax�s�����R�Y�Y�2�2�1�5�<�<�R�@�A�
B���
�
�#�#�%���2��w�w�{�{�D�R�{�0���4�y�A�~��~�������a�� � � r>z
cols, x, y�ABCDE�Ar*�C�D�Ec�V�gd�}tgd�gd�tjddtjddgt��tj|d�	�jd
�tj|dd��jd
�d
��}t||j||��y)N)�2008�2009N�2011�2012�rDr"rWr%rpr�rprWr"r'z%Y��format�i8T)r��utc�r�r*r�r�r�rX)
rr2�array�nanr7�pd�to_datetime�viewrr8)r:�colsrYrZ�datesr;s      r<�test_nullable_int_plotz)TestDataFramePlots.test_nullable_int_plot�s���7��
�$�$��X�X�q�!�R�V�V�Q��2�&�A��^�^�E�$�7�<�<�T�B��^�^�E�$�D�A�F�F�t�L�
�
��	�"�T�(�-�-�1��2r>r8)rar��hist�piec��tjgd�d��}t|�}tt	|j
|��y)N�rDr"rWr%�UInt32r')r�r�r
r�getattrr8)r:r8�arr�ss    r<�test_integer_array_plot_seriesz1TestDataFramePlots.test_integer_array_plot_seriess0���h�h�|�8�4���3�K���'�!�&�&�$�/�0r>zplot, kwargsrar�r�r�rZ�scatterrYrX�hexbinc��tjgd�d��}t||d��}tt	|j
|�fi|��y)Nr�r�r'rX)r�r�rrr�r8)r:r8rnr�r;s     r<�test_integer_array_plot_dfz-TestDataFramePlots.test_integer_array_plot_df
s;���h�h�|�8�4��
�S�s�+�
,���'�"�'�'�4�0�;�F�;r>c��tgd�gd�d��}|j�}t|j��dk(sJ�y)N�rYrZ�z�rDr"rW�r�r*rD)rr8r��	get_linesrks   r<�test_nonnumeric_excludez*TestDataFramePlots.test_nonnumeric_excludes5��
�_�9�=�
>��
�W�W�Y���2�<�<�>�"�a�'�'�'r>c���ttjjd�j	d�gd���}|jdd��}t
|jj�d�y)Nr"rf��a�b�c�r/r�r�rX)	rr2r3r4r5r8rr�r�rks   r<�test_implicit_labelz&TestDataFramePlots.test_implicit_label!sV��
��I�I�!�!�!�$�4�4�W�=��
���W�W�s�c�W�
"���2�8�8�-�-�/��5r>c��ttjjd�j	d�ddg��}d|j
_|jdd��|j
jdk(sJ�y)	Nr"rNr�r�r��NAME�LABEL)rZ�label)rr2r3r4r5r0�namer8r9s  r<�test_donot_overwrite_index_namez2TestDataFramePlots.test_donot_overwrite_index_name(sb��
��I�I�!�!�!�$�4�4�V�<�s�C�j�
������
�
���#�W��%��x�x�}�}��&�&�&r>c	�v�ttjjd�j	d�tt
d�t��tddd���	�}t|jd
d��|jd
�dj��t|jd
��|jd
�j��t|jd
��|jj��t|jd
d��|jd
�jj��t|jd
��|jd
�j��t|jd��|jj��y)Nr"�rpr%r&r'r)rpr*r+r.rrDrXr��rY�rZ)
rr2r3r4r5rr6r7rrr8�	set_indexr*r9s  r<�test_plot_xyzTestDataFramePlots.test_plot_xy1s*��
��I�I�!�!�!�$�4�4�V�<��$�v�,�f�5��\�1�3�?�
��
	�B�G�G�a�1�G�%�r�|�|�C�'8��'=�'B�'B�'D�E��B�G�G�a�G�L�"�,�,�s�"3�"8�"8�":�;��B�G�G�a�G�L�"�$�$�)�)�+�.��B�G�G�c�S�G�)�2�<�<��+<�+>�+>�+C�+C�+E�F��B�G�G�c�G�N�B�L�L��$5�$:�$:�$<�=��B�G�G�c�G�N�B�D�D�I�I�K�0r>c	�h�ttjjd�j	d�tt
d�t��tddd���	�}tjd
t|j�d
z�|_t|jd
d��|jd
�dj��t|jd
��|jd
�j��t|jd
�
�|d
j��y)Nr"r�r&r'r)rpr*r+r.rDrXr�r�)rr2r3r4r5rr6r7r�aranger�r/rr8r�r9s  r<�test_plot_xy_int_colsz(TestDataFramePlots.test_plot_xy_int_cols?s���
��I�I�!�!�!�$�4�4�V�<��$�v�,�f�5��\�1�3�?�
���Y�Y�q�#�b�j�j�/�A�"5�6��
��B�G�G�a�1�G�%�r�|�|�A��q�'9�'>�'>�'@�A��B�G�G�a�G�L�"�,�,�q�/�"6�"6�"8�9��B�G�G�a�G�L�"�Q�%�*�*�,�/r>c	�4�ttjjd�j	d�tt
d�t��tddd���	�}|jd
ddd�
�}t|jd�t|d
dd��y)Nr"r�r&r'r)rpr*r+r.rD�Test)�r�)rYrZrv�figsizer�)g0@g @)rFrGr�)
rr2r3r4r5rr6r7rr8rrvrrks   r<�test_plot_xy_figsize_and_titlez1TestDataFramePlots.test_plot_xy_figsize_and_titleKsw��
��I�I�!�!�!�$�4�4�V�<��$�v�,�f�5��\�1�3�?�
���W�W�q�A�V�W�W�
=���2�8�8�V�,��"�q���Mr>zinput_log, expected_log)T�log)�sym�symlogc���tdtjd�itjd���}|j|��}t	||��|j�|k(sJ�|j|��}t	||��|j
�|k(sJ�|j|��}t	|||�	�|j
�|k(sJ�|j�|k(sJ�y)
Nr�rrrg��logy��yaxis)�logx�r���loglog)r�r�)rr2r�r8r�
get_yscale�
get_xscale)r:�	input_log�expected_logr;rls     r<�test_logscalesz!TestDataFramePlots.test_logscalesYs�����R�Y�Y�s�^�,�B�I�I�c�N�
C��
�W�W�)�W�
$����<�0��}�}��,�.�.�.�
�W�W�)�W�
$����<�0��}�}��,�.�.�.�
�W�W�I�W�
&����<�|�D��}�}��,�.�.�.��}�}��,�.�.�.r>�input_param)r�r�r�c��tdtjd�itjd���}d|�d�}tjt
|��5|jdi|di��ddd�d|�d	�}tjt|��5|jjdd
di|di��ddd�y#1swY�TxYw#1swYyxYw)
Nr�rrrgz	keyword 'z*' should be bool, None, or 'sym', not 'sm'r[�smzPiePlot ignores the 'z	' keywordrBT�)rr2r�r^r_�
ValueErrorr8�tm�assert_produces_warning�UserWarningr�)r:rr;rcs    r<�test_invalid_logscalez(TestDataFramePlots.test_invalid_logscalels�����R�Y�Y�s�^�,�B�I�I�c�N�
C���+��&P�Q��
�]�]�:�S�
1�	+��B�G�G�*�{�D�)�*�	+�&�k�]�)�<��
�
'�
'��3�
?�	>��B�G�G�K�K�=��=�+�t�)<�=�	>�	>�		+�	+��	>�	>�s�B?�!C�?C�Cc	�d�ttjjd�j	d�tt
d�t��tddd���	�}|jd
��}|j�}t|dj�t�rJ�t|d
��y)Nr"r#r&r'r)r$r*r+r.T)�x_compatr�rR)rr2r3r4r5rr6r7rr8r��
isinstance�	get_xdatar	r�r:r;rl�liness    r<�test_xcompatzTestDataFramePlots.test_xcompatys���
��I�I�!�!�!�$�4�4�W�=��$�v�,�f�5��\�2�C�@�
��
�W�W�d�W�
#��������e�A�h�0�0�2�K�@�@�@��2�B�'r>c	��ttjjd�j	d�tt
d�t��tddd���	�}d
tjd<|j�}|j�}t|dj�t�rJ�t!|d
��y)Nr"r#r&r'r)r$r*r+r.Tzxaxis.compatrrrR)rr2r3r4r5rr6r7rr�plot_paramsr8r�r
rr	rrs    r<�test_xcompat_plot_paramsz+TestDataFramePlots.test_xcompat_plot_params�s���
��I�I�!�!�!�$�4�4�W�=��$�v�,�f�5��\�2�C�@�
��
04����^�,�
�W�W�Y��������e�A�h�0�0�2�K�@�@�@��2�B�'r>c	�*�ttjjd�j	d�tt
d�t��tddd���	�}d
tjd<|j�}|j�}t|dj�t�rJ�d
}t!j"t$|��5tt|dj��t�sJ�	ddd�y#1swYyxYw)Nr"r#r&r'r)r$r*r+r.FrrzPeriodDtype\[B\] is deprecatedr[)rr2r3r4r5rr6r7rrrr8r�r
rr	rr�
FutureWarning�r:r;rlrrcs     r<�!test_xcompat_plot_params_x_compatz4TestDataFramePlots.test_xcompat_plot_params_x_compat�s���
��I�I�!�!�!�$�4�4�W�=��$�v�,�f�5��\�2�C�@�
��
,1����Z�(�
�W�W�Y��������e�A�h�0�0�2�K�@�@�@�/��
�
'�
'�
�S�
A�	N��k�%��(�*<�*<�*>�?��M�M�M�	N�	N�	N�s�-D	�	Dc	���ttjjd�j	d�tt
d�t��tddd���	�}tjjd
d�5|j�}|j�}t|dj�t �rJ�t#|d
��ddd�y#1swYyxYw)Nr"r#r&r'r)r$r*r+r.rTrrrR)rr2r3r4r5rr6r7rrr�user8r�r
rr	rrs    r<�(test_xcompat_plot_params_context_managerz;TestDataFramePlots.test_xcompat_plot_params_context_manager�s���
��I�I�!�!�!�$�4�4�W�=��$�v�,�f�5��\�2�C�@�
���
!�
!�
%�
%�j�$�
7�	,�����B��L�L�N�E�!�%��(�"4�"4�"6��D�D�D��r��+�		,�	,�	,�s
�?AC�C"c	��ttjjd�j	d�tt
d�t��tddd���	�}|j�}|j�}t|d
j�t�rJ�d}tjt |��5tt|d
j��t�sJ�	ddd�t#|d
�
�y#1swY�xYw)Nr"r#r&r'r)r$r*r+r.rzPeriodDtype\[B\] is deprecated r[rR)rr2r3r4r5rr6r7rr8r�r
rr	rrrrrs     r<�test_xcompat_plot_periodz+TestDataFramePlots.test_xcompat_plot_period�s���
��I�I�!�!�!�$�4�4�W�=��$�v�,�f�5��\�2�C�@�
��
�W�W�Y��������e�A�h�0�0�2�K�@�@�@�0��
�
'�
'�
�S�
A�	N��k�%��(�*<�*<�*>�?��M�M�M�	N��2�A�&�	N�	N�s�?-D�Dc��ttjjd�jd�t	tddd�tddd��ddg��}|j
�tjjd	�
�y)Nr")�r"��rD�r�r��r0r/rr�)
rr2r3r4rrr8r�r��axhliner9s  r<�test_period_compatz%TestDataFramePlots.test_period_compat�sn����I�I�!�!�!�$�+�+�G�4��h�t�Q��2�H�T�1�b�4I�J��#�J�
��	���	��
�
���Q��r>�index_dtypec
��tdtjd�ittjddd�|��tj��}|j�}|j
�d}|j�}t|dd�df|dd�dftjd�	�}tj||jd
��y)NrZrr�crMr')r0r(rrD)r(r�F)�check_index_type)rr2r�r�int64r8r��
get_xydatar
r�assert_series_equalrZ)r:r%r;rlr�rss      r<�test_unsorted_indexz&TestDataFramePlots.test_unsorted_index�s���
�
�"�)�)�C�.�!���	�	�"�b�"�-�[�A��(�(�
��
�W�W�Y������q�!��
�
�
�
��
�B�q�!�t�H�b��A��h�b�h�h�S�
A��
���r�2�4�4�%�@r>r;����?�@�@)r0r/r2r1rgr/r0r2g@g@g@r1c�"�|j�}|j�\}}|j�}|tj|dj�d�ksJ�|tj|dj�d�k\sJ�y)Nr)r8�get_xlimr�r2�nanmin�get_data�nanmax�r:r;rl�xmin�xmaxrs      r<�test_unsorted_index_limsz+TestDataFramePlots.test_unsorted_index_lims�s{���W�W�Y���[�[�]�
��d�������r�y�y��q��!2�!2�!4�Q�!7�8�8�8�8��r�y�y��q��!2�!2�!4�Q�!7�8�8�8�8r>c�L�tgd�gd�d��}|jdd��}|j�\}}|j�}|t	j
|dj
�d�ksJ�|t	j|dj
�d�k\sJ�y)Nr.)g�V@g�V@g@W@gW@)rZr�r�rZrXr)rr8r4r�r2r5r6r7r8s      r<�test_unsorted_index_lims_x_yz/TestDataFramePlots.test_unsorted_index_lims_x_y�s���
�1�8P�Q�
R��
�W�W�s�c�W�
"���[�[�]�
��d�������r�y�y��q��!2�!2�!4�Q�!7�8�8�8�8��r�y�y��q��!2�!2�!4�Q�!7�8�8�8�8r>c���ttjjd�jd�t	t
jdd�gd���}d}tjt|��5|jjd�	�ddd�tjt|��5|jjd�
�ddd�y#1swY�JxYw#1swYyxYw)Nr"�r�r%r��rYrZr��fourr"z+Log-y scales are not supported in area plotr[Tr�r�)rr2r3r4r6rirjr^r_rr8�arearbs   r<�test_negative_logz$TestDataFramePlots.test_negative_log�s�����I�I�!�!�!�$�+�+�F�3��v�+�+�B�Q�/�0�+�
�
��
<��
�]�]�:�S�
1�	$��G�G�L�L�d�L�#�	$�
�]�]�:�S�
1�	&��G�G�L�L��L�%�	&�	&�	$�	$��	&�	&�s�5C�5C'�C$�'C0c��tjt|dj�d��}t	||�D]D\}}||j�dz
}|j�d}tj||��Fy)NrrD)r2�zerosr�r6r�r�assert_numpy_array_equal)r:�normal_lines�
stacked_lines�base�nl�sl�sys       r<�_compare_stacked_y_coodz*TestDataFramePlots._compare_stacked_y_cood�sv���x�x��L��O�4�4�6�q�9�:�;���,�
�6�	2�F�B���B�K�K�M�!�$�$�D�����q�!�B��'�'��b�1�	2r>�kindrB�multrDrMc�,�|ttjjd�jd�gd���z}t	|j
|d��}t	|j
|d��}|j
|j|j�y)Nr"r?��wrYrZr�r�F�rN�stackedT�rr2r3r4rr8rMr)r:rNrOr;�ax1�ax2s      r<�test_line_area_stackedz)TestDataFramePlots.test_line_area_stacked�ss���I��I�I�!�!�!�$�+�+�F�3�=Q�
�
�� ����d�E�B������d�D�A���$�$�S�Y�Y��	�	�:r>c��ttjjd�jd�tjjd�jd�tjjd�jd�tjjd�jd�d��}t	|j
|d��}t	|j
|d��}|j
|jdd|jdd�|j
|jdd|jdd�y)Nr"r�rQFrSTrU)r:rN�sep_dfrVrWs     r<�test_line_area_stacked_sep_dfz0TestDataFramePlots.test_line_area_stacked_sep_df
s�����Y�Y�*�*�1�-�4�4�Q�7��Y�Y�*�*�1�-�4�4�Q�7��i�i�+�+�A�.�5�5�a�8�8��i�i�+�+�A�.�5�5�a�8�8�	
�
�� ����$��F������$��E���$�$�S�Y�Y�r��]�C�I�I�b�q�M�B��$�$�S�Y�Y�q�r�]�C�I�I�a�b�M�Br>c�f�ttjjd�j	d�ttjdd�gd���}t|jd��d}tjt|�	�5|jd
��ddd�y#1swYyxYw)Nr"r?r�rQr"F�rTz�When stacked is True, each column must be either all positive or all negative. Column 'w' contains both positive and negative valuesr[T)
rr2r3r4r5r6rirjrr8r^r_r)r:�mixed_dfrcs   r<�test_line_area_stacked_mixedz/TestDataFramePlots.test_line_area_stacked_mixeds�����I�I�!�!�!�$�4�4�V�<��v�+�+�B�Q�/�0�(�
��
	�(�-�-��7�
�	�
�]�]�:�S�
1�	(��M�M�$�M�'�	(�	(�	(�s�B'�'B0c���ttjjd�jd�gd���}|j	|j
dz�}t
|j|dd��y)Nr"r?rQr�rDT)rNr�rT)rr2r3r4r�r0rr8)r:rNr;�df2s    r<�#test_line_area_stacked_positive_idxz6TestDataFramePlots.test_line_area_stacked_positive_idx*sV��
��I�I�!�!�!�$�+�+�F�3�=Q�
��
�l�l�2�8�8�a�<�(���#�(�(��D�$�Gr>�idxr%z	2023-01-1)r-r,c�R�ddtjdg}dtjddg}t||d�|��}t|j�}|j
dj
�}|j
dj
�}tjgd�tj��}tjtj|jd�|�tjgd	�tj��}tjtj|jd�|�tj|jtjgd
���tj|jtjgd���y)NrDr"rW�r�r�rgrr�r')rWr"rD)FFTF)FTFF)r2r�rrr8r�	get_ydatar��float64rrF�delete�data�mask)	r:rc�values1�values2r;rl�masked1�masked2�exps	         r<�test_line_area_nan_dfz(TestDataFramePlots.test_line_area_nan_df4s���a�����#���b�f�f�a��#��
�W�7�3�3�
?��
�r�w�w�
'���(�(�1�+�'�'�)���(�(�1�+�'�'�)���h�h�y��
�
�3��
�#�#�B�I�I�g�l�l�A�$>��D��h�h�y��
�
�3��
�#�#�B�I�I�g�l�l�A�$>��D�
�#�#�G�L�L�"�(�(�;V�2W�X�
�#�#�G�L�L�"�(�(�;V�2W�Xr>c��ddtjdg}dtjddg}t||d�|��}tjgd�tj��}tjgd�tj��}t|jd	�
�}tj|jdj�|�tj|jdj�||z�y)NrDr"rWrerg�rDr"rrWr'�rWrr"rDTr]r)r2r�rr�rgrr8rrFrrf)r:rcrkrlr;�	expected1�	expected2rls        r<�test_line_area_nan_df_stackedz0TestDataFramePlots.test_line_area_nan_df_stackedIs����a�����#���b�f�f�a��#��
�W�7�3�3�
?���H�H�\����<�	��H�H�\����<�	�
�r�w�w��
5��
�#�#�B�H�H�Q�K�$9�$9�$;�Y�G�
�#�#�B�H�H�Q�K�$9�$9�$;�Y��=R�Sr>rTFc��ddtjdg}dtjddg}t||d�|��}tjgd�tj��}tjgd�tj��}t|jjfi|��}tj|jd	j�|�|r2tj|jdj�|�n4tj|jdj�||z�t|jjd
��}tj|jd	j�|�tj|jdj�|�y)NrDr"rWrergrrr'rsrFr])r2r�rr�rgrr8rBrrFrrf)	r:rcrnrkrlr;rtrurls	         r<�"test_line_area_nan_df_stacked_areaz5TestDataFramePlots.test_line_area_nan_df_stacked_areaXs9��
�a�����#���b�f�f�a��#��
�W�7�3�3�
?���H�H�\����<�	��H�H�\����<�	�
�r�w�w�|�|�
6�v�
6��
�#�#�B�H�H�Q�K�$9�$9�$;�Y�G���'�'������(=�(=�(?��K��'�'������(=�(=�(?��Y�AV�W�
�r�w�w�|�|�U�
;��
�#�#�B�H�H�Q�K�$9�$9�$;�Y�G�
�#�#�B�H�H�Q�K�$9�$9�$;�Y�Gr>�secondary_yc�\�ttjjd�jd�gd���}|jdi|��}|j�\}}|j
�}||dj�ddksJ�||dj�ddk\sJ�y)Nr"�r�rWr�r�rrMr)rr2r3r4r8r4r�r6)r:rnr;rlr9r:rs       r<�
test_line_limz TestDataFramePlots.test_line_limos���
�r�y�y�,�,�Q�/�6�6�v�>��
X��
�R�W�W�
�v�
���[�[�]�
��d�������u�Q�x�(�(�*�1�-�a�0�0�0�0��u�Q�x�(�(�*�1�-�b�1�1�1�1r>c��ttjjd�jd�gd���}|j	dd��}t|dd�	�|D]}}t
|d
�sJ�t
|d�rJ�|j�\}}|j�}||dj�ddksJ�||dj�dd
k\r�}J�y)Nr"r{r�r�T)ryrBrWr|rE�left_ax�right_axrrM)
rr2r3r4r8r�hasattrr4r�r6)r:r;rJrlr9r:rs       r<�test_line_lim_subplotsz)TestDataFramePlots.test_line_lim_subplotsxs���
�r�y�y�,�,�Q�/�6�6�v�>��
X���w�w�4�$�w�7���$��6�:��	6�B��2�y�)�)�)��r�:�.�.�.�����J�D�$��L�L�N�E��5��8�,�,�.�q�1�!�4�4�4�4��5��8�,�,�.�q�1�"�5�5�5�5�
	6r>zX2020-12-01 this has been failing periodically on the ymin==0 assertion for a week or so.)�strictrUc�*�ttjjd�jd�gd���}|}t	|j
j|��}|j�\}}|j�\}}|j�}	||	dj�ddksJ�||	dj�ddk\sJ�|dk(sJ�t	|j
j|��}|j�\}}|dk(sJ�y)Nr"r?r@r�r]rrM)rr2r3r4rr8rBr4�get_ylimr�r6)
r:rTr;�neg_dfrlr9r:�ymin�ymaxrs
          r<�
test_area_limz TestDataFramePlots.test_area_lim�s�����I�I�!�!�!�$�+�+�F�3�=T�
�����
�r�w�w�|�|�W�
=���[�[�]�
��d��[�[�]�
��d�������u�Q�x�(�(�*�1�-�a�0�0�0�0��u�Q�x�(�(�*�1�-�b�1�1�1�1��q�y��y�
�v�{�{�/�/��
A���[�[�]�
��d��q�y��yr>c��ttjjd�jd�ddg��}tj
j
ddd��\}\}}|j|d	�
�|j|d	�
�t|�j||�sJ�t|�j||�sJ�y)Nr"�r%r"rYrZr�rDT)�shareyrB)rlrN)
rr2r3r4r�r�rBr8r�joined)r:r;�figrVrWs     r<�test_area_sharey_dont_overwritez2TestDataFramePlots.test_area_sharey_dont_overwrite�s���
�r�y�y�,�,�Q�/�6�6�v�>��c�
�
S���*�*�-�-�a��4�-�@���Z�c�3�
���3�V��$�
���3�V��$��#��%�%�c�3�/�/�/��#��%�%�c�3�/�/�/r>c��ttjjd�j	d��}|j
j
|d��}|jD]}|j�dk(r�J�y)Nr"�rprp)rT�	linewidth)	rr2r3r4r5r8r��patches�
get_linewidth)r:rTr;rl�rs     r<�test_bar_linewidthz%TestDataFramePlots.test_bar_linewidth�sd��
�r�y�y�,�,�Q�/�?�?��G�
H��
�W�W�[�[��A�[�
6�����	*�A��?�?�$��)�)�)�	*r>c�"�ttjjd�j	d��}|j
j
dd��}t|dd��|D](}|jD]}|j�dk(r�J��*y)Nr"r�T)r�rBrp)rprDrE)
rr2r3r4r5r8r�rr�r�)r:r;rJrlr�s     r<�test_bar_linewidth_subplotsz.TestDataFramePlots.test_bar_linewidth_subplots�s��
�r�y�y�,�,�Q�/�?�?��G�
H���w�w�{�{�Q��{�6���$��6�:��	.�B��Z�Z�
.�����(�A�-�-�-�
.�	.r>z	meth, dim)r��	get_width)�barh�
get_heightc�^�ttjjd�j	d��}d}t|j|�||��}|jD]G}|s-t||��|t|j�zk(r�0J�t||��|k(r�GJ�y)Nr"r���������?)rT�width)
rr2r3r4r5r�r8r�r�r/)r:�meth�dimrTr;r�rlr�s        r<�test_bar_barwidthz$TestDataFramePlots.test_bar_barwidth�s���
�r�y�y�,�,�Q�/�?�?��G�
H����
#�W�R�W�W�d�
#�G�5�
A�����	2�A��&�w�q�#��(�E�C��
�
�O�,C�C�C�C�&�w�q�#��(�E�1�1�1�		2r>c��ttjjd�j	d��}d}t|j|�|d��}|D])}|jD]}t||��|k(r�J��+y)Nr"r�r�T)r�rB)rr2r3r4r5r�r8r�)r:r�r�r;r�rJrlr�s        r<�test_barh_barwidth_subplotsz.TestDataFramePlots.test_barh_barwidth_subplots�s����r�y�y�,�,�Q�/�?�?��G�
H����%�w�r�w�w��%�E�D�A���	2�B��Z�Z�
2��&�w�q�#��(�E�1�1�1�
2�	2r>c���ttjjd�jd��}|jjdd��}|jD�cgc]}|j���}}|dgdzk(sJ�|jjdgd���}|jdd	D�cgc]}|j���}}|gd�k(sJ�ycc}wcc}w)
Nr"r�FrD)rT�bottom�T)rM������������rp)rr2r3r4r8r�r��get_y�r:r;rl�pr�s     r<�test_bar_bottom_left_bottomz.TestDataFramePlots.test_bar_bottom_left_bottom�s���
�r�y�y�,�,�Q�/�6�6�v�>�
?��
�W�W�[�[��q�[�
1��%'�Z�Z�0��!�'�'�)�0��0��!��r��!�!�!�
�W�W�[�[��.B�[�
C��%'�Z�Z���^�4��!�'�'�)�4��4��-�-�-�-��1��5s�#C�7Cc���ttjjd�jd��}|jjdtjgd����}|jD�cgc]}|j���}}|dgdzk(sJ�|jjdgd	���}|jdd
D�cgc]}|j���}}|gd	�k(sJ�ycc}wcc}w)Nr"r�F�rDrDrDrDrD)rT�leftrDr�Tr�rp)	rr2r3r4r8r�r�r��get_xr�s     r<�test_bar_bottom_left_leftz,TestDataFramePlots.test_bar_bottom_left_left�s���
�r�y�y�,�,�Q�/�6�6�v�>�
?��
�W�W�\�\�%�b�h�h��.G�\�
H��%'�Z�Z�0��!�'�'�)�0��0��!��r��!�!�!�
�W�W�\�\�$�_�\�
=��%'�Z�Z���^�4��!�'�'�)�4��4���(�(�(��1��5s�8C/�C4c��ttjjd�jd��}|jjdd��}|D]4}|jD�cgc]}|j���}}|dgdzk(r�4J�|jjdtjgd����}|D]4}|jD�cgc]}|j���}}|d	gdzk(r�4J�ycc}wcc}w)
Nr"r�TrM)rBr�rpr�)rBr�rD)rr2r3r4r8r�r�r�r�r�r�)r:r;rJrlr�r�s      r<�test_bar_bottom_left_subplotsz0TestDataFramePlots.test_bar_bottom_left_subplots�s���
�r�y�y�,�,�Q�/�6�6�v�>�
?���w�w�{�{�D��{�4���	&�B�)+���4�A�a�g�g�i�4�F�4��b�T�A�X�%�%�%�	&��w�w�|�|�T�����0I�|�J���	%�B�)+���4�A�a�g�g�i�4�F�4��a�S�1�W�$�$�$�	%��	5��
5s�(C:�C?c���tdtjdggd�gd�d��}|jj	�}gd�}|j
D�cgc]}|j
���}}||k(sJ�ycc}w)Nr$��rpr$r�r��r�r*r��	r$rr�rpr$r�rDr"rW)rr2r�r8r�r�r��r:r;rl�expectedr�r�s      r<�test_bar_nanzTestDataFramePlots.test_bar_nan�sb��
�b�"�&�&�"�-�K�i�P�
Q��
�W�W�[�[�]��2��*,�*�*�5�Q�!�,�,�.�5��5���!�!�!��6s�A2c�`�tdtjdggd�gd�d��}|jj	d��}gd�}|j
D�cgc]}|j
���}}||k(sJ�|j
D�cgc]}|j���}}gd	�}||k(sJ�ycc}wcc}w)
Nr$r�r�r�r�Tr]r�)	r/r/r/�$@r/g4@g.@r�gD@)rr2r�r8r�r�r�r�r�s      r<�test_bar_nan_stackedz'TestDataFramePlots.test_bar_nan_stacked�s���
�b�"�&�&�"�-�K�i�P�
Q��
�W�W�[�[��[�
&��2��*,�*�*�5�Q�!�,�,�.�5��5���!�!�!�%'�Z�Z�0��!�'�'�)�0��0�E����!�!�!��6��1s�B&�B+c	�d�ttjjd�j	d�|td��|td����}|jj�}|jj�}tj|tjgd���|j�dk(sJ�|jdj�d	k(sJ�|jd
j�dk(sJ�|jjd�
�}tj|tjgd���|j�dk(sJ�|jdj�d	k(sJ�|jd
j�dk(sJ�y)Nr")r�rp�ABCDEF�abcder")rrDr"rWr%rp)g�g@rgпrMg������@Tr]g@)rr2r3r4r5r6r8r�r��get_ticklocsrrFr�r4r�r�)r:rcr;rl�tickss     r<�test_bar_categoricalz'TestDataFramePlots.test_bar_categoricalsR����I�I�!�!�!�$�4�4�V�<��d�8�n�%���W�
�&�
���W�W�[�[�]�����%�%�'��
�#�#�E�2�8�8�4F�+G�H��{�{�}��+�+�+��z�z�!�}�"�"�$��-�-�-��z�z�"�~�#�#�%��-�-�-�
�W�W�[�[��[�
&��
�#�#�E�2�8�8�4F�+G�H��{�{�}��+�+�+��z�z�!�}�"�"�$��-�-�-��z�z�"�~�#�#�%��-�-�-r>zx, y�rDr"c���ttjjd�j	d�ttjdd�gd���}t|jj||��y)Nr"r?r�r@r"rX)rr2r3r4r5r6rirjrr8r��r:rYrZr;s    r<�test_plot_scatterz$TestDataFramePlots.test_plot_scattersW��
��I�I�!�!�!�$�4�4�V�<��v�+�+�B�Q�/�0�+�
��	�"�'�'�/�/�Q�!�4r>c�4�ttjjd�j	d�ttjdd�gd���}tjd�}tjt|��5|jjd�	�ddd�tjd
�}tjt|��5|jjd��ddd�y#1swY�_xYw#1swYyxYw)
Nr"r?r�r@r"z5scatter() missing 1 required positional argument: 'y'r[rYr�z5scatter() missing 1 required positional argument: 'x'rZr�)rr2r3r4r5r6rirj�re�escaper^r_�	TypeErrorr8r�rbs   r<�test_plot_scatter_errorz*TestDataFramePlots.test_plot_scatter_error)s���
��I�I�!�!�!�$�4�4�V�<��v�+�+�B�Q�/�0�+�
��
�i�i�O�P��
�]�]�9�C�
0�	#��G�G�O�O�c�O�"�	#��i�i�O�P��
�]�]�9�C�
0�	#��G�G�O�O�c�O�"�	#�	#�	#�	#��	#�	#�s�D�D�D�Dc��ttjjd�j	d�ttjdd�gd���}|jdddd	�
�}t|dd�
�y)Nr"r?r�r@r"rYrZr�T)rYrZrNrBrDr�rE)
rr2r3r4r5r6rirjr8rrIs   r<�test_plot_scatter_shapez*TestDataFramePlots.test_plot_scatter_shape6se��
��I�I�!�!�!�$�4�4�V�<��v�+�+�B�Q�/�0�+�
���w�w���)�d�w�C���$��6�:r>c�:�ttjjd�j	d�dg��}tddd��j|d<d	}tjt|�
�5|jddd��ddd�y#1swYyxYw)
Nr"r$r�r�z
2014-01-01�h)�startr-r,�dtimez9must be a string or a (real )?number, not 'datetime.time'r[r�)rNrYrZ)rr2r3r4r5r�timer^r_r�r8rbs   r<�&test_raise_error_on_datetime_time_dataz9TestDataFramePlots.test_raise_error_on_datetime_time_data@s|��
�r�y�y�,�,�Q�/�?�?��C�c�U�
S�� �|�#�r�J�O�O��7��I��
�]�]�9�C�
0�	6��G�G��g��G�5�	6�	6�	6�s�3B�B�r��vals�rrDc��ttddd�dd��}tjj	d�jddt
|��}t||d��}t|jj||�	�y)
Ni�rD��W)r�r,r-r"rr�rX)rrr2r3r4�normalr�rrr8r�)r:rYrZr�r�r;s      r<�test_scatterplot_datetime_dataz1TestDataFramePlots.test_scatterplot_datetime_dataIse����d�A�q�!1�2�C�H���y�y�$�$�Q�'�.�.�q�!�S��Z�@��
���5�
6���"�'�'�/�/�Q�!�4r>�infer_string�pyarrow)�marksre�b_col�r"rWr%r�c��td|�5tgd�|d��}t|jj||��ddd�y#1swYyxYw)Nzfuture.infer_stringr�rerX)r
rrr8r�)r:r�rYrZr�r;s      r<�test_scatterplot_object_dataz/TestDataFramePlots.test_scatterplot_object_dataRsG���1�<�
@�	9���u�=�>�B��b�g�g�o�o��a�8�	9�	9�	9�s�3A	�	A�ordered�
categories)�setosa�
versicolor�	virginica)r�r�r�c��tddgddgddgddgddggd	d
g��}tjgd�||�
�|d<|jj	ddd��}|j
\}|j}tjgd��}|j�}tj||�tjgd��}	|j}
tj|
|	�|}|jj�D�cgc]}|j���}
}t!d�t#|
|�D��sJ�ycc}w)Ngffffff@g@g������@r2g@g������	@g������@g������@�lengthr�r�)r�r�r�r�r�)r�r��speciesrrD�rYrZr�)��?g�?g@r.c3�,K�|]\}}||k(���y�w�Nr)�.0�i�js   r<�	<genexpr>zKTestDataFramePlots.test_scatterplot_color_by_categorical.<locals>.<genexpr>{s����T�d�a��1��6�T�s�)rr��Categoricalr8r��collections�colorbarr2r��	get_ticksrrF�_boundariesrl�get_ymajorticklabels�get_text�allr�)r:r�r�r;rl�colorbar_collectionr��expected_ticks�result_ticks�expected_boundaries�result_boundaries�expected_yticklabelsr��result_yticklabelss              r<�%test_scatterplot_color_by_categoricalz8TestDataFramePlots.test_scatterplot_color_by_categorical^s1����3�Z�#�s��c�3�Z�#�s��c�3�Z�H��w�'�
�����H��!�
��9�
�
�W�W�_�_�q�A��_�
3��!#����	�&�/�/�����/�2���)�)�+��
�#�#�L�.�A� �h�h�';�<��$�0�0��
�#�#�$5�7J�K�)��4<�K�K�4T�4T�4V�W�q�a�j�j�l�W��W��T�c�*<�>R�&S�T�T�T�T��Xs�E)rX)rZrY)rZrZc��tgd�tjgd��d��}t|jj
||��y)Nr�)r�r�r�r�rX)rr�r�rr8r�r�s    r<�'test_plot_scatter_with_categorical_dataz:TestDataFramePlots.test_plot_scatter_with_categorical_data}s1���\����?S�0T�U�
V���"�'�'�/�/�Q�!�4r>zx, y, cr�)rrDr"c��ttjjd�j	ddd��ttjdd�gd���}|jj|||�	�}|jdjjd
k(sJ�|jdjjj�dk(sJ�y)Nr"rrrr?��low�high�sizer�r@r"r��Greysr�)rr2r3r4r�r6rirjr8r�r��cmapr�r�rl�
get_ylabel)r:rYrZr�r;rls      r<�test_plot_scatter_with_cz+TestDataFramePlots.test_plot_scatter_with_c�s���
��I�I�!�!�!�$�-�-�!�#�F�-�K��v�+�+�B�Q�/�0�+�
���W�W�_�_�q�A��_�
+���~�~�a� �%�%�*�*�g�5�5�5��~�~�a� �)�)�,�,�7�7�9�S�@�@�@r>c�^�ttjjd�j	ddd��ttjdd�gd���}d	}|jjd
dd|�
�}|jdjj|k(sJ�|jjd
ddd��}|jdj�J�|jjddd��}|jdj�J�t|jdg��y)Nr"rrrr?r	r�r@r"�	cubehelixrYrZr�)rYrZr��colormapF)rYrZr�r�rD�redr�r���
facecolors)rr2r3r4r�r6rirjr8r�r�rr�r�r)r:r;�cmrls    r<�test_plot_scatter_with_c_propsz1TestDataFramePlots.test_plot_scatter_with_c_props�s��
��I�I�!�!�!�$�-�-�!�#�F�-�K��v�+�+�B�Q�/�0�+�
��
��
�W�W�_�_�s�c�S�2�_�
>���~�~�a� �%�%�*�*�b�0�0�0��W�W�_�_�s�c�S�5�_�
A���~�~�a� �)�)�1�1�1��W�W�_�_�q�A��_�
/���~�~�a� �)�)�1�1�1��b�n�n�#��7r>c�p�tddgddgd��}gd�}gd�}tj||g�}|jj	dd	|�
�}tj|jdj�|�tjdd
g�}|jj	dd	|d��y)NrDr"rWr%r�)r0r/r/r0)r/r0r/r0r�r*r�rr/r0�spring)rYrZr�r)	rr2r�r8r�rrFr��
get_facecolor)r:r;�red_rgba�
green_rgba�
rgba_arrayrl�float_arrays       r<�test_plot_scatter_with_c_arrayz1TestDataFramePlots.test_plot_scatter_with_c_array�s����a��V�1�a�&�1�
2��'��)�
��X�X�x��4�5�
�
�W�W�_�_�s�c�Z�_�
8��
	�#�#�B�N�N�1�$5�$C�$C�$E�z�R��h�h��S�z�*��
�����#���(��Cr>c�:�ttjjd�jd�dzgd���}|jjddd�	�}t
j|dj|jd
j���y)Nr"rfrrr�r�r�r�r�)rYrZr�r)�right)rr2r3r4r8r�rrF�valuesr��	get_sizesrks   r<�test_plot_scatter_with_sz+TestDataFramePlots.test_plot_scatter_with_s�st��
��I�I�!�!�!�$�+�+�G�4�s�:�O�
���W�W�_�_�s�c�S�_�
1��
�#�#�B�s�G�N�N�"�.�.��:K�:U�:U�:W�Xr>c�4�ttjjd�jd�dzgd���}tj
j
�}|jjddd|�	�}|jd
j|usJ�y)Nr"rfrrr�r�r�r�r�)rYrZr��normr)rr2r3r4r��colors�LogNormr8r�r�r')r:r;r'rls    r<�test_plot_scatter_with_normz.TestDataFramePlots.test_plot_scatter_with_norm�s{��
��I�I�!�!�!�$�+�+�G�4�s�:�O�
���z�z�!�!�#��
�W�W�_�_�s�c�S�t�_�
<���~�~�a� �%�%��-�-�-r>c���ttjjd�jd�dzgd���}|jjddd�	�}|jd
j}|jj�|jj�f}tjj|�}|jD]}||�||�k(r�J�y)Nr"rfrrr�r�r�r�r�r�r)rr2r3r4r8r�r�r'r��min�maxr�r(�	Normalize)r:r;rl�	plot_norm�
color_min_max�default_norm�values       r<�test_plot_scatter_without_normz1TestDataFramePlots.test_plot_scatter_without_norm�s���
��I�I�!�!�!�$�+�+�G�4�s�:�O�
���W�W�_�_�s�c�S�_�
1���N�N�1�%�*�*�	�������R�T�T�X�X�Z�0�
��z�z�+�+�]�;���T�T�	;�E��U�#�|�E�':�:�:�:�	;r>�legendr@c���ttjjd�j	d�ttjdd�gd���}t|jjfi|��y)Nr"r?r���one�two�threerAr")rr2r3r4r5r6rirjrr8r�rys   r<�
test_plot_barz TestDataFramePlots.test_plot_bar�sZ����I�I�!�!�!�$�4�4�V�<��v�+�+�B�Q�/�0�3�
��	�"�'�'�+�+�0��0r>c��ttjjd�j	d�ttjdd�td���}t|jj�y)Nr")r$�r$r<r")rr2r3r4r5r6rirjr�rr8r�r9s  r<�test_plot_bar_int_colz(TestDataFramePlots.test_plot_bar_int_col�sW��
��I�I�!�!�!�$�4�4�X�>��v�+�+�C�R�0�1��"�I�
��
	�"�'�'�+�+�&r>c���tddgddgd��}t|jj�}t	|d��|jjdd��}t	|ddd�	�y)
NrrDre�ZrR�#r$��rot�fontsize�rS�
xlabelsize�
ylabelsize)rrr8r�rrks   r<�test_plot_bar_ticksz&TestDataFramePlots.test_plot_bar_ticks�sY��
�a��V�1�a�&�1�
2��
�r�w�w�{�{�
+���2�B�'�
�W�W�[�[�R�"�[�
-���2�B�2�"�Er>c���tddgddgd��}t|jj�}t	|d��|jjdd��}t	|ddd��y)	NrrDre)�yrot�7�rA)rIrFrE)rrr8r�rrks   r<�test_plot_barh_ticksz'TestDataFramePlots.test_plot_barh_ticks�sY��
�a��V�1�a�&�1�
2��
�r�w�w�|�|�
,���2�A�&�
�W�W�\�\�b�2�\�
.���2�B�2�"�Er>c	���|}|j�j}|D�cgc]
}t|���}}t|jj
�}t
|j�|�tj|jj�tjdt|�dz��t|j�dt|�zk(sJ�ycc}w)NrDr�)�_get_numeric_datar/rrr8�boxrr�rrFr�r�r2r�r�r�r:�hist_dfr;�numeric_colsr��labelsrls       r<�test_boxplotzTestDataFramePlots.test_boxplots���
���+�+�-�5�5��+7�8�a�,�q�/�8��8�
�r�w�w�{�{�
+���2�-�-�/��8�
�#�#��H�H�!�!�#�R�Y�Y�q�#�l�2C�a�2G�%H�	
��2�8�8�}��C��$5� 5�5�5�5��9s�C#c��|}|d}|jjd��}t|dd��t|jj�y)N�height�(�rBr�rSrI)r8rOrr)r:rQr;�seriesrJs     r<�test_boxplot_seriesz&TestDataFramePlots.test_boxplot_seriess@��
���H����{�{���2��&���4�b�q�1��&�+�+�/�/�*r>c��|}tjgd��}|jj|��}|j	�j
}|D�cgc]
}t
|���}}t|j�|�tj|jj�|�t|j�dt|�zk(sJ�ycc}w)N)rDr�r�)�	positionsr�)r2r�r8rOrNr/rrr�rrFr�r�r�r)r:rQr;r]rlrRr�rSs        r<�test_boxplot_series_positionsz0TestDataFramePlots.test_boxplot_series_positionss���
���H�H�Y�'�	�
�W�W�[�[�9�[�
-���+�+�-�5�5��+7�8�a�,�q�/�8��8��2�-�-�/��8�
�#�#�B�H�H�$9�$9�$;�Y�G��2�8�8�}��C��$5� 5�5�5�5��9s�Cc�P�|}|j�j}|D�cgc]
}t|���}}|jj	ddd��}t|ddd��t
|j�|�t|j�dt|�zk(sJ�ycc}w)N�2r�F)rBrC�vertr�rSrIrFr�)
rNr/rr8rOrr�get_yticklabelsr�rrPs       r<�test_boxplot_verticalz(TestDataFramePlots.test_boxplot_vertical&s���
���+�+�-�5�5��+7�8�a�,�q�/�8��8��W�W�[�[�R�!�%�[�
8���2�A�B�1�=��2�-�-�/��8��2�8�8�}��C��$5� 5�5�5�5��
9s�B#zignore:Attempt:UserWarningc��|}|j�j}|D�cgc]
}t|���}}t|jj
dddd��}t
|dd��t|d��t||�D]:\}}t|j�|g�t|j�d	k(r�:J�ycc}w)
NTF)rArBrar�rW)rDrWrEr�r�r�)
rNr/rrr8rOrrr�rrcr�r)	r:rQr;rRr�rSrJrlr�s	         r<�test_boxplot_vertical_subplotsz1TestDataFramePlots.test_boxplot_vertical_subplots1s���
���+�+�-�5�5��+7�8�a�,�q�/�8��8� ��G�G�K�K�����
��	�$��6�:���U�+��T�6�*�	&�I�B���r�1�1�3�e�W�=��r�x�x�=�A�%�%�%�	&��9s�B>c��|}|j�j}|D�cgc]
}t|���}}tjgd��}|j
j
|d��}t|j�|�tj|jj�|�t|j�dt|�zk(sJ�ycc}w)N)rWr"r�F)r]rar�)rNr/rr2r�r8rOrrcrrFr�r�r�r)r:rQr;rRr�rSr]rls        r<�test_boxplot_vertical_positionsz2TestDataFramePlots.test_boxplot_vertical_positionsCs���
���+�+�-�5�5��+7�8�a�,�q�/�8��8��H�H�Y�'�	�
�W�W�[�[�9�5�[�
9���2�-�-�/��8�
�#�#�B�H�H�$9�$9�$;�Y�G��2�8�8�}��C��$5� 5�5�5�5��9s�Cc�L�ttjjd�j	d�ttjdd�gd���}d}tjt|��5|jjd�	�ddd�y#1swYyxYw)
Nr"r?r�r6r"z2return_type must be {None, 'axes', 'dict', 'both'}r[�
not_a_type��return_type)
rr2r3r4r5r6rirjr^r_rr8rOrbs   r<� test_boxplot_return_type_invalidz3TestDataFramePlots.test_boxplot_return_type_invalidMs~��
��I�I�!�!�!�$�4�4�V�<��v�+�+�B�Q�/�0�3�
��
C��
�]�]�:�S�
1�	2��G�G�K�K�L�K�1�	2�	2�	2�s�4B�B#rl)�dictrJ�bothc��ttjjd�j	d�ttjdd�gd���}|jj|��}t||�y)Nr"r?r�r6r"rk)rr2r3r4r5r6rirjr8rOr)r:rlr;r�s    r<�%test_boxplot_return_type_invalid_typez8TestDataFramePlots.test_boxplot_return_type_invalid_typeWsa��
��I�I�!�!�!�$�4�4�V�<��v�+�+�B�Q�/�0�3�
��
�������5���v�{�3r>c�L�tjd�ttjjd�j
d��}t|jd��}|jD�cgc]
}t|���}}t||��t|d��ycc}w)	N�scipyr"�rrr%�kde�rN�rSrrR)
r^�importorskiprr2r3r4r5rr8r/rrr)r:r;rlr�r�s     r<�test_kde_dfzTestDataFramePlots.test_kde_dfasx�����G�$�
�r�y�y�,�,�Q�/�?�?��I�
J��
�r�w�w�U�
3��-/�Z�Z�8��L��O�8��8��R��1��2�A�&��9s�2B!c���tjd�ttjjd�j
d��}|jddd��}t|ddd��y)	Nrsr"r#rur�rp)rNrBrCrD)	r^rxrr2r3r4r5r8rrks   r<�test_kde_df_rotz"TestDataFramePlots.test_kde_df_rotisV�����G�$�
�r�y�y�,�,�Q�/�?�?��H�
I��
�W�W�%�R�!�W�
4���2�B�1��Cr>c���tjd�ttjjd�j
d��}t|jddd��}t|dd�	�y)
Nrsr"r#Tru)rArNrBr%rCrE)
r^rxrr2r3r4r5rr8rrIs   r<�test_kde_df_subplotsz'TestDataFramePlots.test_kde_df_subplotsos\�����G�$�
�r�y�y�,�,�Q�/�?�?��H�
I�� ��G�G����	
��	�$��6�:r>c���tjd�ttjjd�j
d��}|jddd��}t|d��y)	Nrsr"r#ruT)rNr�rBr�r�)	r^rxrr2r3r4r5r8rrIs   r<�test_kde_df_logyz#TestDataFramePlots.test_kde_df_logyzsR�����G�$�
�r�y�y�,�,�Q�/�?�?��H�
I���w�w�E��t�w�<����U�+r>c��tjd�ttjjd�j
d���}tj|jd<t|jd��y)Nrsr"rt�r�rrrurv)r^rxrr2r3r4�uniformr��locrr8r9s  r<�test_kde_missing_valsz(TestDataFramePlots.test_kde_missing_vals�sV�����G�$�
�r�y�y�,�,�Q�/�7�7�X�7�F�
G���v�v����t���"�'�'��.r>c��ttjjd�j	d��}t|jj�}|jD�cgc]
}t|���}}t||��t|jjddd��}t|dd��t|d	�
�ycc}w)Nr"rtrwT)rArBr�r%rCrEr�r�)
rr2r3r4r5rr8r�r/rrrr)r:r;rlr�r�rJs      r<�test_hist_dfzTestDataFramePlots.test_hist_df�s���
�r�y�y�,�,�Q�/�?�?��I�
J��
�r�w�w�|�|�
,��-/�Z�Z�8��L��O�8��8��R��1� ��G�G�L�L����	
��	�$��6�:���U�+��9s�%Cc���ttjjd�jd��}|jjd��}t
|dd��y)Nr"r$rWrXrrY)r
r2r3r4r8r�r)r:rZrJs   r<�test_hist_df_seriesz&TestDataFramePlots.test_hist_df_series�sI����	�	�-�-�a�0�7�7��;�<���{�{���B��'���4�b�q�1r>c�f�ddlm}ttjjd�j	d��}|jjddd��}|j�D�cgc]}t||�s�|��}}tj|dj�d	�ycc}w)
Nr��	Rectangler"r$Tr%)�
cumulative�bins�densityrMr0�
�matplotlib.patchesr�r
r2r3r4r8r��get_childrenr
r�assert_almost_equalr��r:r�rZrlrY�rectss      r<�&test_hist_df_series_cumulative_densityz9TestDataFramePlots.test_hist_df_series_cumulative_density�s���0���	�	�-�-�a�0�7�7��;�<��
�[�[�
�
��A�t�
�
D���O�O�-�J�q��A�y�1I��J��J�
���u�R�y�3�3�5�s�;��Ks�.B.�B.c�d�ddlm}ttjjd�j	d��}|jjdd��}|j�D�cgc]}t||�s�|��}}tj|dj�d	�ycc}w)
Nrr�r"r$Tr%)r�r�r�r�r�r�s      r<�test_hist_df_series_cumulativez1TestDataFramePlots.test_hist_df_series_cumulative�s���0���	�	�-�-�a�0�7�7��;�<��
�[�[�
�
��A�
�
6���O�O�-�J�q��A�y�1I��J��J�
���u�R�y�3�3�5�t�<��Ks�-B-�?B-c���ttjjd�j	d��}|j
j
ddd��}t|ddd��y)	Nr"r#r`r��
horizontal)rBrC�orientationrrb)rr2r3r4r5r8r�rrIs   r<�test_hist_df_orientationz+TestDataFramePlots.test_hist_df_orientation�sL��
�r�y�y�,�,�Q�/�?�?��H�
I���w�w�|�|��Q�L�|�I���4�a�b�Q�?r>�weights皙�����?)rr)�shape)rrr"c
���tttddgtjjd�j
d����}t|jd|��}t|jd��}|jD�cgc]}|j���}}|jD�cgc]}d|j�z��}}tj||�ycc}wcc}w)	Nr�r*r")r"rrr�)rNr�rvr�)
rrnr�r2r3r4r5rr8r�r�rr�)r:r�r;rVrW�patch�patch_height_with_weights�expected_patch_heights        r<�test_hist_weightsz$TestDataFramePlots.test_hist_weights�s������c�3�Z����!6�!6�q�!9�!I�!I�(�!S�T�U�
�� ����f�g�F������f�5��EH�[�[�$Q�E�U�%5�%5�%7�$Q�!�$Q�HK�{�{� S�e��u�'7�'7�'9�!9� S�� S�
���8�:O�P��
%R��!Ts�
C$�1C)c��tj|D�cgc]}|j���c}�}tj|D�cgc]}|j���c}�}tj|D�cgc]}|j	���c}�}	tj|D�cgc]}|j���c}�}
|�t
j||d��|�t
j||d��|�t
j|	|d��|�t
j|
|d��yycc}wcc}wcc}wcc}w)NF)�check_dtype)r2r�r�r�r�r�rrF)r:r��
expected_y�
expected_h�
expected_x�
expected_wr��result_y�
result_height�result_x�result_widths           r<�_check_box_coordz#TestDataFramePlots._check_box_coord�s����8�8��8�1�Q�W�W�Y�8�9�����'�!B�Q�!�,�,�.�!B�C�
��8�8��8�1�Q�W�W�Y�8�9���x�x�� @�1����� @�A���!��'�'��*�%�P��!��'�'�
�z�u�U��!��'�'��*�%�P��!��'�'��j�e�T�"��9��!B��8�� @s�D/�D4�6D9�'D>rir��r$�	r�r�r��r�r�r�r�r��r�r�r�r�r$r�r"rWrp)rWr$r�r�r�r�)r�rWr�r�r�r�)r�r�r�rWr�r$c��t|�}|jjd��}|j|jddtjgd��tjgd����|j|jddtjgd��tjgd����|j|jddtjgd��tjgd����|jjdd	�
�}|j|jddtjgd��tjgd����|j|jddtjgd��tjgd����|j|jddtjgd��tjgd����|jjdd	d	��}|j|d
jtjgd��tjgd����|j|djtjgd��tjgd����|j|djtjgd��tjgd����|jjdd��}|j|jddtjgd��tjgd����|j|jddtjgd��tjgd����|j|jddtjgd��tjgd����|jjdd	d��}|j|jddtjgd��tjgd����|j|jddtjgd��tjgd����|j|jddtjgd��tjgd����|jjdd	d	d��}|j|d
jtjgd��tjgd����|j|djtjgd��tjgd����|j|djtjgd��tjgd����y)Nrp)r�)rrrrrr�)r�r�r$r�r�T)r�rT)��r�r<�)r�rTrBrrDr"r�)r�r�)r�r�)r�rTr�)r�rTrBr�)rr8r�r�r�r2r�)r:rir;rlrJs     r<�test_hist_df_coordz%TestDataFramePlots.test_hist_df_coord�s���,�t�_��
�W�W�\�\�q�\�
!������J�J�r��N��x�x��0��x�x� 0�1�	�	
�
	
����J�J�q����x�x��0��x�x��0�	�	
�
	
����J�J�r�s�O��x�x��0��x�x� 0�1�	�	
��W�W�\�\�q�$�\�
/������J�J�r��N��x�x��0��x�x� 0�1�	�	
�
	
����J�J�q����x�x� 0�1��x�x��0�	�	
�
	
����J�J�r�s�O��x�x� 4�5��x�x� 0�1�	�	
��w�w�|�|��D�4�|�@�������G�O�O��x�x��0��x�x� 0�1�	�	
�
	
�����G�O�O��x�x��0��x�x��0�	�	
�
	
�����G�O�O��x�x��0��x�x� 0�1�	�	
��W�W�\�\�q�l�\�
;������J�J�r��N��x�x��0��x�x� 0�1�	�	
�
	
����J�J�q����x�x��0��x�x��0�	�	
�
	
����J�J�r�s�O��x�x��0��x�x� 0�1�	�	
��W�W�\�\�q�$�L�\�
I������J�J�r��N��x�x��0��x�x� 0�1�	�	
�
	
����J�J�q����x�x� 0�1��x�x��0�	�	
�
	
����J�J�r�s�O��x�x� 4�5��x�x� 0�1�	�	
��w�w�|�|��D�4�\��
��	
�����G�O�O��x�x��0��x�x� 0�1�	�	
�
	
�����G�O�O��x�x��0��x�x��0�	�	
�
	
�����G�O�O��x�x��0��x�x� 0�1�	�	
r>c��ttjjd�j	d��j�}t
|jd��y)Nr"rtT�r4)rr2r3r4r5�cumsumrr8r9s  r<�test_plot_int_columnsz(TestDataFramePlots.test_plot_int_columns`s=��
�r�y�y�,�,�Q�/�?�?��I�
J�
Q�
Q�
S���"�'�'�$�/r>�markers�^�+�o)r�r�r�c��ddlm}|j�}|j�|j	d�ttjjd�jd��}|j|��}t|j�dt|��D]\}}|j�||k(r�J�y)Nr�or"rf)�style)�matplotlib.pyplotr��gcf�clf�add_subplotrr2r3r4r5r8�	enumerater�r��
get_marker)r:r��pltr�r;rlrcras        r<�test_style_by_columnz'TestDataFramePlots.test_style_by_columnds���	(��g�g�i�����	������
�r�y�y�,�,�Q�/�?�?��H�
I��
�W�W�7�W�
#��"�2�<�<�>�.�C��L�#A�B�	5�I�C���?�?�$����4�4�4�	5r>c���tddg�}|j�}|j��J�|jd��}|j�j�dj	�dk(sJ�y)NrDr"Tr�r�)r
r8�
get_legend�	get_textsr�)r:r�rls   r<�test_line_label_nonez'TestDataFramePlots.test_line_label_nonexsg���A�q�6�N��
�V�V�X���}�}��&�&�&�
�V�V�4�V�
 ���}�}��(�(�*�1�-�6�6�8�B�>�>�>r>zprops, expected))�boxprops�boxes)�whiskerprops�whiskers)�capprops�caps)�medianprops�mediansc	��tdD�cic]1}|tjjd�jd���3c}�}|ddii}|jj
d	ddi|��}||dj
�dk(sJ�ycc}w)
N�ABCr"rr�color�C1rlrnrr)rr2r3r4r8rO�	get_color)r:�propsr��kr;�kwdr�s       r<�!test_specified_props_kwd_plot_boxz4TestDataFramePlots.test_specified_props_kwd_plot_box�s�����O�A��2�9�9�0�0��3�:�:�3�?�?�O�
P���w��o�&��������7��7�3�7���h���"�,�,�.�$�6�6�6��	Ps�6Bc��tddd�tddd�tddd�g}gd�}ttj|�|dg��}|j	�}|j
d	j
�}tj|tj|t�
��|j
d	j�}tj|tj|��|jj�}|D�cgc]}|j�d	��}}t|�jsJ�|D�cgc]}|j!���}	}t#j$|	d��jsJ�ycc}wcc}w)
N��r$rDr�r�)r2r1r0�testr"rr'z%Y-%m-%dr�)rrr2r�r8rrrrFr7rfr��get_ticklabels�get_positionr�is_monotonic_increasingr�r�r�)
r:r0r#r;rlrq�ydatarY�xlocs�xlabelss
          r<�test_unordered_tsz$TestDataFramePlots.test_unordered_ts�s:���d�B��"�D��q�!�$4�d�4��A�6F�G�� ��
��H�H�V����H�
��
�W�W�Y�����!��&�&�(��
�#�#�F�B�H�H�U�&�,I�J������%�%�'��
�#�#�E�2�8�8�F�+;�<����(�(�*��.4�5�����!�!�$�5��5��U�|�3�3�3�3�)/�0�A�1�:�:�<�0��0��~�~�g�j�9�Q�Q�Q�Q��6��0s�
F�Fc��tjd�tdgd�i�}|j|��t	|j|��y�NrsrYr�rv�r^rxrr8r��r:rNr;s   r<�test_kind_both_waysz&TestDataFramePlots.test_kind_both_ways�s@�����G�$�
��Y�'�
(��
���T���������� r>c��tjd�tdgd�i�}|jdd|��t	|j|�dd�yr�r�r�s   r<�test_kind_both_ways_x_yz*TestDataFramePlots.test_kind_both_ways_x_y�sH�����G�$�
��Y�'�
(��
����S�t��$��������s�C�(r>c��ttd��}d}tjt|��5|j|��ddd�y#1swYyxYw)N�abcd�no numeric data to plotr[rv)rr6r^r_r�r8�r:rNr;rcs    r<�test_all_invalid_plot_dataz-TestDataFramePlots.test_all_invalid_plot_data�sF��
�t�F�|�
$��'��
�]�]�9�C�
0�	��G�G��G��	�	�	�s�A�Ac��ttjjd�j	d�t
��}d|tjjd�j|jd�dkD<d}tjt|��5|j|�	�ddd�y#1swYyxYw)
Nr"�r$r"r'r�rr�r�r[rv)rr2r3r4r5r7r�r^r_r�r8r�s    r<�(test_partially_invalid_plot_data_numericz;TestDataFramePlots.test_partially_invalid_plot_data_numeric�s�����I�I�!�!�!�$�4�4�W�=��
��BE��2�9�9� � ��#�*�*�2�8�8�A�;�7�#�=�>�'��
�]�]�9�C�
0�	��G�G��G��	�	�	�s�B8�8Cc��ttjjd�j	d��}d}tjt|��5|jd��ddd�y#1swYyxYw)Nr"r�z*invalid_plot_kind is not a valid plot kindr[�invalid_plot_kindrv)	rr2r3r4r5r^r_rr8rbs   r<�test_invalid_kindz$TestDataFramePlots.test_invalid_kind�s]��
�r�y�y�,�,�Q�/�?�?��H�
I��:��
�]�]�:�S�
1�	.��G�G�,�G�-�	.�	.�	.�s�A1�1A:zx,y,lblr�r�r�c��tddgddgddgd��}tjtd�	�5|j	|||�
�ddd�y#1swYyxYw)NrDr"rWr%rpr�r��x must be a label or positionr[�rYrZr��rr^r_rr8)r:rYrZ�lblr;s     r<�test_invalid_xy_argsz'TestDataFramePlots.test_invalid_xy_args�sW���a��V�1�a�&��1�v�>�
?��
�]�]�:�-L�
M�	)��G�G�a�1�C�G�(�	)�	)�	)�s�A�Ac��tddgddgddgd��}d}tjt|�	�5|j	d
ddgd
��ddd�y#1swYyxYw)NrDr"rWr%rpr�r�z.label should be list-like and same length as yr[r�r*r��	bad_labelrrrbs   r<�test_bad_labelz!TestDataFramePlots.test_bad_label�s]��
�a��V�1�a�&��1�v�>�
?��>��
�]�]�:�S�
1�	<��G�G�c�c�3�Z�{�G�;�	<�	<�	<�s�A�Azx,yr�c���tgd�gd�gtd���}tjtd��5|j||��ddd�y#1swYyxYw)N)rDrWrp)r"r%r��AABr�r�r[rX)rr6r^r_rr8r�s    r<�test_invalid_xy_args_dup_colsz0TestDataFramePlots.test_invalid_xy_args_dup_cols�sM���	�9�-�t�E�{�
C��
�]�]�:�-L�
M�	��G�G�a�1�G��	�	�	�s�A�Azx,y,lbl,colorsr�bluer�bokeh�cython�green�yellowc��tddgddgddgd��}t|jd||�	�|j||||�
�}t|j�t|�k(sJ�t|j
�|��y)NrDr"rWr%rpr�r�r�r)rYrZr�r���
linecolors)rrr8r�rrr�)r:rYrZrr(r;rls       r<�test_y_listlikez"TestDataFramePlots.test_y_listlike�ss���a��V�1�a�&��1�v�>�
?���"�'�'�S�A�S�9�
�W�W�q�A�S��W�
7���2�8�8�}��A��&�&�&��b�l�l�n��8r>zx,y,colnamesc�f�tddgddgd��}||_t|j||��y)NrDr"rWr%r�rX)rr/rr8)r:rYrZ�colnamesr;s     r<�test_xy_args_integerz'TestDataFramePlots.test_xy_args_integer�s2���a��V�1�a�&�1�
2����
��"�'�'�Q�!�,r>c���ttjjd�j	d��tjjd�j	d��tj
d�tjjd�j	d��zd��}|jjddd��}t|j�d	k(sJ�y)
Nr"r�r�r�r�r*r$)rYrZ�gridsizerD�
rr2r3r4r�r�r8r�r�r�rks   r<�test_hexbin_basicz$TestDataFramePlots.test_hexbin_basics���
��Y�Y�*�*�1�-�5�5�2�5�>��Y�Y�*�*�1�-�5�5�2�5�>��Y�Y�r�]�R�Y�Y�%:�%:�1�%=�%E�%E�2�%E�%N�N�
�
���W�W�^�^�c�S�2�^�
6���2�>�>�"�a�'�'�'r>c��ttjjd�j	d��tjjd�j	d��tj
d�tjjd�j	d��zd��}|jjddd��}t|d	jj�dk(sJ�t|d
d��y)
Nr"r�r�r�r�r*T)rYrZrBrrDr�rE)rr2r3r4r�r�r8r�r��figurerJrrIs   r<�test_hexbin_basic_subplotsz-TestDataFramePlots.test_hexbin_basic_subplotss���
��Y�Y�*�*�1�-�5�5�2�5�>��Y�Y�*�*�1�-�5�5�2�5�>��Y�Y�r�]�R�Y�Y�%:�%:�1�%=�%E�%E�2�%E�%N�N�
�
���w�w�~�~��s�T�~�:���4��7�>�>�&�&�'�1�,�,�,��$��6�:r>�reduce_Cc���ttjjd�j	d��tjjd�j	d��tj
d�tjjd�j	d��zd��}|jjddd|��}t|j�d	k(sJ�y)
Nr"r�r�r�r�r*r�)rYrZr��reduce_C_functionrDr)r:rr;rls    r<�test_hexbin_with_cz%TestDataFramePlots.test_hexbin_with_cs���
��Y�Y�*�*�1�-�5�5�2�5�>��Y�Y�*�*�1�-�5�5�2�5�>��Y�Y�r�]�R�Y�Y�%:�%:�1�%=�%E�%E�2�%E�%N�N�
�
���W�W�^�^�c�S�C�8�^�
L���2�>�>�"�a�'�'�'r>zkwargs, expected�BuGnrrr�YlGnc���ttjjd�j	d��tjjd�j	d��tj
d�tjjd�j	d��zd��}|jjd	ddd�|��}|jdjj|k(sJ�y)
Nr"r�r�r�r�r*rXrr)rr2r3r4r�r�r8r�r�rr�)r:rnr�r;rls     r<�test_hexbin_cmapz#TestDataFramePlots.test_hexbin_cmap,s�����Y�Y�*�*�1�-�5�5�2�5�>��Y�Y�*�*�1�-�5�5�2�5�>��Y�Y�r�]�R�Y�Y�%:�%:�1�%=�%E�%E�2�%E�%N�N�
�
���R�W�W�^�^�
3�c�S�
3�F�
3���~�~�a� �%�%�*�*�h�6�6�6r>c��ttjjd�jd�gd�gd���}d}t	j
t|��5|jj�ddd�y#1swYyxYw)Nr"�rprW��X�Y�Z�r�r�r��d�er.z/pie requires either y column or 'subplots=True'r[)	rr2r3r4r^r_rr8r�rbs   r<�test_pie_df_errz"TestDataFramePlots.test_pie_df_err?sg��
��I�I�!�!�!�$�+�+�F�3�#�+�
��
@��
�]�]�:�S�
1�	��G�G�K�K�M�	�	�	�s�B�B	r)c��ttjjd�jd�gd�gd���}t	|j
j|��}t|j|j�y)Nr"r&r'r+r.r�)
rr2r3r4rr8r�r�textsr0)r:rZr;rls    r<�test_pie_dfzTestDataFramePlots.test_pie_dfIsW��
��I�I�!�!�!�$�+�+�F�3�#�+�
��
�r�w�w�{�{�a�
0���2�8�8�R�X�X�.r>c��ttjjd�jd�gd�gd���}t	|j
jdd��}t|�t|j�k(sJ�|D]"}t|j|j��$t||j�D]\}}|j�|k(r�J�y)Nr"r&r'r+r.Tr@)rr2r3r4rr8r�r�r/rr0r0r�r)r:r;rJrl�ylabels     r<�test_pie_df_subplotsz'TestDataFramePlots.test_pie_df_subplotsSs���
��I�I�!�!�!�$�+�+�F�3�#�+�
��
!��G�G�K�K���
��
�4�y�C��
�
�O�+�+�+��	3�B��r�x�x����2�	3��d�B�J�J�/�	-�J�B���=�=�?�f�,�,�,�	-r>c��ttjjd�jd�gd�gd���}gd�}gd�}t	|j
jdd||�	�}t|�t|j�k(sJ�|D]/}t|j|�t|j|�
��1y)Nr"r&r'r+r.r�)r��gr�r��mT)rArBrSr(r)
rr2r3r4rr8r�r�r/rr0rr�)r:r;rS�
color_argsrJrls      r<�test_pie_df_labels_colorsz,TestDataFramePlots.test_pie_df_labels_colorsds���
��I�I�!�!�!�$�+�+�F�3�#�+�
��
+��.�
� ��G�G�K�K�����
���4�y�C��
�
�O�+�+�+��	=�B��r�x�x��0��"�*�*��<�	=r>c��ttjjd�jd��}t	d�D]!}tj
|j||f<�#tjjd��\}}ddi}tjd�5|jjdd|dd�|��ddd�gd�}t|�D]�\}}t|�}d	||<|j D�	cgc]}	|	j#���}
}	|
|k(sJ�|j%�j'�D�	cgc]}	|	j#���}}	|d|||d
zdz}||k(r��J�y#1swY��xYwcc}	wcc}	w)Nr")r%r%r%)�ncols�	normalizeT)rBrlr4)�0�1�2�3r�rDr)rr2r3r4r�r��ilocr�r�rBrrr8r�r�r6r0r�r�r�)
r:r;r�r�rJrn�
base_expectedrlr�rYr��
result_labels�expected_labelss
             r<�test_pie_df_nanz"TestDataFramePlots.test_pie_df_nanyst��
�r�y�y�,�,�Q�/�6�6�v�>�
?���q��	#�A��F�F�B�G�G�A�q�D�M�	#��*�*�%�%�A�%�.���4��t�$��
�
'�
'��
-�	G��B�G�G�K�K�F��$�t�F�v�F�	G�-�
��t�_�	4�E�A�r��M�*�H��H�Q�K�,.�H�H�5�q�a�j�j�l�5�F�5��X�%�%�%�
46�=�=�?�3L�3L�3N�O�a�Q�Z�Z�\�O�M�O�+�B�Q�/�-��A���2H�H�O� �O�3�3�3�	4�		G�	G��6��Ps�#!E0�?E<�?F�0E9r�)r�r�r�c�8�tjd�tjddd�d�}t|�}tjd�dztjd�dzd�}t|�}t	|j
fd|i|��}t
|dd�	�y)
Nr�rrMrX皙�����?皙�����?�yerrr"��xerrrI�r2r�r�onesrr8r)r:rnr,r;�d_err�df_errrls       r<�test_errorbar_plotz%TestDataFramePlots.test_errorbar_plot�s����)�)�B�-�b�i�i��A�r�&:�;��
�q�\���g�g�b�k�C�'�b�g�g�b�k�C�.?�@���5�!���r�w�w�
>�V�
>�v�
>���R�a�a�0r>c�B�tjd�tjddd�d�}t|�}tjd�dztjd�dzd�}t|�}t	|dzj
||dd	�
�}t
|dd��y)
Nr�rrMrXrGrHrDr�T)rIrKrNr�r"rJrL)r:r,r;rNrOrls      r<�test_errorbar_plot_barz)TestDataFramePlots.test_errorbar_plot_bar�s����)�)�B�-�b�i�i��A�r�&:�;��
�q�\���g�g�b�k�C�'�b�g�g�b�k�C�.?�@���5�!��
�
�!�V�M�M��V�%�T�
��	�R�a�a�0r>c�f�tjd�tjddd�d�}t|�}t|djtj
d�dz��}t
|dd�	�t|jtj
d
�dz��}t
|dd�	�y)Nr�rrMrXrZrH�rIrDrJ)r"r�r")r2r�rrr8rMr�r:r,r;rls    r<�test_errorbar_plot_yerr_arrayz0TestDataFramePlots.test_errorbar_plot_yerr_array�s����)�)�B�-�b�i�i��A�r�&:�;��
�q�\��
�r�#�w�|�|�"�'�'�"�+��2C�
D���R�a�a�0�
�r�w�w�R�W�W�W�-=��-C�
D���R�a�a�0r>rIu誤差c�B�tjd�tjddd�d�}t|�}tjd�dz||<t	|j
|��}t
|dd��t	|j
d	d
|��}t
|dd��y)
Nr�rrMrXrGrTr"rJrZrY)rZrYrIrDrL)r:rIr,r;rls     r<�test_errorbar_plot_column_namez1TestDataFramePlots.test_errorbar_plot_column_name�s~���)�)�B�-�b�i�i��A�r�&:�;��
�q�\���7�7�2�;��$��4��
�r�w�w�T�
2���R�a�a�0�
�r�w�w�#��4�
@���R�a�a�0r>c�L�tjd�tjddd�d�}t|�}tjt
�5|j
tjjd�jd���ddd�y#1swYyxYw)Nr�rrMrXr"rKrT)
r2r�rr�external_error_raisedrr8r3r4r5�r:r,r;s   r<�&test_errorbar_plot_external_valueerrorz9TestDataFramePlots.test_errorbar_plot_external_valueerror�sy���)�)�B�-�b�i�i��A�r�&:�;��
�q�\��
�
%�
%�j�
1�	G��G�G����.�.�q�1�A�A�"�E�G�F�	G�	G�	G�s�?B�B#c� �tjd�tjddd�d�}t|�}tdgdzdgdzd��}tjt
�5|j
|��ddd�y#1swYyxYw)Nr�rrMrX�zzzrT)r2r�rrrZr�r8)r:r,r;rOs    r<�%test_errorbar_plot_external_typeerrorz8TestDataFramePlots.test_errorbar_plot_external_typeerror�sv���)�)�B�-�b�i�i��A�r�&:�;��
�q�\���%��2��U�G�b�L�A�B��
�
%�
%�i�
0�	!��G�G��G� �	!�	!�	!�s�(B�B
)rar�r��y_errr�rG)r�rHc��ttjd�tjddd�d��}t|j||��}t|dd��y)Nr�rrMrX�rIrNr"rJ�rr2r�rr8r)r:rNr`r;rls     r<�!test_errorbar_plot_different_yerrz4TestDataFramePlots.test_errorbar_plot_different_yerr�sF���R�Y�Y�r�]����2�q�"�1E�F�
G��
�r�w�w�U��
>���R�a�a�0r>zy_err, x_err)rGrGc��ttjd�tjddd�d��}t|j|||��}t|dd��y)Nr�rrMrX)rIrKrNr"rJrc)r:rNr`�x_errr;rls      r<�&test_errorbar_plot_different_yerr_xerrz9TestDataFramePlots.test_errorbar_plot_different_yerr_xerr�sH���R�Y�Y�r�]����2�q�"�1E�F�
G��
�r�w�w�U��T�
J���R�a�a�0r>c�6�ttjd�tjddd�d��}ttjd�dztjd�dzd��}t	|j
d||d|��}t
|d	d	�
�y)Nr�rrMrXrGrHT)rArIrKrBrNrDrJ)rr2r�rMrr8r)r:rNr;rOrJs     r<�/test_errorbar_plot_different_yerr_xerr_subplotszBTestDataFramePlots.test_errorbar_plot_different_yerr_xerr_subplots�s���R�Y�Y�r�]����2�q�"�1E�F�
G��������s�!2������s�9J�K�L�� ��G�G������

��	�T���2r>zIterator is consumed)rUr_c	��tjd�tjddd�d�}t|�}t|jtjdt|����}t|dd��y)	Nr�rrMrXr�rTr"rJ)	r2r�rrr8�	itertools�repeatr�rrUs    r<�test_errorbar_plot_iteratorz.TestDataFramePlots.test_errorbar_plot_iteratorsY���)�)�B�-�b�i�i��A�r�&:�;��
�q�\���r�w�w�Y�-=�-=�c�3�r�7�-K�
L���R�a�a�0r>c���ttjtjj	d�jd���}ttjtjj	d�jd���}t
|j|��}t|dd��t
|jdd��}t|dd��y)Nr"r�rTrrJrD)rZrI�	rr2�absr3r4r5rr8r�r:r;rOrls    r<�'test_errorbar_with_integer_column_namesz:TestDataFramePlots.test_errorbar_with_integer_column_namess���
�r�v�v�b�i�i�3�3�A�6�F�F�w�O�P�
Q���2�6�6�"�)�)�"7�"7��":�"J�"J�7�"S�T�U��
�r�w�w�V�
4���R�a�a�0�
�r�w�w�!�!�
4���R�a�a�0r>c��ttjtjj	d�jd���}ttjtjj	d�jd��ddg��}t
|j||��}t|dd��y)Nr"rfr�rr�rbrJro)r:rNr;rOrls     r<�'test_errorbar_with_partial_columns_kindz:TestDataFramePlots.test_errorbar_with_partial_columns_kinds����r�v�v�b�i�i�3�3�A�6�F�F�w�O�P�
Q����F�F�2�9�9�(�(��+�;�;�G�D�E�PQ�ST�v�
���r�w�w�V�$�
?���R�a�a�0r>c���ttjtjj	d�jd���}ttjtjj	d�jd��ddg��}t
ddd�	�}|j|d
��|j|d
��t|j|d�
�}t|dd��y)Nr"rfr�rr��1/1/2000r$�MEr+T)�inplacerarbrJ)rr2rpr3r4r5rr�rr8r)r:r;rO�ixrls     r<�&test_errorbar_with_partial_columns_dtiz9TestDataFramePlots.test_errorbar_with_partial_columns_dti$s���
�r�v�v�b�i�i�3�3�A�6�F�F�w�O�P�
Q����F�F�2�9�9�(�(��+�;�;�G�D�E�PQ�ST�v�
���
�B�T�
:��
���R���&�����T��*�
�r�w�w�V�&�
A���R�a�a�0r>�err_boxc��|Sr�rr�s r<�<lambda>zTestDataFramePlots.<lambda>1s��1�r>c�,�tjd�tjddd�d�}t|�}|tjd�dztjd�dzd��}t	|j
|��}t
|dd	�
�y)Nr�rrMrXrGrH)rYr�rTrDrJrL)r:r{r,r;�errrls      r<�&test_errorbar_with_partial_columns_boxz9TestDataFramePlots.test_errorbar_with_partial_columns_box0sq���)�)�B�-�b�i�i��A�r�&:�;��
�q�\���B�G�G�B�K�#�-�B�G�G�B�K�#�4E�F�G��
�r�w�w�S�
1���R�a�a�0r>c���tjd�tjddd�d�}tjd�dztjd�dzd�}tddd	�
�}t	||��}t	||��}t|j||��}t|dd
��t|j||��}t|dd
��t|jd|d|��}t|dd��t|jdd|��}t|dd��t|j||��}t|dd
��t|jd||d��}t|dd��y)Nr�rrMrXrGrHrvz1/1/2001rw)r-rgrbr"rJrZrY)rZrIrNrDT)rArNrIrB)r2r�rMrrrr8r)	r:rNr,rNry�tdf�tdf_errrlrJs	         r<�test_errorbar_timeseriesz+TestDataFramePlots.test_errorbar_timeseries9s6���)�)�B�-�b�i�i��A�r�&:�;���g�g�b�k�C�'�b�g�g�b�k�C�.?�@���
�J�T�
:�����$���E��,��
�s�x�x�g�D�
A���R�a�a�0�
�s�x�x�e�$�
?���R�a�a�0�
�s�x�x�3�W�S�\��
M���R�a�a�0�
�s�x�x�3�S�t�
D���R�a�a�0�
�s�x�x�g�D�
A���R�a�a�0� ��H�H�����
��	�T���2r>c��tjjd�jd�}ttjd�jdd��j}|j||dz��}|jdj�djdd�df}|ddd�dftjd	dg�z}tj||�tjd
�}t!j"t$|��5|j|j��ddd�y#1swYyxYw)
Nr")rWr"rpr<rWrp)rIrKrDrrMzCAsymmetrical error bars should be provided with the shape (3, 2, 5)r[rT)r2r3r4rr��reshape�Tr8r��	get_paths�verticesr�rr�r�r�r^r_r)r:rr;rl�yerr_0_0�expected_0_0rcs       r<�test_errorbar_asymmetricalz-TestDataFramePlots.test_errorbar_asymmetrical[s���i�i�#�#�A�&�-�-�i�8���r�y�y��}�,�,�Q��2�
3�
5�
5��
�W�W�#�C�!�G�W�
,���>�>�!�$�.�.�0��3�<�<�Q��T�B���1�a��7�|�b�h�h��A�w�&7�7��
���x��6��i�i�Q�
���]�]�:�S�
1�	 ��G�G����G��	 �	 �	 �s�D<�<Ec�$�ttjjd�jd�t	t
jdd���}t|jd��t|j|��tjd�5|j�}t|j�dk(sJ�tj||j�t|j�dk(sJ�	ddd�y#1swYyxYw)	Nr"rfr$rgT)�tablerrD)rr2r3r4r6rirjrr8rrr��tablesrr�r�rks   r<�
test_tablezTestDataFramePlots.test_tablems���
��I�I�!�!�!�$�+�+�G�4��v�+�+�C�R�0�1�
��	�"�'�'��.��"�'�'��,��
'�
'��
-�	'�����B��r�y�y�>�Q�&�&�&��N�N�2�r�t�t�$��r�y�y�>�Q�&�&�&�		'�	'�	'�s
�A%D�Dc���ttjtjj	d�jd��t
d�ddg��}ttjtjj	d�jd��dzt
d�ddg��}t|jjdd��}t|dd�	�t|jjdd|�
�}t|dd�	�t|jjdd|��}t|dd�	�t|jjdd||�
�}t|dd�	�y)Nr")rpr"rprYrZr"rXrrJ)rYrZrKrD)rYrZrI)rYrZrKrI)rr2rpr3r4r5r�rr8r�rrqs    r<�test_errorbar_scatterz(TestDataFramePlots.test_errorbar_scatter|s��
��F�F�2�9�9�(�(��+�;�;�F�C�D���(��#�J�
��
��F�F�2�9�9�(�(��+�;�;�F�C�D�q�H���(��#�J�
���r�w�w���#��
=���R�a�a�0�
�r�w�w���#��6�
J���R�a�a�0�
�r�w�w���#��6�
J���R�a�a�0�
�r�w�w���#��6�PV�
W���R�a�a�0r>c����d�fd�	}ttjtjj	d�jd��gd���}|jjddd	d
d���t�d
d
��|�jdd��|�jdd��|jjddd
d���t�dd
��|�jdd��y)N�has_xerrc	�R���g}t�fd��jD��}|D]0}t|�r|j|�� |j	|��2|D�cgc]}|�j
vs�|��}}t
|tj|gt|�z���ycc}w)Nc3�R�K�|]}t|�d�s�|j��� y�w)FN)r�r)r�r��has_errs  �r<r�z`TestDataFramePlots.test_errorbar_scatter_color.<locals>._check_errorbar_color.<locals>.<genexpr>�s �����U�A�'�!�W�e�:T����U�s�'�'r)
�next�
containersr�extend�appendr�rr2r�r�)	r�r�r�r�errs�elrY�	err_linesrls	  `     �r<�_check_errorbar_colorzMTestDataFramePlots.test_errorbar_scatter_color.<locals>._check_errorbar_color�s�����E��U����U�U�D��
%����#��L�L��$��L�L��$�	
%�
%*�A�q�Q�"�.�.�-@��A�I�A��)����(��c�)�n�9T�0U�V��Bs�B$�0B$r")r$rpr+r�r�r�r,r-r)rYrZrKrIr�rDrJ)r��has_yerrr
)rYrZrIr�r)r�)
rr2rpr3r4r5r8r�rr�)r:r�r;rls   @r<�test_errorbar_scatter_colorz.TestDataFramePlots.test_errorbar_scatter_color�s����		W���F�F�2�9�9�(�(��+�;�;�G�D�E�-�
���W�W�_�_�s�c��#��_�
G���R�a�a�0��b�m�m�U�J�G��b�m�m�U�J�G�
�W�W�_�_�s�c��7�_�
C���R�a�a�0��b�m�m�W�j�Ir>c��tgd�dd��}tjttfd��5|jdddd	�
�ddd�y#1swYyxYw)Nr�r%rez'unknown' is not ar[r�r��unknownr�)rYrZrrN)rr^r_r�KeyErrorr8r9s  r<�test_scatter_unknown_colormapz0TestDataFramePlots.test_scatter_unknown_colormap�sR��
�Y�Q�/�
0��
�]�]�J��1�9M�
N�	F��G�G�c�S�9�9�G�E�	F�	F�	F�s�A�Ac���ddlm}|jd�t�\}}t	gd�gd�gd�gd�d��}d�}|D]}|jddd|d	�
��|j
|j��||�|jd�t�\}}tjt�5|jd	|d	��}ddd�||�y#1swY�xYw)Nrr��rDr"rWr%rpr��r�r�r�r,c��|D]7}t|j�dk(sJ�t|j�d���9|d|dfD]:}t|j	�d��t|j	d��d���<|d|dfD]:}t|j	�d��t|j	d��d���<y)	NrDTr}rr"FrrW)r�rrrcr��rJrls  r<�_checkz5TestDataFramePlots.test_sharex_and_ax.<locals>._check�s����
C���2�8�8�}��)�)�)��r�1�1�3�T�B�
C��A�w��Q��(�
N���r�1�1�3�U�C��r�1�1��1�=�u�M�
N��A�w��Q��(�
M���r�1�1�3�T�B��r�1�1��1�=�t�L�
Mr>r�r�rvT)rYrZrvrl�sharex)rBrlr�)r�r��close�_generate_4_axes_via_gridspecrr8�tight_layoutr�rrr�r:r��gsrJr;r�rls       r<�test_sharex_and_axz%TestDataFramePlots.test_sharex_and_ax�s���	(��	�	�%��0�2���D�
�'�'�'�'�	
�
��		M��	E�B��G�G�c�S��B�t�G�D�	E�
������	�"��t���	�	�%��0�2���D�
�
'�
'��
4�	@��7�7�D�T�$�7�?�D�	@��t��	@�	@�s�;C!�!C*c��ddlm}tgd�gd�gd�gd�d��}t�\}}|D]}|j	ddd|���|j|j
��|D]o}t|j�dk(sJ�t|j�d	�
�t|j�d	�
�t|jd	��d	�
��qy�Nrr�r�r�r�rv)rYrZrvrlrDTr}r�r�r�rr�r8r�r�r�rrrcr��r:r�r;r�rJrls      r<�test_sharex_false_and_axz+TestDataFramePlots.test_sharex_false_and_ax�s���	(�
�'�'�'�'�	
�
��1�2���D��	8�B��G�G�c�S��B�G�7�	8�	������	�"��	I�B��r�x�x�=�A�%�%�%��2�-�-�/��>��2�-�-�/��>��2�-�-�D�-�9�4�H�		Ir>c��ddlm}t�\}}tgd�gd�gd�gd�d��}d�}|D]}|j	ddd|d�	��|j|j
��||�|jd
�t�\}}tjt�5|j	d|d��}ddd�|j|j
��||�y#1swY�1xYw)Nrr�r�c�^�|D]T}t|j�dk(sJ�t|j�d��t|jd��d���V|d|dfD]}t|j	�d���|d|dfD]}t|j	�d���y)	NrDTr}rrr"rWF)r�rrr�rcr�s  r<r�z5TestDataFramePlots.test_sharey_and_ax.<locals>._checks����
M���2�8�8�}��)�)�)��r�1�1�3�T�B��r�1�1��1�=�t�L�
M��A�w��Q��(�
C���r�1�1�3�T�B�
C��A�w��Q��(�
D���r�1�1�3�U�C�
Dr>r�r�rvT)rYrZrvrlr�r�)rBrlr�)r�r�r�rr8r�r�r�rrrr�s       r<�test_sharey_and_axz%TestDataFramePlots.test_sharey_and_ax�s���	(�0�2���D�
�'�'�'�'�	
�
��	D��	E�B��G�G�c�S��B�t�G�D�	E�
������	�"��t���	�	�%��0�2���D�
�
'�
'��
4�	@��7�7�D�T�$�7�?�D�	@�	������	�"��t��		@�	@�s�*C/�/C8c��ddlm}tgd�gd�gd�gd�d��}t�\}}|D]}|j	ddd|���|j|j
��|D]o}t|j�dk(sJ�t|j�d	�
�t|j�d	�
�t|jd	��d	�
��qyr�r�r�s      r<�test_sharey_and_ax_tightz+TestDataFramePlots.test_sharey_and_ax_tights���'�
�'�'�'�'�	
�
��1�2���D��	8�B��G�G�c�S��B�G�7�	8�	������	�"��	I�B��r�x�x�=�A�%�%�%��2�-�-�/��>��2�-�-�/��>��2�-�-�D�-�9�4�H�		Ir>c	���tjd�i}|dvr�ttjjd�j
d��tjjd�j
d��tjd�tjjd�j
d��zd��}ddd	�}n�|d
k(rmttjjd�jd�ttd�t�
�tddd����j�}n^ttjjd�jd�ttd�t�
�tddd����}tj|j dd|i|���}t"j%d�t'j(�|��J�y)z3Check that every plot type gets properly collected.rs)r�r�r�r"r�r�r�r�r*rXrBr#r&r'r)r$r+r.rNr�Nr)r^rxrr2r3r4r�r�r5rr6r7rrp�weakref�refr8r�r��gc�collect)r:rN�argsr;r�s     r<�test_memory_leakz#TestDataFramePlots.test_memory_leak4s���	���G�$����/�/�����.�.�q�1�9�9�r�9�B����.�.�q�1�9�9�r�9�B����2�����)>�)>�q�)A�)I�)I�r�)I�)R�R���B��3�'�D�
�V�^���	�	�%�%�a�(�8�8��A��d�6�l�&�9� ��r��D���c�e�	
���	�	�%�%�a�(�8�8��A��d�6�l�&�9� ��r��D��B��k�k�'�"�'�'�4�t�4�t�4�5��	�	�	�%��
�
�
���u�}��}r>c�H	�	�
�ddlm�	ddlm�
t	t
jjd�jd�tdd����}tt
jjd�jd�|jtd	��
�}�	�
fd�}�	�
fd�}|�|�fD]�\}}|j|�
�}t|j�dk(sJ�|j|�
�}t|j�dk(sJ�||fD]U}t!|j#�d��t!|j%�d��t!|j%d��d���W�
j'd���|�|�fD]�\}}|jd||g��}t|j�dk(sJ�t|j�dk(sJ�|D]U}t!|j#�d��t!|j%�d��t!|j%d��d���W�
j'd���|�\}}t)j*t,�5|jd||gdd��}ddd�tdj�dk(sJ�t|dj�dk(sJ�||fD]}t!|j#�d���t!|dj%�d��t!|dj%d��d��t!|dj%�d��t!|dj%d��d���
j'd�|�\}}t)j*t,�5|jd||gdd��}ddd�t|dj�dk(sJ�t|dj�dk(sJ�t!|dj#�d��t!|dj#�d��||fD]:}t!|j%�d��t!|j%d��d���<�
j'd�y#1swY��xYw#1swY��xYw)Nr��gridspecr"r$rv�r,rgr��ABr"c����jdd�}�j�}|j|dd�dd�f�}|j|ddd�f�}||fS)NrWrDr"��GridSpecrr��r�r�rVrWr�r�s    ��r<�_get_vertical_gridzSTestDataFramePlots.test_df_gridspec_patterns_vert_horiz.<locals>._get_vertical_gridisY����"�"�1�a�(�B��*�*�,�C��/�/�"�R�a�R��U�)�,�C��/�/�"�Q��T�(�+�C���8�Or>c����jdd�}�j�}|j|dd�dd�f�}|j|dd�df�}||fS)NrDrWr"r�r�s    ��r<�_get_horizontal_gridzUTestDataFramePlots.test_df_gridspec_patterns_vert_horiz.<locals>._get_horizontal_gridpsY����"�"�1�a�(�B��*�*�,�C��/�/�"�Q����U�)�,�C��/�/�"�Q��T�(�+�C���8�Or>�rlrDTr}rr�r��rBrlr�r�F�rr�r�r�r
r2r3r4r5rrr0r6r8r�rrrcr�r�rrr)r:�tsr;r�r�rVrWrlrJr�r�s         @@r<�$test_df_gridspec_patterns_vert_horizz7TestDataFramePlots.test_df_gridspec_patterns_vert_horizYs'���'�'�
��I�I�!�!�!�$�4�4�R�8��Z��4�
��
��I�I�!�!�!�$�4�4�W�=��(�(���J�
��	�	�,�-�/C�/E�F�		�H�C���'�'�S�'�/�C��s�y�y�>�Q�&�&�&��'�'�S�'�/�C��s�y�y�>�Q�&�&�&��C�j�
M���r�1�1�3�T�B��r�1�1�3�T�B��r�1�1��1�=�t�L�
M�
�I�I�e��		�,�-�/C�/E�F�	�H�C���7�7�D�c�3�Z�7�8�D��s�y�y�>�Q�&�&�&��s�y�y�>�Q�&�&�&��
M���r�1�1�3�T�B��r�1�1�3�T�B��r�1�1��1�=�t�L�
M�
�I�I�e��	�&�'���S�
�
'�
'��
4�	S��7�7�D�c�3�Z��T�7�R�D�	S��4��7�=�=�!�Q�&�&�&��4��7�=�=�!�Q�&�&�&���*�	?�B��2�-�-�/��>�	?�	�t�A�w�.�.�0�%�@��t�A�w�.�.�T�.�:�E�J��t�A�w�.�.�0�$�?��t�A�w�.�.�T�.�:�D�I��	�	�%��(�)���S�
�
'�
'��
4�	S��7�7�D�c�3�Z��T�7�R�D�	S��4��7�=�=�!�Q�&�&�&��4��7�=�=�!�Q�&�&�&��t�A�w�.�.�0�$�?��t�A�w�.�.�0�%�@���*�	I�B��2�-�-�/��>��2�-�-�D�-�9�4�H�	I�	�	�	�%��7	S�	S�� 	S�	S�s�4R�"R�R�R!c�J���ddlm�ddlm�t	t
jjd�jd�tdd����}��fd�}|�}tt
jjd�jd	�|jtd
���}|jd|�
�}|D]o}t|j�dk(sJ�t!|j#�d��t!|j%�d��t!|j%d��d���q�j'd�|�}t)j*t,�5|jd|dd��}ddd�|D]}t|j�dk(r�J�|d|dfD]}t!|j#�d���|d|dfD]}t!|j#�d���|d|dfD]:}t!|j%�d��t!|j%d��d���<|d|dfD]:}t!|j%�d��t!|j%d��d���<�j'd�y#1swY��xYw)Nrr�r"r$rvr�rgc����jdd�}�j�}|j|dd�dd�f�}|j|dd�df�}|j|ddd�f�}|j|d�}||||fS)NrWr"rNr�)r�r�rVrW�ax3�ax4r�r�s      ��r<�_get_boxed_gridzKTestDataFramePlots.test_df_gridspec_patterns_boxed.<locals>._get_boxed_grid�s�����"�"�1�a�(�B��*�*�,�C��/�/�"�R�a�R��!��V�*�-�C��/�/�"�R�a�R��U�)�,�C��/�/�"�Q����U�)�,�C��/�/�"�T�(�+�C���S�#�%�%r>r#r&r"Tr�rDr}rr�r�rWFr�)r:r�r�rJr;rlr�r�s      @@r<�test_df_gridspec_patterns_boxedz2TestDataFramePlots.test_df_gridspec_patterns_boxed�ss���'�'�
��I�I�!�!�!�$�4�4�R�8��Z��4�
��	&�� ��
��I�I�!�!�!�$�4�4�W�=��(�(���L�
��
�w�w���w�.���	I�B��r�x�x�=�A�%�%�%��2�-�-�/��>��2�-�-�/��>��2�-�-�D�-�9�4�H�	I�	�	�	�%��� ��
�
'�
'��
4�	M��7�7�D�T�$�t�7�L�D�	M��	&�B��r�x�x�=�A�%�%�%�	&���7�D��G�$�	?�B��2�-�-�/��>�	?���7�D��G�$�	@�B��2�-�-�/��?�	@���7�D��G�$�	J�B��2�-�-�/��?��2�-�-�D�-�9�5�I�	J���7�D��G�$�	I�B��2�-�-�/��>��2�-�-�D�-�9�4�H�	I�	�	�	�%��	M�	M�s�%J�J"c�v�ttgd�gd�d��tjjddd���y)Nr�r�rer�r�rX)�kws)rrr�PlotAccessor�_dataframe_kinds)r:s r<�test_df_grid_settingsz(TestDataFramePlots.test_df_grid_settings�s.����I�I�6�7��!�!�2�2���$�	
r>c��tjj�\}}|jgd��t	t
jjd�j
d��j|��y)N)rGrGrGrGr"r$r�)	r�r�rB�add_axesr
r2r3r4r8)r:r�rls   r<�test_plain_axesz"TestDataFramePlots.test_plain_axes�sW���*�*�%�%�'���R����)�*��r�y�y�$�$�Q�'�.�.�r�2�3�8�8�B�8�?r>c�\�ttjjd�j	d�tjjd�j	d�d��}t
jj�}|jd�}|jd|dddd�	�y)
Nr"r�re)rrrDrDr�r�r��hsv)rNrlrYrZr�r)
rr2r3r4r5r�r�rr�r8)r:r;r�rls    r<�test_plain_axes_dfz%TestDataFramePlots.test_plain_axes_df�s�����Y�Y�*�*�1�-�=�=�a�@��Y�Y�*�*�1�-�=�=�a�@�
�
���j�j���!��
�\�\�,�
'��
���Y�2���s���Gr>c��tjj�\}}ddlm}||�}|jddd��}t
tjjd�jd��j|�	�t
tjjd�jd��j|�	�y)
Nr)�make_axes_locatabler"z5%g�������?)r�padr"r$r�)r�r�rB�mpl_toolkits.axes_grid1r��append_axesr
r2r3r4r8)r:r�rlr��divider�caxs      r<�#test_plain_axes_make_axes_locatablez6TestDataFramePlots.test_plain_axes_make_axes_locatable�s����*�*�%�%�'���R�?�%�b�)���!�!�'��$�!�?���r�y�y�$�$�Q�'�.�.�r�2�3�8�8�B�8�?��r�y�y�$�$�Q�'�.�.�r�2�3�8�8�C�8�@r>c��tjj�\}}ddlm}||ddd��}ttjjd�jd��j|�	�ttjjd�jd��j|�	�y)
Nr)�
inset_axesz30%r0rW)r�rVr�r"r$r�)
r�r�rB�%mpl_toolkits.axes_grid1.inset_locatorr�r
r2r3r4r8)r:r�rlr��iaxs     r<�test_plain_axes_make_inset_axesz2TestDataFramePlots.test_plain_axes_make_inset_axes	s����*�*�%�%�'���R�D���5��!�<���r�y�y�$�$�Q�'�.�.�r�2�3�8�8�B�8�?��r�y�y�$�$�Q�'�.�.�r�2�3�8�8�C�8�@r>�method)rar�r�c�J�ttjjd�j	d�td���j
d���j
d���}d	}d
dg}||dd
�}t|j|�di|��}t|j|��y)Nr")r<r"r�r�c�6�|jj�Sr�)r*r��r;s r<r}zBTestDataFramePlots.test_secondary_axis_font_size.<locals>.<lambda>	s��������r>�r�c� �|jdzS)Ng�������?r�r�s r<r}zBTestDataFramePlots.test_secondary_axis_font_size.<locals>.<lambda>	s�������r>)r�r�r�r�T)ryrC�
mark_right)rJrFr)rr2r3r4r5r6�assignr�r8rr)r:r�r;rCrLrnrls       r<�test_secondary_axis_font_sizez0TestDataFramePlots.test_secondary_axis_font_size	s���
��	�	�%�%�a�(�8�8��A�4�PT�:�
��V�.�V�
/�
�V�+�V�
,�	����3�Z��!#���N��
%�W�R�W�W�f�
%�
/��
/�������Ar>c�l�tgd�gd�gd�d��}|jjd��}|jdd�|j	�D�cgc]}|j���}}t
t||j���}|d	d
k(sJ�|ddk(sJ�|d
dk(sJ�ycc}w)N)rWr"rW)r��*�)�Monday�Tuesday�	Wednesday)�sales�visits�dayrr�rMrWr�r/rr0rr1)	rr8rB�set_xlimr�r�rnr��
get_xticks)r:r;rl�t�xticklabels�labels_positions      r<�test_x_string_values_ticksz-TestDataFramePlots.test_x_string_values_ticks!	s����"�&�9�
�
���W�W�\�\�E�\�
"��
���B���-/�-?�-?�-A�B��q�z�z�|�B��B��s�;��
�
��@�A���x�(�C�/�/�/��y�)�S�0�0�0��{�+�s�2�2�2��Cs�B1c���tjddgddgg�}ttjjd�j
d�ddg|��}|j�}|jd	d
�|j�D�cgc]}|j���}}tt||j���}|ddk(sJ�|d
dk(sJ�|ddk(sJ�|ddk(sJ�ycc}w)Nr�i�rDr"r�r�r*r.rMr%z	(2012, 1)r/z	(2012, 2)r0z	(2013, 1)r1z	(2013, 2)r2)r�from_productrr2r3r4r5r8rr�r�rnr�r)r:r0r;rlrrr	s       r<�test_x_multiindex_values_ticksz1TestDataFramePlots.test_x_multiindex_values_ticks4	s����'�'�$����1�v�(>�?��
��I�I�!�!�!�$�4�4�V�<��#�J��
��
�W�W�Y��
���B���-/�-?�-?�-A�B��q�z�z�|�B��B��s�;��
�
��@�A���{�+�s�2�2�2��{�+�s�2�2�2��{�+�s�2�2�2��{�+�s�2�2�2��
Cs�C1c��tddgddg��}|j|��}|j�}|ddksJ�|ddkDsJ�y)Nr"r%rDrgrvr)rr8r4)r:rNr;rl�xlimss     r<�test_xlim_plot_linez&TestDataFramePlots.test_xlim_plot_lineG	sS����1�v�a��V�
,��
�W�W�$�W�
�����
���Q�x�!�|��|��Q�x�!�|��|r>c��tjj�\}}gd�}tgd�gd�gd�gd�d�|��}|gd�jj|d	�
�|dgj	|d�
�|j
�}|ddksJ�|ddkDsJ�|j�D�cgc]}|j���}}||k(sJ�ycc}w)N)�k1�k2�k3�k4)i�r ��r )i�ixr i�)rri@i�)rDrWr%rW)�s1�s2�s3ryrg)rrrF)rlrTryT)rlryrrDrW)	r�r�rBrr8r�r4r�r�)r:r�rl�indexesr;rrrs        r<�0test_xlim_plot_line_correctly_in_mixed_plot_typezCTestDataFramePlots.test_xlim_plot_line_correctly_in_mixed_plot_typeQ	s����*�*�%�%�'���R�*��
�.�-�.�+�	
��
��	���#�#�'�'�2�u�'�=�
�M�?�� � �B�D� �9����
���Q�x�!�|��|��Q�x�!�|��|�.0�-?�-?�-A�B��q�z�z�|�B��B��g�%�%�%��Cs�/Cc�>�tdgt��}|jsJ�|j�}t	|j��dk(sJ�|j�d}t	|j
��dk(sJ�t	|j��dk(sJ�y)N�foo)r/r(rDr)r�int�emptyr8r�r�rrf)r:r;rlras    r<�test_plot_no_rowsz$TestDataFramePlots.test_plot_no_rowsk	s���
��w�c�
2���x�x��x�
�W�W�Y���2�<�<�>�"�a�'�'�'��|�|�~�a� ���4�>�>�#�$��)�)�)��4�>�>�#�$��)�)�)r>c��tgd��}tjtd��5|j	�ddd�y#1swYyxYw)Nr�r�r[)rr^r_r�r8r9s  r<�test_plot_no_numeric_dataz,TestDataFramePlots.test_plot_no_numeric_datau	s9��
��
'��
�]�]�9�,E�
F�	��G�G�I�	�	�	�s�A�A)rar�r�r�rur�rBr�c��tjd�tjd�tjd�dztjd�dztjd�tjd�d�}t	|�}|jddg|��}t
|�dk(sJ�d	d
gddgd
gf}t||�D]@\}}|dk7r
t||��|dk(s�t
|j�t
|�k(r�@J�y)Nrsr$rDr+)r�r-)r�r,�rBrNrWr�r-r�r,r�r�rwra)
r^rxr2r�rr8r�r�rr)r:rNr,r;rJrDrlrSs        r<�test_group_subplotz%TestDataFramePlots.test_group_subplotz	s���	���G�$����2�����2���"����2���"����2�����2��
���q�\���w�w��Z� 8�t�w�D���4�y�A�~��~���:��S�z�C�5�9���d�O�4�	4�J�B���u�}�$�R��7��v�~��2�8�8�}��F��3�3�3�		4r>c��ttd��}d}tjt|��5|jdg��ddd�y#1swYyxYw)NrDz!An iterable subplots for a Seriesr[�r��rB)r
r�r^r_�NotImplementedErrorr8)r:�serrcs   r<�(test_group_subplot_series_notimplementedz;TestDataFramePlots.test_group_subplot_series_notimplemented�	sI���U�1�X���1��
�]�]�.�c�
:�	(��H�H�v�h�H�'�	(�	(�	(�s�A�Ac��ttjd�tjddg���}d}tjt|��5|jdg��ddd�y#1swYyxYw)Nr"r�r�r�z6An iterable subplots for a DataFrame with a MultiIndexr[r()	rr2�eyerr�r^r_r)r8rbs   r<�,test_group_subplot_multiindex_notimplementedz?TestDataFramePlots.test_group_subplot_multiindex_notimplemented�	s_��
�r�v�v�a�y�*�*@�*@�&�&�AQ�*R�
S��F��
�]�]�.�c�
:�	'��G�G�f�X�G�&�	'�	'�	'�s�A0�0A9c���ttjd�ddg��}d}tjt
|��5|j
dg��ddd�y#1swYyxYw)Nr"r�r�z4An iterable subplots for a DataFrame with non-uniquer[r'r()rr2r-r^r_r)r8rbs   r<�0test_group_subplot_nonunique_cols_notimplementedzCTestDataFramePlots.test_group_subplot_nonunique_cols_notimplemented�	sS��
�r�v�v�a�y�3��*�
5��D��
�]�]�.�c�
:�	'��G�G�f�X�G�&�	'�	'�	'�s�A�A&zsubplots, expected_msg))�{z(subplots should be a bool or an iterable)r��!each entry should be a list/tuple))rDr2)r'r2c���tjd�tjd�d�}t|�}tjt
|��5|j
|��ddd�y#1swYyxYw)Nr$rer[r(�r2r�rr^r_rr8)r:rB�expected_msgr,r;s     r<�test_group_subplot_bad_inputz/TestDataFramePlots.test_group_subplot_bad_input�	sX���)�)�B�-�b�i�i��m�4��
�q�\��
�]�]�:�\�
:�	'��G�G�X�G�&�	'�	'�	'�s�A.�.A7c���tjd�tjd�d�}t|�}ttj�td�kr8tjtd��5|jdg��ddd�ytjtd��5|jdg��ddd�y#1swYyxYw#1swYyxYw)	Nr$rez2.0.0z Column label\(s\) \['bad_name'\]r[)r��bad_namer(z-Column label\(s\) \[np\.str\_\('bad_name'\)\])	r2r�rr�__version__r^r_rr8r[s   r<�&test_group_subplot_invalid_column_namez9TestDataFramePlots.test_group_subplot_invalid_column_name�	s����)�)�B�-�b�i�i��m�4��
�q�\���2�>�>�"�W�W�%5�5����z�1T�U�
6����"3�!4��5�
6�
6�����"R��
6����"3�!4��5�
6�
6�
6�
6��
6�
6�s�7C�/C�C�C!c� �tjd�tjd�tjd�d�}t|�}tjt
d��5|j
ddg��ddd�y#1swYyxYw)Nr$r�zshould be in only one subplotr[re)r�r�r(r4r[s   r<�$test_group_subplot_duplicated_columnz7TestDataFramePlots.test_group_subplot_duplicated_column�	sf���)�)�B�-�b�i�i��m�"�)�)�B�-�H��
�q�\��
�]�]�:�-L�
M�	7��G�G�j�*�5�G�6�	7�	7�	7�s�&B�B
)rOr�r�c��tjd�tjd�d�}t|�}tjt
d��5|j
dg|��ddd�y#1swYyxYw)Nr$rez1When subplots is an iterable, kind must be one ofr[r$r4)r:rNr,r;s    r<�test_group_subplot_invalid_kindz2TestDataFramePlots.test_group_subplot_invalid_kind�	s`���)�)�B�-�b�i�i��m�4��
�q�\��
�]�]��Q�
�	6�
�G�G�j�\��G�5�	6�	6�	6�s�A0�0A9z index_name, old_label, new_label)Nr��new)�oldr@r?)Nr�r�)Nr�rDr�)rarBr�c�h�tddgddggddg��}||j_|j|��}|j	�|k(sJ�|j�dk(sJ�|j|||�	�}|j�t
|�k(sJ�|j	�t
|�k(sJ�y)
NrDr"rp�Type A�Type Br�rvr�)rNr3�xlabel)rr0r�r8�
get_xlabelr�str)r:rN�
index_name�	old_label�	new_labelr;rls       r<�(test_xlabel_ylabel_dataframe_single_plotz;TestDataFramePlots.test_xlabel_ylabel_dataframe_single_plot�	s�����A���A��'�(�H�1E�
F��"����
��W�W�$�W�
���}�}��)�+�+�+��}�}��"�$�$�$��W�W�$�y��W�
C���}�}��#�i�.�0�0�0��}�}��#�i�.�0�0�0r>zxlabel, ylabel))NN)�X LabelN)N�Y Label)rKrLc���d}d}tddgddgg||g��}|j|||||��}|j�|�|n|k(sJ�|j�|�|n|k(sJ�y)NrBrCrDr"rpr�)rNrYrZrDr3)rr8rEr)r:rNrDr3�xcol�ycolr;rls        r<�'test_xlabel_ylabel_dataframe_plane_plotz:TestDataFramePlots.test_xlabel_ylabel_dataframe_plane_plot�	sy������
��A���A��'�$���
>���W�W�$�$�$�v�f�W�
M���}�}��6�>�4�v�F�F�F��}�}��6�>�4�v�F�F�Fr>)FTc�4�tdg�j|dddg��}|jjD]_}|jj�s�|j
�dk(sJ�|j�dk(sJ�|j�ddk(r�_J�y)Nrr))rrrr')ryr3rsro)	rr8rrJr��get_visiblerr��
get_yticks)r:ry�ax_dfrls    r<�test_secondary_yz#TestDataFramePlots.test_secondary_y
s����1�#��#�#�#�C�h��t�$�
���,�,�#�#�	0�B��x�x�#�#�%��}�}��#�-�-�-��{�{�}��0�0�0��}�}��q�)�R�/�/�/�		0r>c	�h�ttjjd�j	d�tt
d�t��tddd���	�}tjd
�5|j�}|jj�}ddd�y#1swYyxYw)Nr"r#r&r'r)r$r*r+r.F)
rr2r3r4r5rr6r7rrrr8r�)r:r;r�s   r<�test_plot_no_warningz'TestDataFramePlots.test_plot_no_warning
s�����I�I�!�!�!�$�4�4�W�=��$�v�,�f�5��\�2�C�@�
��
�
'�
'��
.�	����	�A����	�	��A�	�	�	�s�4+B(�(B1)NNNN)��__name__�
__module__�__qualname__r^�mark�slowr=rKrOrT�xfailrdrm�parametrizerzr�r�r�r�r�r�r6r�r�r�r�r�r�r�r�r�rr	rrrrrr$r2r)rgr-rr�r;r=rCrMrXr[r_rbr�rrprvrxr|r�r�r�r�r�r�r�r�r�r�r�r�rr��CategoricalIndexr�r�r�r�r�r��param�td�
skip_if_nor�rrrrr r%r*r3r:r=rGrLrTr[r^rd�filterwarningsrfrhrmrqryr{r}rr�r�r�r�r�r�rMr�r�rlr�r�r�r�r�r�r�rr��
_common_kindsr�r�r�r�r�rrr	rrrr�stdr r$r.r1r4r9rErPrRrVrXr\r_r
rdrgrirrmrrrtrzr�r�r�r�r�r�r�r�r�r�r��
_all_kindsr�r�r�r�r�r�r�r�r�r
r
rrr r"r%r+r.r0r6r:r<r>rJrPrUrWrr>r<r r 7s����[�[���/��/��[�[���;��;��[�[���;��;��[�[���
;��
;��[�[���4��5��[�[���%��6�%��[�[���'��'��[�[����[�[����
�z�"�
�z�"� �+�6�!�t�f�E�		
��-���-��[�[���+��+�.�[�[���1��1��[�[���'��'��[�[���3��3�2�[�[����[�[���X��g��7�;�8��;��[�[���!��!��[�[����
�'�]�C��%��3�Z��c�"��3�Z��c�"��3�Z��c�"��3�Z��c�"��3�Z��c�"��3�Z��c�"�	
��
3��
3��[�[����[�[���V�%C�D�1�E��1��[�[����[�[����
�R�L�
�B�K�
�R�L�
�S�#�J��
�c��,�-�
�S�s�+�,�
	
�
�<�
��<�(�
6�'�1�
0�	N��[�[���!�M�3D�#E��/��/� �[�[���]�,F�G�
>�H�
>�	(�
(�
N�,�'�
 ��[�[���]�R�X�X�r�z�z�,B�C�
A�D�
A��[�[�����s�0�1�9M�N���s�C�����c�3��<�=��C��c�2�6�6�3��<�
�	
�	�9�	�9�9�
&�2��[�[���V�f�f�%5�6��[�[���V�a��W�-�;�.�7�;��[�[���V�f�f�%5�6�
C�7�
C�(� �[�[���V�f�f�%5�6�H�7�H��[�[���
��a��*�[�s�A�F�G��Y��Y�$�[�[���
��a��*�[�s�A�F�G��
T��
T��[�[���
��a��*�[�s�A�F�G���[�[���X��Y��,>�'?�@�H�A��H�&�[�[���X��]�D�,A�'B�C�2�D�2�
6��[�[����.���
�[�[���Y��u�
�6��7���&	0��[�[���Y��u�
�6�*�7�*�.��[�[����*�,B�C���[�[���Y��u�
�6�
2�7��
2��[�[����*�,B�C��2��2�.�)�
%�"�	"��[�[���U�U�B�,?�,?�$@�A�.�B�.�,�[�[���V�j�&�%9�:�5�;�5�#�;�6��[�[���V�&7��%@�A�5�B�5��[�[���������T�����y�9Q� R�S���[�[���V�j�&�%9�:��[�[���W�y�/�&B�C�9�D�;��
9��[�[���Y��u�
�6��[�[����	.�0U�V��U�	�7�
U�4�[�[���V�%I�J�5�K�5��[�[���Y��)�(D�E�A�F�A�8�&D�.Y�.�
;��[�[����[�[�����
�u��!�t�4�
���		
��1���1��[�[���'��'��[�[���F��F��[�[���F��F�
6�+�6�	6��[�[��� <�=�&�>�&�"6�2��[�[���]�,D�E�4�F�4�'�D�	;�,�/�,� 2�
<�=�@��[�[����C�'�"�'�'��/�/��w�r�w�w�X�7N�1N�O��Q��Q�*����
U�.�[�[�����R�Y�Y�x�r�x�x��8�(�"�(�(�CS�:T�U��R�Y�Y�x�r�x�x��8�(�"�(�(�?�:S�T��R�Y�Y�x�r�x�x��8�(�"�(�(�CS�:T�U�
��R�Y�Y��B�H�H�b�f�f�a��A�q�!�4�5�x�r�x�x�@S�7T���R�Y�Y��B�H�H�a�����A�q�!�4�5�x�r�x�x�@R�7S���R�Y�Y��B�H�H�a��A�r�v�v�q�!�4�5�x�r�x�x�@S�7T��

�
	
��*j
�+�*j
�X0��[�[�������$�����
�#�J�		
��	5��	5�?��[�[����	
��7��7�R�.�[�[���V�X�%:�%:�%H�%H�I�!�J�!��[�[���V�i��%:�;�)�<�)��[�[���V�X�%:�%:�%H�%H�I��J���[�[�����X�*�*�8�8�9�V�H�D�����.��[�[�����3�Z��c�"��U�S�#�J��c�
�+�	
��)��)�<��[�[���U�Z�3�%���$>�?��@���[�[����
�3�%�#����(�
�3��*�s�C�j�5�&�/�:�
��A���(�+�g�x�-@�A�	
��9��9��[�[���^�q�!�c�3�Z�.@�1�a�!�Q��.�-Q�R�-�S�-�(�;� �[�[���Z�$�����8�
(�9�
(��[�[����
��L��+�
&��4��f�
�v�&�	
��	7��	7���[�[���S�3��(�+�/�,�/�-�"=�*4�4�[�[����[�[����
�T�N��4�(�
�t��	
��1���1��[�[���1��1��[�[���1��1��[�[����[�[���V�f�h�%7�8�	1�9��	1��[�[���G��G��[�[���!��!��[�[����[�[���V�%<�=��[�[�����7�2�7�7�2�;��$�3�/��G�B�G�G�B�K�#�-�G�B�G�G�B�K�#�4E�F�G�	
��1��>��1��[�[����[�[���V�%<�=��[�[�����������c� 1�������c�8I�J�K��������c� 1�������c�8I�J�K�
��G�B�G�G�B�K�#�%�C�
0�&�������s�9J�QT�2U�V��
	
�
�1�
�>��1�
�[�[����[�[���V�%<�=�3�>��3��[�[���4�Z��H�1�I�1�1��[�[����[�[���V�f�e�_�5�1�6��1��[�[���	1��	1��[�[����[�[���Y��i�(@�A�1�B��1��[�[���V�%<�=�3�>�3�B �$
'�1�,J�4F�&�PI�4&�PI�0�[�[���V�X�%:�%:�%E�%E�F�"�G�"�HQ�f3�j
�@�H�A�A��[�[���X�'>�?�B�@�B�"3�&3�&�[�[���V�f�f�%5�6��7��&�4*��
�[�[����P��4��4�*(�'�'��[�[��� �	
��'��'�6�7��[�[���V�%A�B�6�C�6��[�[���*��!���
�2��1�v��	
�	��[�[���V�%<�=�1�>�	�1�"�[�[����	
���[�[���V�i��%:�;�	G�<��	G��[�[���]�M�:�0�;�0��[�[���
��
r>r c��ddlm}tjj	dd�}|j|d�}|j|d�}|j|d�}|j|d�}|||||gfS)Nrr"r�)rDrr�r�)r�r�r�r�r��subplot)r�r��ax_tl�ax_ll�ax_tr�ax_lrs      r<r�r�
sw��#�	���	�	�q�!�	$�B��K�K��4��!�E��K�K��4��!�E��K�K��4��!�E��K�K��4��!�E�
��u�e�U�+�+�+r>)6�__doc__rrr�rkr�rir��numpyr2r^�pandas.util._test_decorators�util�_test_decoratorsra�pandas.core.dtypes.apir�pandasr�rrrr	r
rrr
r�pandas._testing�_testingr�pandas.tests.plotting.commonrrrrrrrrrrrrr�pandas.util.versionr�pandas.io.formats.printingrrxr�r�r r�rr>r<�<module>rys���%��
��	�
���
�)�)�/��
�
�
������(�3��f���,�'���f���-�.��d'�d'�NO	,r>

Youez - 2016 - github.com/yon3zu
LinuXploit