3
���h#� �
@ s� d dl Z d dlZd dlZd dlmZ d dljZ d dl
mZ d dlm
Z
mZmZ ddlmZmZmZ y d dlZejd� d dljZW n ek
r� Y nX dd � Zd
d� Zdd
� Zd*dd�ZeG dd� de��ZG dd� de�Z G dd� de�Z!G dd� de�Z"eG dd� de��Z#eG dd� de��Z$G dd� d�Z%G dd� de%e�Z&G d d!� d!e%e�Z'G d"d#� d#e%e�Z(G d$d%� d%e%e�Z)G d&d'� d'e�Z*G d(d)� d)e�Z+dS )+� N)� DataArray)�_infer_interval_breaks)�_determine_cmap_params�_build_discrete_cmap�_color_palette� )�TestCase�requires_matplotlib�incompatible_2_6ZAggc C s$ dd� t j� jtjj�D �} t| �S )z2
Return the set of all text in the figure
c S s g | ]}|j � �qS � )�get_text)�.0�tr r �5/tmp/pip-build-5_djhm0z/xray/xarray/test/test_plot.py�
<listcomp> s ztext_in_fig.<locals>.<listcomp>)�plt�gcf�findobj�mpl�text�Text�set)�alltxtr r r �text_in_fig s r c C s t j� jtjj�S )N)r r r r �collections�QuadMeshr r r r �find_possible_colorbars# s r c C s: t dd� |jtjj�D ��}x|D ]}| |kr"dS q"W dS )zA
Return True if a substring is found anywhere in an axes
c S s g | ]}|j � �qS r )r )r
r r r r r , s z%substring_in_axes.<locals>.<listcomp>TF)r r r r r )Z substring�axr �txtr r r �substring_in_axes( s
r c C s t j||t j| �d�}|j| �S )z^
Make an array with desired shape using np.linspace
shape is a tuple like (2, 3)
)�num)�np�linspace�prodZreshape)�shape�start�stop�ar r r �
easy_array3 s r( c @ s, e Zd Zdd� Zdd� Zdd� Zdd� Zd S )
�PlotTestCasec C s t jd� d S )N�all)r �close)�selfr r r �tearDown@ s zPlotTestCase.tearDownc C s4 t jdd�\}}||d d� | j|d j� � d S )N� )Zncolsr )r )r Zsubplots�
assertTrue�has_data)r, �
plotmethod�fig�axesr r r �pass_in_axisD s zPlotTestCase.pass_in_axisc C s$ |� t j� jtjj�}t|�dkS )Nr )r �gcar r �image� AxesImage�len)r, r1 Zimagesr r r �
imshow_calledI s zPlotTestCase.imshow_calledc C s$ |� t j� jtjj�}t|�dkS )Nr )r r5 r r r ZPathCollectionr8 )r, r1 �pathsr r r �contourf_calledN s zPlotTestCase.contourf_calledN)�__name__�
__module__�__qualname__r- r4 r9 r; r r r r r) = s r) c @ sp e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
edd� �Zdd� Z
dd� Zdd� ZdS )�TestPlotc C s t td��| _d S )Nr. � � )r. r@ rA )r r( �darray)r, r r r �setUpV s zTestPlot.setUpc C s | j d d �ddf j� d S )Nr )rB �plot)r, r r r �test1dY s zTestPlot.test1dc C s t td��}|j� d S )Nr � )r rF )r r( rD )r, r' |