o
    :a
                     @   s    d dl Zd dlmZ dd ZdS )    N)Triangulationc                 O   sv  ddl }tj|i |\}}}|j|j|j}}}|r |d nd}|jj|\}	}
}|	 }t
d|	|
|fD ]\}}|durH|||||< q8|d }	i |d|ddd	}|	d
vrtj|| dtjdd}tj|| dtjdd}| j| | fi |}n
| jg g fi |}|d }
i |ddi}|
d
vr| j||fi |}|| S | jg g fi |}|| 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axesZ_baseZ_process_plot_formatcopyzipgetnpinsertnanZplotZravel)ZaxargskwargsZ
matplotlibZtrir   r   r   Zfmtr   r   r   kwkeyvalZkw_linesZtri_lines_xZtri_lines_yZ	tri_linesZ
kw_markersZtri_markers r   8/usr/lib/python3/dist-packages/matplotlib/tri/triplot.pytriplot   sJ   
r   )Znumpyr   Zmatplotlib.tri.triangulationr   r   r   r   r   r   <module>   s    