U
    7¦¡c  ã                   @   s8   d dl Zd dlmZ d dlmZ d dlmZ dd„ Z	dS )é    N)ÚTriangulationc                 O   sf  ddl }tj||Ž\}}}|j|j|j  }}}|r<|d nd}|jj |¡\}	}
}t	 
|tj¡}td|	|
|fƒD ]\}}|dk	rr| ||¡ qr|d }	|d| dd¡d	œ–}|	d
krtj|| dtjdd}tj|| dtjdd}| j| ¡ | ¡ f|Ž}n| jg g f|Ž}|d }
|ddi–}| dd¡ |
d
krN| j||f|Ž}n| jg g f|Ž}|| S )aü  
    Draw an unstructured triangular grid as lines and/or markers.

    Call signatures::

      triplot(triangulation, ...)
      triplot(x, y, [triangles], *, [mask=mask], ...)

    The triangular grid can be specified either by passing a `.Triangulation`
    object as the first parameter, or by passing the points *x*, *y* and
    optionally the *triangles* and a *mask*. If neither of *triangulation* or
    *triangles* are given, the triangulation is calculated on the fly.

    Parameters
    ----------
    triangulation : `.Triangulation`
        An already created triangular grid.
    x, y, triangles, mask
        Parameters defining the triangular grid. See `.Triangulation`.
        This is mutually exclusive with specifying *triangulation*.
    other_parameters
        All other args and kwargs are forwarded to `~.Axes.plot`.

    Returns
    -------
    lines : `~matplotlib.lines.Line2D`
        The drawn triangles edges.
    markers : `~matplotlib.lines.Line2D`
        The drawn marker nodes.
    r   NÚ )Ú	linestyleÚmarkerÚcolorr   ÚNoneÚzorderé   )r   r   )Nr   r   ú é   )Zaxisr   Úlabel)Zmatplotlib.axesr   Zget_from_args_and_kwargsÚxÚyÚedgesZaxesÚ_baseZ_process_plot_formatÚcbookZnormalize_kwargsÚmlinesZLine2DÚzipÚ
setdefaultÚgetÚnpÚinsertÚnanZplotZravelÚpop)ZaxÚargsÚkwargsZ
matplotlibZtrir   r   r   Úfmtr   r   r   ÚkwÚkeyÚvalZkw_linesZtri_lines_xZtri_lines_yZ	tri_linesZ
kw_markersZtri_markers© r    ú:/tmp/pip-unpacked-wheel-bcsgmve3/matplotlib/tri/triplot.pyÚtriplot   sB    ÿ
ý
ÿ þ
r"   )
Znumpyr   Zmatplotlib.tri.triangulationr   Zmatplotlib.cbookr   Zmatplotlib.linesÚlinesr   r"   r    r    r    r!   Ú<module>   s   