
    doi                     >    S SK r/ SQrS rS rSS jrSS jrSS jrg)	    N)delaunay_plot_2dconvex_hull_plot_2dvoronoi_plot_2dc                  J    SS K Jn   U R                  5       R                  5       $ )Nr   )matplotlib.pyplotpyplotfiguregca)plts    T/var/www/html/land-ocr/venv/lib/python3.13/site-packages/scipy/spatial/_plotutils.py	_get_axesr      s    #::<    c                     S[         R                  " USS9-  nUR                  SS9U-
  nUR                  SS9U-   nU R	                  US   US   5        U R                  US   US   5        g )Ng?r   axis   )npptpminmaxset_xlimset_ylim)axpointsmarginxy_minxy_maxs        r   _adjust_boundsr      sm    266&q))FZZQZ&(FZZQZ&(FKKq	6!9%KKq	6!9%r   c                 b   U R                   R                  S   S:w  a  [        S5      eU R                   R                  u  p#U=(       d
    [	        5       nUR                  X#S5        UR                  X#U R                  R                  5       5        [        XR                   5        UR                  $ )a  
Plot the given Delaunay triangulation in 2-D

Parameters
----------
tri : scipy.spatial.Delaunay instance
    Triangulation to plot
ax : matplotlib.axes.Axes instance, optional
    Axes to plot on

Returns
-------
fig : matplotlib.figure.Figure instance
    Figure for the plot

See Also
--------
Delaunay
matplotlib.pyplot.triplot

Notes
-----
Requires Matplotlib.

Examples
--------

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.spatial import Delaunay, delaunay_plot_2d

The Delaunay triangulation of a set of random points:

>>> rng = np.random.default_rng()
>>> points = rng.random((30, 2))
>>> tri = Delaunay(points)

Plot it:

>>> _ = delaunay_plot_2d(tri)
>>> plt.show()

r      z!Delaunay triangulation is not 2-Do)r   shape
ValueErrorTr   plottriplot	simplicescopyr   r	   )trir   xys       r   r   r      s    X zza<==::<<DA		y{BGGA#JJqS]]'')*2zz"99r   c                    SSK Jn  U R                  R                  S   S:w  a  [	        S5      eU=(       d
    [        5       nUR                  U R                  SS2S4   U R                  SS2S4   S5        U R                   Vs/ s H  o0R                  U   PM     nnUR                  U" USS	S
95        [        XR                  5        UR                  $ s  snf )a  
Plot the given convex hull diagram in 2-D

Parameters
----------
hull : scipy.spatial.ConvexHull instance
    Convex hull to plot
ax : matplotlib.axes.Axes instance, optional
    Axes to plot on

Returns
-------
fig : matplotlib.figure.Figure instance
    Figure for the plot

See Also
--------
ConvexHull

Notes
-----
Requires Matplotlib.


Examples
--------

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.spatial import ConvexHull, convex_hull_plot_2d

The convex hull of a random set of points:

>>> rng = np.random.default_rng()
>>> points = rng.random((30, 2))
>>> hull = ConvexHull(points)

Plot it:

>>> _ = convex_hull_plot_2d(hull)
>>> plt.show()

r   LineCollectionr   r    zConvex hull is not 2-DNr!   ksolid)colors	linestyle)matplotlib.collectionsr.   r   r"   r#   r   r%   r'   add_collectionr   r	   )hullr   r.   simplexline_segmentss        r   r   r   N   s    X 6{{q 122		y{BGGDKK1t{{1a40#69=Hg[[)MHn],//68 9 2{{#99 Is   Cc           
         SSK Jn  U R                  R                  S   S:w  a  [	        S5      eU=(       d
    [        5       nUR                  SS5      (       aF  UR                  SS	5      nUR                  U R                  S	S	2S4   U R                  S	S	2S4   S
US9  UR                  SS5      (       a5  UR                  U R                  S	S	2S4   U R                  S	S	2S4   S5        UR                  SS5      nUR                  SS5      nUR                  SS5      nU R                  R                  SS9n[        R                  " U R                  SS9n	/ n
/ n[        U R                  U R                  5       GH  u  p[        R                  " U5      n[        R                   " US:  5      (       a   U
R#                  U R                  U   5        MZ  XS:     S   nU R                  US      U R                  US      -
  nU[        R$                  R'                  U5      -  n[        R(                  " US   * US   /5      nU R                  U   R                  SS9n[        R*                  " [        R,                  " UU-
  U5      5      U-  nU R.                  (       a  U* n[1        U	R3                  5       U	R5                  5       -  5      nU R                  U   UU	R3                  5       -  U-  -   nUR#                  U R                  U   U/5        GM     UR7                  U" U
UUUSS95        UR7                  U" UUUUSS95        [9        XR                  5        UR:                  $ )a  
Plot the given Voronoi diagram in 2-D

Parameters
----------
vor : scipy.spatial.Voronoi instance
    Diagram to plot
ax : matplotlib.axes.Axes instance, optional
    Axes to plot on
show_points : bool, optional
    Add the Voronoi points to the plot.
show_vertices : bool, optional
    Add the Voronoi vertices to the plot.
line_colors : string, optional
    Specifies the line color for polygon boundaries
line_width : float, optional
    Specifies the line width for polygon boundaries
line_alpha : float, optional
    Specifies the line alpha for polygon boundaries
point_size : float, optional
    Specifies the size of points

Returns
-------
fig : matplotlib.figure.Figure instance
    Figure for the plot

See Also
--------
Voronoi

Notes
-----
Requires Matplotlib. For degenerate input, including collinearity and
other violations of general position, it may be preferable to
calculate the Voronoi diagram with Qhull options ``QJ`` for random
joggling, or ``Qt`` to enforce triangulated output. Otherwise, some
Voronoi regions may not be visible.

Examples
--------
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.spatial import Voronoi, voronoi_plot_2d

Create a set of points for the example:

>>> rng = np.random.default_rng()
>>> points = rng.random((10,2))

Generate the Voronoi diagram for the points:

>>> vor = Voronoi(points)

Use `voronoi_plot_2d` to plot the diagram:

>>> fig = voronoi_plot_2d(vor)

Use `voronoi_plot_2d` to plot the diagram again, with some settings
customized:

>>> fig = voronoi_plot_2d(vor, show_vertices=False, line_colors='orange',
...                       line_width=2, line_alpha=0.6, point_size=2)
>>> plt.show()

r   r-   r   r    zVoronoi diagram is not 2-Dshow_pointsT
point_sizeN.)
markersizeshow_verticesr!   line_colorsr/   
line_widthg      ?
line_alphar   r0   )r1   lwalphar2   dashed)r3   r.   r   r"   r#   r   getr%   verticesmeanr   r   zipridge_pointsridge_verticesasarrayallappendlinalgnormarraysigndotfurthest_siteabsr   r   r4   r   r	   )vorr   kwr.   r:   r>   r?   r@   center	ptp_boundfinite_segmentsinfinite_segmentspointidxr6   itnmidpoint	directionaspect_factor	far_points                        r   r   r      s   F 6
zza566		y{B	vvmT""VVL$/



1a4 #**QT"2CJO	vvot$$
QT"CLLA$6<&&,Kc*Jc*JZZ__!_$Fszz*IO !1!133E3EF**W%66'Q,""3<<#891%a(A

8A;'#**Xa[*AAA""A1Q4%1'Azz(+00a08Hx&'8! <=AI!!&J		)--/ ABMQ)immo*E*UUI$$cll1oy%AB% G( n_,7(2+5/6	8 9
 n%6,7(2+5/7	9 : 2zz"99r   )N)numpyr   __all__r   r   r   r   r    r   r   <module>re      s)    
H&7t9xzr   