B
    ²ô`Ë
  ã               @   s    d dl Zd dlmZ dd„ ZdS )é    N)ÚTriangulationc             O   s\  ddl }tj||Ž\}}}|j|j|j  }}}|r<|d nd}|jj |¡\}	}
}| 	¡ }x4t
d|	|
|fƒD ] \}}|dk	rn| ||¡||< qnW |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
krD| j||f|Ž}n| jg g f|Ž}|| S )a(  
    Draw a unstructured triangular grid as lines and/or markers.

    The triangulation to plot can be specified in one of two ways; either::

      triplot(triangulation, ...)

    where triangulation is a `.Triangulation` object, or

    ::

      triplot(x, y, ...)
      triplot(x, y, triangles, ...)
      triplot(x, y, triangles=triangles, ...)
      triplot(x, y, mask=mask, ...)
      triplot(x, y, triangles, mask=mask, ...)

    in which case a Triangulation object will be created.  See `.Triangulation`
    for a explanation of these possibilities.

    The remaining args and kwargs are the same as for `~.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   )Zmatplotlib.axesr   Zget_from_args_and_kwargsÚxÚyÚedgesZaxesÚ_baseZ_process_plot_formatÚcopyÚzipÚgetÚnpÚinsertÚnanZplotZravel)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   úE/home/dcms/DCMS/lib/python3.7/site-packages/matplotlib/tri/triplot.pyÚtriplot   s6    


r   )Únumpyr   Zmatplotlib.tri.triangulationr   r   r   r   r   r   Ú<module>   s   