intellecton/venv/lib/python3.12/site-packages/matplotlib/__pycache__/lines.cpython-312.pyc

750 lines
68 KiB
Text
Raw Normal View History

<EFBFBD>
<00>Rj@<40><00><00>V<00>dZddlZddlmZmZmZddlZddlZddl Z
ddl m Z m Z mZmZddlmZmZddl mZmZmZmZddlmZdd lmZdd
lmZmZmZdd l m!Z!m"Z"dd l m#Z#dd lm$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ej`e1<65>Z2d<0E>Z3d<0F>Z4d<10>Z5d<11>Z6d<12>Z7d<13>Z8ejre jtdgdgdgdgdgdgdgdgdgdgd<1E>
<EFBFBD>Gd<1F>d e<12><00><00>Z;Gd!<21>d"e;<3B>Z<Gd#<23>d$<24>Z=e;j|Z?ej0Z@e;j<>ZAej<>ZCy)%zK
2D lines with support for a variety of line styles, markers, colors, etc.
<EFBFBD>N)<03>Integral<61>Number<65>Real<61>)<04>_api<70>cbook<6F>colors<72>
_docstring)<02>Artist<73>allow_rasterization)<04>_to_unmasked_float_array<61> ls_mapper<65> ls_mapper_r<5F>STEP_LOOKUP_MAP)<01> MarkerStyle)<01>Path)<03>Bbox<6F>BboxTransformTo<54>TransformedPath)<02> JoinStyle<6C>CapStyle)<01>_path) <0C> CARETLEFT<46>
CARETRIGHT<EFBFBD>CARETUP<55> CARETDOWN<57> CARETLEFTBASE<53>CARETRIGHTBASE<53> CARETUPBASE<53> CARETDOWNBASE<53>TICKLEFT<46> TICKRIGHT<48>TICKUP<55>TICKDOWNc<00>D<00>t|t<00>rtj||<00>}|dvrd}d}nZ|dvr#d}t t
j d|<00>d<06><00>}n3t|t<00>r|\}}|<01>td|<00><02><02><00>td|<00><02><02><00>|<02>t|<02>}|r||z}||fS)z"Convert linestyle to dash pattern.)<02>solid<69>NonerN)<03>dashed<65>dashdot<6F>dotted<65>lines.<2E>_patternzUnrecognized linestyle: ) <09>
isinstance<EFBFBD>strr<00>get<65>tuple<6C>mpl<70>rcParams<6D>
ValueError<EFBFBD>sum)<04>style<6C>offset<65>dashes<65>dsums <20>S/home/antigravity/intellecton/venv/lib/python3.12/site-packages/matplotlib/lines.py<70>_get_dash_patternr:!s<><00><00><12>%<25><13><1D><19> <0A> <0A>e<EFBFBD>U<EFBFBD>+<2B><05> <0C>!<21>!<21><12><06><15><06> <0E>1<> 1<><12><06><16>s<EFBFBD>|<7C>|<7C>f<EFBFBD>U<EFBFBD>G<EFBFBD>8<EFBFBD>$<<3C>=<3D>><3E><06> <13>E<EFBFBD>5<EFBFBD> !<21><1E><0E><06><06> <11>><3E><1C>7<><05>y<EFBFBD>A<>B<> B<><18>3<>E<EFBFBD>9<EFBFBD>=<3D>><3E>><3E><0E><19><12>6<EFBFBD>{<7B><04> <0F> <12>d<EFBFBD>N<EFBFBD>F<EFBFBD> <11>6<EFBFBD>><3E><19>c<00><><00> t|<00>g}|S#t$rF |D<00>cgc] }t|<02><00><02>ncc}w}}Y|S#t$r}d|<00>d<02>}t|<04>|<03>d}~wwxYwwxYw)zEConvert linestyle or sequence of linestyles to list of dash patterns.zDo not know how to convert z
to dashesN)r:r3)<05>styles<65>patterns<6E>x<>err<72>emsgs r9<00>_get_dash_patternsrB?s<><00><00>,<2C>%<25>f<EFBFBD>-<2D>.<2E><08> <14>O<EFBFBD><4F> <16>,<2C> ,<2C>6<<3C>=<3D><11>)<29>!<21>,<2C>=<3D><>=<3D>H<EFBFBD>=<3D>
<14>O<EFBFBD><4F> <1A> ,<2C>0<><16>
<EFBFBD>*<2A>E<>D<EFBFBD><1C>T<EFBFBD>"<22><03> +<2B><> ,<2C><>,<2C>s,<00> <00> A<03>;<02>1<06>;<02> A<05>A<05>A<05>Ac<00>0<00>|dd|ddz}||dz}||fS)zCReturn the inverse of the given dash pattern, for filling the gaps.<2E><><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD>)r6r7<00>gaps<70> offset_gapss r9<00>_get_inverse_dash_patternrHMs5<00><00> <12>"<22>#<23>;<3B><16><03><12><1B> $<24>D<EFBFBD><19>6<EFBFBD>"<22>:<3A>%<25>K<EFBFBD> <16><04> <1C>r;c<00><><00>tjds||fS||z}|<01>|D<00>cgc] }|<04>||znd<00><02> c}nd}||fScc}w)Nzlines.scale_dashes)r1r2)r6r7<00>lw<6C> scaled_offsetr?<00> scaled_dashess r9<00> _scale_dashesrMYs`<00><00> <0E><<3C><<3C>,<2C> -<2D><15>v<EFBFBD>~<7E><1D><1A>R<EFBFBD>K<EFBFBD>M<EFBFBD><1E>*<2A>BH<01>H<>A<EFBFBD><01> <0A>a<EFBFBD>"<22>f<EFBFBD>4<EFBFBD>7<>H<>04<30><12> <18>-<2D> '<27>'<27><>Is<00><c<00>T<00>t|<02>dkr.tj||z
dz||z
dzz|dzk<00>\}|S|dd|dd}}|dd|z
|dd|z
} }|dz| dzz}
||z
|z||z
| zz|
z } | dk\| dkz} ||z
dz||z
dzz|dzk} | | dd| ddzz} || |zz|| | zz}}||z
dz||z
dzz|dzk}|| z}| j<00>j<00>\}|j<00>j<00>\}tj||f<02>S)z<>
Return the indices of the segments in the polyline with coordinates (*cx*,
*cy*) that are within a distance *radius* of the point (*x*, *y*).
r<00>NrDr)<05>len<65>np<6E>nonzero<72>ravel<65> concatenate)<13>cx<63>cyr?<00>y<>radius<75>res<65>xr<78>yr<79>dx<64>dy<64>Lnorm_sq<73>u<>
candidates<EFBFBD>
point_hits<EFBFBD>px<70>py<70> line_hits<74>points<74>liness r9<00> segment_hitsrgbs<><00><00>  <0B>1<EFBFBD>v<EFBFBD><11>{<7B><11>z<EFBFBD>z<EFBFBD>2<EFBFBD><01>6<EFBFBD>a<EFBFBD>-<2D>2<EFBFBD><01>6<EFBFBD>a<EFBFBD>-<2D>7<>6<EFBFBD>Q<EFBFBD>;<3B>F<>G<><04><03><12>
<EFBFBD><0F>s<EFBFBD><02>V<EFBFBD>Q<EFBFBD>s<EFBFBD><02>V<EFBFBD><02>B<EFBFBD><0F>q<EFBFBD>r<EFBFBD>U<EFBFBD>R<EFBFBD>Z<EFBFBD><11>1<EFBFBD>2<EFBFBD><15><12><1A><02>B<EFBFBD><11>Q<EFBFBD>w<EFBFBD><12>q<EFBFBD><17> <20>H<EFBFBD>
<0C>r<EFBFBD>'<27>R<EFBFBD><1E>2<EFBFBD><02>7<EFBFBD>b<EFBFBD>.<2E> (<28>H<EFBFBD>4<>A<EFBFBD><13>q<EFBFBD>&<26>Q<EFBFBD>!<21>V<EFBFBD>$<24>J<EFBFBD> <15>q<EFBFBD>&<26>Q<EFBFBD><1D>"<22>q<EFBFBD>&<26>Q<EFBFBD><1D>.<2E>&<26>A<EFBFBD>+<2B>=<3D>J<EFBFBD><1B>
<EFBFBD>3<EFBFBD>B<EFBFBD><0F>*<2A>Q<EFBFBD>R<EFBFBD>.<2E> @<40>A<>A<>J<EFBFBD><10>!<21>b<EFBFBD>&<26>[<5B>"<22>q<EFBFBD>2<EFBFBD>v<EFBFBD>+<2B><02>B<EFBFBD><13>b<EFBFBD><17>Q<EFBFBD><0E>"<22>r<EFBFBD>'<27>a<EFBFBD><1E>/<2F>6<EFBFBD>Q<EFBFBD>;<3B>><3E>I<EFBFBD><19>J<EFBFBD>&<26>I<EFBFBD><18><1E><1E> <20>(<28>(<28>*<2A>G<EFBFBD>F<EFBFBD> <16>_<EFBFBD>_<EFBFBD> <1E> &<26> &<26> (<28>F<EFBFBD>E<EFBFBD> <0A>><3E>><3E>6<EFBFBD>5<EFBFBD>/<2F> *<2A>*r;c <00>n<00>|j|j}}d<01>}t|t<00>rd|f}nt|t<00>rd|f}t|t
<00><00>rYt |<00>dk7rtd|<00><00><02><00>|\}}t|t<00>rJt|t<00>std|<00><00><02><00>t|t|d|<08>||t|d|<08><00><00>St|t<00><00>r<>t|t<00>std|<00><00><02><00>|<03> td <09><00>tj|<05>jd
<EFBFBD> <0B>} || }
|j|
<EFBFBD>} tjt | <0B>df<02>} d| ddd<07>f<| d
d<07>dd<07>f| dd <0C>dd<07>fz
| d
d<07>dd<07>f<tj| j <00>j#<00>} |j$jddgd
d
gg<02>\\} }\}}tj|| z
||z
<00>}tj&||z| d ||z<00>}tj(| tj*dd<07>f|dd<07>tj*fz
<00>}|j-d
<EFBFBD> <0B>}tj.|<13>}t|
||||<13><00>Std |<00>d<0E><03><00>t|t<00>rt|||||<00><00>Stj0|<00>r t|||||<00><00>Std |<00>d<10><03><00>#tt2f$r}td |<00>d<0F><03>|<14>d}~wwxYw)z<>
Helper function that sorts out how to deal the input
`markevery` and returns the points where markers should be drawn.
Takes in the `markevery` value and the line path and returns the
sub-sampled path.
c<00><00>|<00>y||S)z@Helper function to cope with `codes` being an ndarray or `None`.NrE)<02>in_v<5F>slcs r9<00>_slice_or_nonez(_mark_every_path.<locals>._slice_or_none<6E>s<00><00> <0F><<3C><17><13>C<EFBFBD>y<EFBFBD>r;rgrOz7`markevery` is a tuple but its len is not 2; markevery=zo`markevery` is a tuple with len 2 and second element is an int, but the first element is not an int; markevery=Nz{`markevery` is a tuple with len 2 and second element is a float, but the first element is not a float or an int; markevery=z]markevery is specified relative to the Axes size, but the line does not have a Axes as parentr)<01>axisrDz
markevery=zG is a tuple with len 2, but its second element is not an int or a floatz. is iterable but not a valid numpy fancy indexz is not a recognized value)<1A>codes<65>verticesr-rrr0rPr3r<00>slicerQ<00>isfinite<74>all<6C> transform<72>empty<74>hypot<6F>T<>cumsum<75> transAxes<65>arange<67>abs<62>newaxis<69>argmin<69>unique<75>iterable<6C>
IndexError)<15> markevery<72>tpath<74>affine<6E>axrn<00>vertsrl<00>start<72>step<65>fin<69>fverts<74> disp_coords<64>delta<74>x0<78>y0<79>x1<78>y1<79>scale<6C> marker_delta<74>indsr@s r9<00>_mark_every_pathr<68><00>sV<00><00><19>;<3B>;<3B><05><0E><0E>5<EFBFBD>E<EFBFBD><19><12>)<29>X<EFBFBD>&<26><16> <09>N<EFBFBD> <09> <13>I<EFBFBD>t<EFBFBD> $<24><18>)<29>$<24> <09><11>)<29>U<EFBFBD>#<23> <0E>y<EFBFBD>><3E>Q<EFBFBD> <1E><1C>*<2A>*3<><1B>6<>7<> 7<><1F> <0B><05>t<EFBFBD> <15>d<EFBFBD>H<EFBFBD> %<25><1D>e<EFBFBD>X<EFBFBD>.<2E> <20>!<21>!*<2A> <0B>-<2D>.<2E>.<2E> <18><05>e<EFBFBD>E<EFBFBD>4<EFBFBD><14>6<>7<>&<26>u<EFBFBD>e<EFBFBD>E<EFBFBD>4<EFBFBD><14>.F<>G<>I<01> I<01><18><04>d<EFBFBD> #<23><1D>e<EFBFBD>T<EFBFBD>*<2A> <20>!<21>!*<2A> <0B>-<2D>.<2E>.<2E><12>z<EFBFBD> <20>><3E>?<3F>?<3F>
<15>+<2B>+<2B>e<EFBFBD>$<24>(<28>(<28>a<EFBFBD>(<28>0<>C<EFBFBD><1A>3<EFBFBD>Z<EFBFBD>F<EFBFBD> <20>*<2A>*<2A>6<EFBFBD>2<>K<EFBFBD><16>H<EFBFBD>H<EFBFBD>c<EFBFBD>+<2B>.<2E><01>2<>3<>E<EFBFBD><1B>E<EFBFBD>!<21>Q<EFBFBD>$<24>K<EFBFBD>&<26>q<EFBFBD>r<EFBFBD>1<EFBFBD>u<EFBFBD>-<2D> <0B>C<EFBFBD>R<EFBFBD>C<EFBFBD><11>F<EFBFBD>0C<30>C<>E<EFBFBD>!<21>"<22>a<EFBFBD>%<25>L<EFBFBD><16>H<EFBFBD>H<EFBFBD>e<EFBFBD>g<EFBFBD>g<EFBFBD>&<26>-<2D>-<2D>/<2F>E<EFBFBD>"$<24><1C><1C>!7<>!7<>!<21>Q<EFBFBD><16>!<21>Q<EFBFBD><16>8H<38>!I<> <1E>H<EFBFBD>R<EFBFBD><12>h<EFBFBD>r<EFBFBD>2<EFBFBD><16>H<EFBFBD>H<EFBFBD>R<EFBFBD>"<22>W<EFBFBD>b<EFBFBD>2<EFBFBD>g<EFBFBD>.<2E>E<EFBFBD><1D>9<EFBFBD>9<EFBFBD>U<EFBFBD>U<EFBFBD>]<5D>E<EFBFBD>"<22>I<EFBFBD>t<EFBFBD>e<EFBFBD>|<7C>L<>L<EFBFBD><16>6<EFBFBD>6<EFBFBD>%<25><02>
<EFBFBD>
<EFBFBD>A<EFBFBD> <0A>.<2E><1C>a<EFBFBD><12><1A><1A>m<EFBFBD>1L<31>L<>M<>D<EFBFBD><17>;<3B>;<3B>A<EFBFBD>;<3B>&<26>D<EFBFBD><15>9<EFBFBD>9<EFBFBD>T<EFBFBD>?<3F>D<EFBFBD><17><06>t<EFBFBD> <0C>n<EFBFBD>U<EFBFBD>D<EFBFBD>&A<>B<> B<><1C><1C>Y<EFBFBD>M<EFBFBD>*:<3A>;<3B><<3C> <<3C>
<14>I<EFBFBD>u<EFBFBD> %<25><13>E<EFBFBD>)<29>$<24>n<EFBFBD>U<EFBFBD>I<EFBFBD>&F<>G<>G<> <0B><1B><1B>Y<EFBFBD> <1F> )<29><17><05>i<EFBFBD>(<28>.<2E><15> <09>*J<>K<> K<> <19>:<3A>i<EFBFBD>]<5D>2L<32>M<>N<>N<><4E> <1B>J<EFBFBD>'<27> )<29><1C><1C>Y<EFBFBD>M<EFBFBD>*<1E><1F> <20>%(<28> )<29><> )<29>s<00>+L<00>L4<03>L/<03>/L4<03>aa<61>c<>ds<64>lsrJ<00>mec<65>mew<65>mfc<66>mfcalt<6C>ms)
<EFBFBD> antialiased<65>color<6F> drawstyle<6C> linestyle<6C> linewidth<74>markeredgecolor<6F>markeredgewidth<74>markerfacecolor<6F>markerfacecoloralt<6C>
markersizec<00><00><00>eZdZdZdddddddd<07>xZZdd d
d d <0C>Zd d
iZie<06>e<07>Zge<06>e<07>Z e
jZ e
jZ e
jZdZdZd<10>Zdddddddddddddddddddd<14><13>fd<15>
Zd<16>Zd<17>Zd<18>Zeee<15>Zd<19>Zd<1A>Zd<1B>Zd<1C>Zd<1D>Zd<1E>ZdSd<1F>Zd <20>Zd!<21>Z dTd"<22>Z!dSd#<23>Z"d$<24>Z#<23>fd%<25>Z$e%d&<26><00>Z&d'<27>Z'd(<28>Z(d)<29>Z)d*<2A>Z*d+<2B>Z+d,<2C>Z,d-<2D>Z-d.<2E>Z.d/<2F>Z/dTd0<64>Z0d1<64>Z1d2<64>Z2d3<64>Z3dUd4<64>Z4dUd5<64>Z5dUd6<64>Z6d7<64>Z7d8<64>Z8d9<64>Z9d:<3A>Z:d;<3B>Z;d<<3C>Z<d=<3D>Z=d><3E>Z>e?j<>d?<3F><00>ZAd@<40>ZBdA<64>ZCdB<64>ZDdC<64>ZEdD<64>ZFdE<64>ZGdF<64>ZHdG<64>ZIdH<64>ZJ<5A>fdI<64>ZKe?j<>dJ<64><00>ZLe?j<>dK<64><00>ZMdL<64>ZNdM<64>ZOe?j<>dN<64><00>ZPe?j<>dO<64><00>ZQdP<64>ZRdQ<64>ZSdR<64>ZT<5A>xZUS)V<>Line2Da
A line - the line can have both a solid linestyle connecting all
the vertices, and a marker at each vertex. Additionally, the
drawing of the solid line is influenced by the drawstyle, e.g., one
can create "stepped" lines in various styles.
<20> _draw_solid<69> _draw_dashed<65>_draw_dash_dot<6F> _draw_dotted<65> _draw_nothing)<07>-<2D>--<2D>-.<2E>:r'<00> <20><00> _draw_lines<65>_draw_steps_mid<69>_draw_steps_pre<72>_draw_steps_post)<04>defaultz steps-midz steps-prez
steps-post<73>stepsrOi<>c <00><><00>|jdk7rd|j<00>d<03>S|j<00>yt|j<00>dkDrddj|jd|jd|jd|jd|jd |jd <00>Sd
d j t d j|j|j<00><00>zS) Nr<4E>zLine2D(<28>)zLine2D()<29>z/Line2D(({:g},{:g}),({:g},{:g}),...,({:g},{:g}))rrrDz
Line2D(%s)<29>,z ({:g},{:g}))<07>_label<65>_xrP<00>format<61>_y<5F>join<69>map<61><01>selfs r9<00>__str__zLine2D.__str__s<><00><00> <0F>;<3B>;<3B>"<22> <1C><1C>T<EFBFBD>[<5B>[<5B>M<EFBFBD><11>+<2B> +<2B> <11>W<EFBFBD>W<EFBFBD>_<EFBFBD><1D> <10><14><17><17>\<5C>A<EFBFBD> <1D>D<>K<>K<><14><07><07><01>
<EFBFBD>D<EFBFBD>G<EFBFBD>G<EFBFBD>A<EFBFBD>J<EFBFBD><14><07><07><01>
<EFBFBD>D<EFBFBD>G<EFBFBD>G<EFBFBD>A<EFBFBD>J<EFBFBD><14><07><07><02> <0B>T<EFBFBD>W<EFBFBD>W<EFBFBD>R<EFBFBD>[<5B>*<2A> *<2A>
 <20>#<23>(<28>(<28><13>M<EFBFBD>(<28>(<28>$<24>'<27>'<27>4<EFBFBD>7<EFBFBD>7<EFBFBD>;<3B>#=<3D>=<3D> =r;N<>none<6E>)r<>r<>r<><00>gapcolor<6F>markerr<72>r<>r<>r<>r<><00> fillstyler<65><00> dash_capstyle<6C>solid_capstyle<6C>dash_joinstyle<6C>solid_joinstyle<6C>
pickradiusr<EFBFBD>r<>c <00><><00><01>t<00>|<00><00>tj|<01>s t d<01><00>tj|<02>s t d<02><00>|<03>t
j d}|<04>t
j d}|<07>t
j d}|<05>t
j d}|<08>t
j d}|<0E>t
j d }|<0F>t
j d
}|<11>t
j d }|<10>t
j d }|<12>t
j d }|<14>d}d|_d|_d|_ d|_
|j|<0F>|j|<11>|j|<10>|j|<12>d|_d|_||_d|_d|_|j)|<03>|j+|<04>|j-|<14>d|_|j1|<05>|<07>d}t3|t4<00>st5|| <0A>|_n||_d|_|j;|<06>d|_d|_d|_ |jC|<15>|jE|<0E>|jG|<08>d|_$d|_%d|_&d|_'|jQ| <0B>|jS| <0C>|jU|
<EFBFBD>|jW| <09>|jY|<16>||_-d|_.t3|j^t`<00>r+t3|j^tb<00>s|j^|_2tjfg<00>|_4tjfg<00>|_5d|_6d|_7d|_8d|_9d|_:d|_;d|_<d|_=d|_>|j||<02>y)a<>
Create a `.Line2D` instance with *x* and *y* data in sequences of
*xdata*, *ydata*.
Additional keyword arguments are `.Line2D` properties:
%(Line2D:kwdoc)s
See :meth:`set_linestyle` for a description of the line styles,
:meth:`set_marker` for a description of the markers, and
:meth:`set_drawstyle` for a description of the draw styles.
zxdata must be a sequencezydata must be a sequenceNzlines.linewidthzlines.linestylez lines.markerz lines.colorzlines.markersizezlines.antialiasedzlines.dash_capstylezlines.dash_joinstylezlines.solid_capstylezlines.solid_joinstyler<65>)rNr<4E>rTF)@<40>super<65>__init__rQr~<00> RuntimeErrorr1r2<00> _dashcapstyle<6C>_dashjoinstyle<6C>_solidjoinstyle<6C>_solidcapstyle<6C>set_dash_capstyle<6C>set_dash_joinstyle<6C>set_solid_capstyle<6C>set_solid_joinstyle<6C> _linestyles<65>
_drawstyle<EFBFBD>
_linewidth<EFBFBD>_unscaled_dash_pattern<72> _dash_pattern<72> set_linewidth<74> set_linestyle<6C> set_drawstyle<6C>_color<6F> set_colorr-r<00>_marker<65> _gapcolor<6F> set_gapcolor<6F>
_markevery<EFBFBD> _markersize<7A> _antialiased<65> set_markevery<72>set_antialiased<65>set_markersize<7A>_markeredgecolor<6F>_markeredgewidth<74>_markerfacecolor<6F>_markerfacecoloralt<6C>set_markerfacecolor<6F>set_markerfacecoloralt<6C>set_markeredgecolor<6F>set_markeredgewidth<74>_internal_updater<65><00>
ind_offset<EFBFBD>_pickerr<00>bool<6F> _pickradius<75>asarray<61>_xorig<69>_yorig<69> _invalidx<64> _invalidyr<79>r<><00>_xyr<00>_transformed_path<74> _subslice<63> _x_filled<65>set_data)r<><00>xdata<74>ydatar<61>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00>kwargs<67> __class__s <20>r9r<>zLine2D.__init__-sa<00><><00>F <0E><07><18><1A><12>{<7B>{<7B>5<EFBFBD>!<21><1E>9<>:<3A> :<3A><11>{<7B>{<7B>5<EFBFBD>!<21><1E>9<>:<3A> :<3A> <14> <1C><1B> <0C> <0C>%6<>7<>I<EFBFBD> <14> <1C><1B> <0C> <0C>%6<>7<>I<EFBFBD> <11>><3E><18>\<5C>\<5C>.<2E>1<>F<EFBFBD> <10>=<3D><17>L<EFBFBD>L<EFBFBD><1D>/<2F>E<EFBFBD> <15> <1D><1C><1C><1C>&8<>9<>J<EFBFBD> <16> <1E><1D>,<2C>,<2C>':<3A>;<3B>K<EFBFBD> <18> <20><1F>L<EFBFBD>L<EFBFBD>)><3E>?<3F>M<EFBFBD> <19> !<21> <20>\<5C>\<5C>*@<40>A<>N<EFBFBD> <19> !<21> <20>\<5C>\<5C>*@<40>A<>N<EFBFBD> <1A> "<22>!<21>l<EFBFBD>l<EFBFBD>+B<>C<>O<EFBFBD> <14> <1C>!<21>I<EFBFBD>!<21><04><1A>"<22><04><1B>#<23><04><1C>"<22><04><1B> <0C><1E><1E>}<7D>-<2D> <0C><1F><1F><0E>/<2F> <0C><1F><1F><0E>/<2F> <0C> <20> <20><1F>1<><1F><04><18><1E><04><0F>#<23><04><0F>&/<2F><04>#<23>&<26><04><1A> <0C><1A><1A>9<EFBFBD>%<25> <0C><1A><1A>9<EFBFBD>%<25> <0C><1A><1A>9<EFBFBD>%<25><1A><04> <0B> <0C><0E><0E>u<EFBFBD><1D> <11>><3E><1B>F<EFBFBD><19>&<26>+<2B>.<2E>&<26>v<EFBFBD>y<EFBFBD>9<>D<EFBFBD>L<EFBFBD>!<21>D<EFBFBD>L<EFBFBD><1D><04><0E> <0C><19><19>(<28>#<23><1E><04><0F><1F><04><18> <20><04><19> <0C><1A><1A>9<EFBFBD>%<25> <0C><1C><1C>[<5B>)<29> <0C><1B><1B>J<EFBFBD>'<27> $<24><04><1D> $<24><04><1D> $<24><04><1D>#'<27><04> <20> <0C> <20> <20><1F>1<> <0C>#<23>#<23>$6<>7<> <0C> <20> <20><1F>1<> <0C> <20> <20><1F>1<> <0A><1D><1D>f<EFBFBD>%<25>$<24><04><0F><1B><04><0F> <16>t<EFBFBD>|<7C>|<7C>V<EFBFBD> ,<2C><1E>t<EFBFBD>|<7C>|<7C>T<EFBFBD>2<>#<23>|<7C>|<7C>D<EFBFBD> <1C><18>j<EFBFBD>j<EFBFBD><12>n<EFBFBD><04> <0B><18>j<EFBFBD>j<EFBFBD><12>n<EFBFBD><04> <0B><1D><04><0E><1D><04><0E><16><04><07><16><04><07><17><04><08><19><04>
<EFBFBD>!%<25><04><1E><1E><04><0E><1D><04><0E> <0C> <0A> <0A>e<EFBFBD>U<EFBFBD>#r;c<00><><00>|j|<01>rdifS|js |jr|j<00>t |j
<00>dk(rdifS|j <00>}|j<00>\}}|j|<03>}|j}|dd<03>df}|dd<03>df}|jd<05><06>}|<08>"tjd<07>|j} n|jdz |jz} tj d <09>
<EFBFBD>5|j"d vrAtj$||j&z
d z||j(z
d zz| d zk<00>\}
nCt+|j&|j(||| <09>}
|j,j/d <0A>r|
d z}
ddd<03>
|j0z }
t |
<EFBFBD>dkDt3|
<EFBFBD><0E>fS#1swY<00>2xYw)a 
Test whether *mouseevent* occurred on the line.
An event is deemed to have occurred "on" the line if it is less
than ``self.pickradius`` (default: 5 points) away from it. Use
`~.Line2D.get_pickradius` or `~.Line2D.set_pickradius` to get or set
the pick radius.
Parameters
----------
mouseevent : `~matplotlib.backend_bases.MouseEvent`
Returns
-------
contains : bool
Whether any values are within the radius.
details : dict
A dictionary ``{'ind': pointlist}``, where *pointlist* is a
list of points of the line that are within the pickradius around
the event position.
TODO: sort returned indices by distance
FrNrT<><01>rootz,no figure set when check if mouse is on line<6E>R@<40>ignore)rr)r'NrOr<>)<01>ind)<1A>_different_canvasrr<><00>recacherPr<00>_get_transformed_path<74>get_transformed_path_and_affine<6E>transform_pathro<00>
get_figure<EFBFBD>_log<6F>warningr<67><00>dpirQ<00>errstate<74>
_linestylerRr?rWrgr<><00>
startswithr<EFBFBD><00>dict) r<><00>
mouseevent<EFBFBD>transformed_path<74>pathr<68><00>xy<78>xt<78>yt<79>fig<69>pixelsrs r9<00>containszLine2D.contains<6E>s<><00><00>0 <10> !<21> !<21>*<2A> -<2D><18>"<22>9<EFBFBD> <1C> <10>><3E>><3E>T<EFBFBD>^<5E>^<5E> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <0E>t<EFBFBD>x<EFBFBD>x<EFBFBD>=<3D>A<EFBFBD> <1D><18>"<22>9<EFBFBD> <1C> <20>5<>5<>7<><18>'<27>G<>G<>I<> <0C><04>f<EFBFBD><15>$<24>$<24>T<EFBFBD>*<2A><04> <11>]<5D>]<5D><02> <0F><01>1<EFBFBD><04>X<EFBFBD><02> <0F><01>1<EFBFBD><04>X<EFBFBD><02><13>o<EFBFBD>o<EFBFBD>4<EFBFBD>o<EFBFBD>(<28><03> <0E>;<3B> <10>L<EFBFBD>L<EFBFBD>G<> H<><19>%<25>%<25>F<EFBFBD><18>W<EFBFBD>W<EFBFBD>s<EFBFBD>]<5D>T<EFBFBD>%5<>%5<>5<>F<EFBFBD>
<10>[<5B>[<5B>X<EFBFBD> &<26> <1E><13><EFBFBD><EFBFBD>.<2E>0<><19>z<EFBFBD>z<EFBFBD><17>*<2A>,<2C>,<2C>&<26>1<EFBFBD>,<2C><02>Z<EFBFBD>\<5C>\<5C>0A<30>a<EFBFBD>/G<>G<><1D><11>{<7B>#<23>$<24><04><03>
#<23>:<3A><<3C><<3C><1A><1C><1C>r<EFBFBD>2<EFBFBD>v<EFBFBD>N<><03><17>?<3F>?<3F>-<2D>-<2D>g<EFBFBD>6<><17>A<EFBFBD>I<EFBFBD>C<EFBFBD> <1E> <0C>t<EFBFBD><EFBFBD><EFBFBD><1E><03><13>3<EFBFBD>x<EFBFBD>!<21>|<7C>T<EFBFBD>c<EFBFBD>]<5D>*<2A>*<2A>! <1E> <1E>s <00>BG<03>G!c<00><00>|jS)zo
Return the pick radius used for containment tests.
See `.contains` for more details.
)r<>r<>s r9<00>get_pickradiuszLine2D.get_pickradius<00><00><00> <14><1F><1F>r;c<00>R<00>t|t<00>r|dkr td<02><00>||_y)z<>
Set the pick radius used for containment tests.
See `.contains` for more details.
Parameters
----------
pickradius : float
Pick radius, in points.
rz pick radius should be a distanceN)r-rr3r<>)r<>r<>s r9<00>set_pickradiuszLine2D.set_pickradiuss(<00><00><1A>*<2A>d<EFBFBD>+<2B>z<EFBFBD>A<EFBFBD>~<7E><1C>?<3F>@<40> @<40>%<25><04>r;c<00>6<00>|jj<00>S)z[
Return the marker fill style.
See also `~.Line2D.set_fillstyle`.
)r<><00> get_fillstyler<65>s r9r,zLine2D.get_fillstyles<00><00> <14>|<7C>|<7C>)<29>)<29>+<2B>+r;c<00>x<00>|jt|jj<00>|<01><00>d|_y)a%
Set the marker fill style.
Parameters
----------
fs : {'full', 'left', 'right', 'bottom', 'top', 'none'}
Possible values:
- 'full': Fill the whole marker with the *markerfacecolor*.
- 'left', 'right', 'bottom', 'top': Fill the marker half at
the given side with the *markerfacecolor*. The other
half of the marker is filled with *markerfacecoloralt*.
- 'none': No filling.
For examples see :ref:`marker_fill_styles`.
TN)<05>
set_markerrr<><00>
get_marker<EFBFBD>stale)r<><00>fss r9<00> set_fillstylezLine2D.set_fillstyle!s+<00><00>" <0A><0F><0F> <0B>D<EFBFBD>L<EFBFBD>L<EFBFBD>$;<3B>$;<3B>$=<3D>r<EFBFBD>B<>C<><19><04>
r;c<00> <00>||_d|_y)af
Set the markevery property to subsample the plot when using markers.
e.g., if ``every=5``, every 5-th marker will be plotted.
Parameters
----------
every : None or int or (int, int) or slice or list[int] or float or (float, float) or list[bool]
Which markers to plot.
- ``every=None``: every point will be plotted.
- ``every=N``: every N-th marker will be plotted starting with
marker 0.
- ``every=(start, N)``: every N-th marker, starting at index
*start*, will be plotted.
- ``every=slice(start, end, N)``: every N-th marker, starting at
index *start*, up to but not including index *end*, will be
plotted.
- ``every=[i, j, m, ...]``: only markers at the given indices
will be plotted.
- ``every=[True, False, True, ...]``: only positions that are True
will be plotted. The list must have the same length as the data
points.
- ``every=0.1``, (i.e. a float): markers will be spaced at
approximately equal visual distances along the line; the distance
along the line between markers is determined by multiplying the
display-coordinate distance of the Axes bounding-box diagonal
by the value of *every*.
- ``every=(0.5, 0.1)`` (i.e. a length-2 tuple of float): similar
to ``every=0.1`` but the first marker will be offset along the
line by 0.5 multiplied by the
display-coordinate-diagonal-distance along the line.
For examples see
:doc:`/gallery/lines_bars_and_markers/markevery_demo`.
Notes
-----
Setting *markevery* will still only draw markers at actual data points.
While the float argument form aims for uniform visual spacing, it has
to coerce from the ideal spacing to the nearest available data point.
Depending on the number and distribution of data points, the result
may still not look evenly spaced.
When using a start offset to specify the first marker, the offset will
be from the first data point which may be different from the first
the visible data point if the plot is zoomed in.
If zooming in on a plot when using float arguments then the actual
data points that have markers will change because the distance between
markers is always determined from the display-coordinates
axes-bounding-box-diagonal regardless of the actual axes data limits.
TN)r<>r0)r<><00>everys r9r<>zLine2D.set_markevery5s<00><00>p <20><04><0F><19><04>
r;c<00><00>|jS)zr
Return the markevery setting for marker subsampling.
See also `~.Line2D.set_markevery`.
)r<>r<>s r9<00> get_markeveryzLine2D.get_markeveryp<00><00><00> <14><EFBFBD><EFBFBD>r;c<00>J<00>t|<01>s|j|<01>||_y)z<>
Set the event picker details for the line.
Parameters
----------
p : float or callable[[Artist, Event], tuple[bool, dict]]
If a float, it is used as the pick radius in points.
N)<03>callabler*r<>)r<><00>ps r9<00>
set_pickerzLine2D.set_pickerxs <00><00><18><01>{<7B> <10> <1F> <1F><01> "<22><18><04> r;c<00>f<00>tddgddgg<02>}|j|j<00><00>|S)z"Get the bounding box of this line.r)r<00>update_from_data_xy<78>
get_xydata)r<><00>bboxs r9<00>get_bboxzLine2D.get_bbox<6F>s3<00><00><13>a<EFBFBD><11>V<EFBFBD>a<EFBFBD><11>V<EFBFBD>$<24>%<25><04> <0C> <20> <20><14><1F><1F>!2<>3<><13> r;c<00>B<00>tddgddgg<02>}|j<00>j}|j||j <00><00>d<02><03>|j
r@|j dz |jd<02><05>jzdz}|j|<04>}|S)NrT)rr r g<00>?)
r<00> get_transformrsr=r>r<>r<>rr<00>padded)r<><00>rendererr?<00>trans_data_to_xyr<79>s r9<00>get_window_extentzLine2D.get_window_extent<6E>s<><00><00><13>a<EFBFBD><11>V<EFBFBD>a<EFBFBD><11>V<EFBFBD>$<24>%<25><04><1F>-<2D>-<2D>/<2F>9<>9<><18> <0C> <20> <20>!1<>$<24>/<2F>/<2F>2C<32>!D<>(,<2C> !<21> .<2E> <10><<3C><<3C><16>"<22>"<22>T<EFBFBD>)<29>D<EFBFBD>O<EFBFBD>O<EFBFBD><14>O<EFBFBD>,F<>,J<>,J<>J<>c<EFBFBD>Q<>B<EFBFBD><17>;<3B>;<3B>r<EFBFBD>?<3F>D<EFBFBD><13> r;c<00>~<00>t|<01>dk(r|\\}}n|\}}|j|<02>|j|<03>y)z<>
Set the x and y data.
Parameters
----------
*args : (2, N) array or two 1D arrays
See Also
--------
set_xdata
set_ydata
rN)rP<00> set_xdata<74> set_ydata)r<><00>argsr?rWs r9rzLine2D.set_data<74>s;<00><00> <0F>t<EFBFBD>9<EFBFBD><01>><3E><1A>G<EFBFBD>F<EFBFBD>Q<EFBFBD><01><17>D<EFBFBD>A<EFBFBD>q<EFBFBD> <0C><0E><0E>q<EFBFBD><19> <0C><0E><0E>q<EFBFBD>r;c<00>(<00>|jd<01><02>y)NT)<01>always)rr<>s r9<00>recache_alwayszLine2D.recache_always<79>s<00><00> <0C> <0C> <0C>D<EFBFBD> <0C>!r;c<00><00>|s |jr5|j|j<00>}t|<02>j <00>}n |j
}|s |j r5|j|j<00>}t|<04>j <00>}n |j}tjtj||<05><00>jt<00>|_|jj \|_|_ d|_|j$<00>r]t'|<03>|j(kD<00>rDt+j,|<03><00>r.|j$j.dk(<00>r|j$j1<00>dk(r<>|j2<00><>|j5<00>r<>|j7<00>|j$j8k(r<>d|_tj:|<03>}|j=<00>rw|j
j?<00>|_ tjBt'|<03><00>}tjD|||||j
|<00>|j@|<n|j
|_ |j*<00>|j*jF}nd}tI|jJ|jj <00>} tMtjN| <09>j |<08><06>|_d|_(d|_d|_y)NF<4E> rectilinear<61>linearTr<00><01>_interpolation_steps))r<><00>convert_xunitsr<73>r rSr<>r<00>convert_yunitsr<73>r<>rQ<00> column_stack<63>broadcast_arrays<79>astype<70>floatrrvr<00>axesrP<00>_subslice_optim_min_sizer<00>is_sorted_and_has_non_nan<61>name<6D>
get_xscaler<EFBFBD><00> get_clip_onrB<00> transData<74>isnan<61>any<6E>copyrry<00>interprRrr<>rr<>r)
r<EFBFBD>rL<00>xconvr?<00>yconvrW<00>nanmask<73>indices<65>interpolation_stepsr s
r9rzLine2D.recache<68>s*<00><00> <11>T<EFBFBD>^<5E>^<5E><18>'<27>'<27><04> <0B> <0B>4<>E<EFBFBD>(<28><15>/<2F>5<>5<>7<>A<EFBFBD><14><07><07>A<EFBFBD> <11>T<EFBFBD>^<5E>^<5E><18>'<27>'<27><04> <0B> <0B>4<>E<EFBFBD>(<28><15>/<2F>5<>5<>7<>A<EFBFBD><14><07><07>A<EFBFBD><15>?<3F>?<3F>2<EFBFBD>#6<>#6<>q<EFBFBD>!<21>#<<3C>=<3D>D<>D<>U<EFBFBD>K<><04><08><1F>8<EFBFBD>8<EFBFBD>:<3A>:<3A><18><04><07><14><17><1E><04><0E> <10>I<EFBFBD>I<EFBFBD><17><01>F<EFBFBD>T<EFBFBD>:<3A>:<3A>:<3A><19>3<>3<>A<EFBFBD>6<><18>I<EFBFBD>I<EFBFBD>N<EFBFBD>N<EFBFBD>m<EFBFBD>3<><18>I<EFBFBD>I<EFBFBD>(<28>(<28>*<2A>h<EFBFBD>6<><18>O<EFBFBD>O<EFBFBD>+<2B><18>$<24>$<24>&<26><18>&<26>&<26>(<28>D<EFBFBD>I<EFBFBD>I<EFBFBD>,?<3F>,?<3F>?<3F>!<21>D<EFBFBD>N<EFBFBD><18>h<EFBFBD>h<EFBFBD>q<EFBFBD>k<EFBFBD>G<EFBFBD><16>{<7B>{<7B>}<7D>!%<25><17><17><1C><1C><1E><04><0E><1C>)<29>)<29>C<EFBFBD><01>F<EFBFBD>+<2B><07>*,<2C>)<29>)<29><1B>G<EFBFBD>$<24>g<EFBFBD>w<EFBFBD>h<EFBFBD>&7<><14><17><17>'<27><18>9J<39>+L<01><04><0E><0E>w<EFBFBD>'<27>"&<26><17><17><04><0E> <0F>:<3A>:<3A> !<21>"&<26>*<2A>*<2A>"A<>"A<> <1F>"#<23> <1F> <1C>T<EFBFBD>_<EFBFBD>_<EFBFBD> -<2D>t<EFBFBD>x<EFBFBD>x<EFBFBD>z<EFBFBD>z<EFBFBD> :<3A><02><19>"<22>*<2A>*<2A>R<EFBFBD>.<2E>*<2A>*<2A>/B<>D<01><04>
<EFBFBD>!%<25><04><1E><1E><04><0E><1E><04>r;c<00><<00>|<01>ot|j|j|dd<01>fj<00>}t t j |<02>j|jj<00><02>}n |j}t||j<00><00>|_ y)z<>
Put a TransformedPath instance at self._transformed_path;
all invalidation of the transform is then handled by the
TransformedPath instance.
NrQ) rr<>rrvrrQr<>rrRrrBr)r<><00>subslicer rs r9<00>_transform_pathzLine2D._transform_path<74>s{<00><00> <14> <1F> <20><14><1F><1F>1<>4<EFBFBD>8<EFBFBD>8<EFBFBD>H<EFBFBD>a<EFBFBD>K<EFBFBD>3H<33>3J<33>3J<33>K<>B<EFBFBD><18><12><1A><1A>B<EFBFBD><1E>)<29>)<29>.2<EFBFBD>j<EFBFBD>j<EFBFBD>.M<>.M<>O<01>E<EFBFBD><19>J<EFBFBD>J<EFBFBD>E<EFBFBD>!0<><15><04>8J<38>8J<38>8L<38>!M<><04>r;c<00>R<00>|j<00>|j<00>|jS)z<Return this line's `~matplotlib.transforms.TransformedPath`.)rrkr<>s r9rzLine2D._get_transformed_path<74>s&<00><00> <0F> !<21> !<21> )<29> <10> <20> <20> "<22><13>%<25>%<25>%r;c<00>@<00><01>d|_d|_t<00>|<00> |<01>y)NT)r<>rr<><00> set_transform)r<><00>tr s <20>r9rnzLine2D.set_transform<72>s<00><><00><1D><04><0E><1D><04><0E> <0A><07><1D>a<EFBFBD> r;c<00><><00>|j<00>sy|js |jr|j<00>d|_|j
r<>|j r<>|j j<00>\}}|jj|d<02>}|jj|d<03>}tt|dz
d<01>|dz<00>}|j|_|j|<06>nd}|j<00>rddlm}||j<00>|<01>}|j#d|j%<00><00>|j&|j(dk7<00>r<>|j+<00>j-<00>\}} t/|j0<00><00>rM|j3<00>}
|j5|
<EFBFBD>|
j7|j9<00><00>|
j;|j<<00>|
j?|j@<00>|jC<00>r|jD} |jF} n|jH} |jJ} |
jM| <0C>|
jO| <0B>|
jQ|jS<00><00>|jU<00><00>|
jV|jU<00><00>|jC<00>r<>|jX<00><>t[j\|jX|j^<00>} |
ja| d<08> <09>tc|jd<00>\}}|
jg||<0F>|ji|
|| jk<00><00>t[j\|jl|j^<00>} |
ja| d<08> <09>|
jf|jd<00>|ji|
|| jk<00><00>|
jo<00>|jp<00>r6|jrdkD<00>r&|j3<00>}
|j5|
<EFBFBD>|
j7|j9<00><00>|
j?|jt<00>|
j;|j<<00>t[j\|jw<00>|j^<00>}t[j\|jy<00>|j^<00>}t[j\|jyd<08>
<EFBFBD>|j^<00>}t{j||j~d <0B>r0t{j<>|j<><00>d <0C>s |dd |d fz}|
ja|d<08> <09>|jU<00><00>0|jU<00>\}}}|
jW|dz |dz d|z<00>|jp}|j<><00>dk7rdt{j<>|dd<00><10>5|j<00>|j|<06>|j+<00>j<><00>\}} ddd<00>n!|j+<00>j<><00>\}} t/j0<00><00>r<>|j<><00>}|<17>t<>|| |j <00>}n|}|j<><00>}t<>|t<><00>r|j<>|jr<00>|k\}|
jQ|<19>|
jM|j<><00><00>|
jO|j<><00><00>|j<><00>}|j<><00>}|j<>|jr<00>}t{j||j<><00>d<11>r|
j?d<01>n|j<>|<1C>}|j<>|
||| jk<00>|<11>|j<><00>}|rE|j<><00>}|j<>|<1C>}|j<>|
|||| jk<00>|<12>|
jo<00>|j<>d<06>d|_Uy#1swY<00><02>xYw)Nr<00>left<66>rightr)<01>PathEffectRenderer<65>line2dr<64>T)<01>isRGBA<42><01>alt<6C>autor<6F>r<>rOr<>)r<>rr<>F)V<> get_visiblerr<>rr<>rrY<00>
get_xboundr<00> searchsortedrp<00>maxr<78>rk<00>get_path_effects<74>matplotlib.patheffectsrs<00>
open_group<EFBFBD>get_gid<69> _lineStylesrrrrPro<00>new_gc<67> _set_gc_clip<69>set_url<72>get_urlr<6C>r<>r<>r<><00> is_dashedr<64>r<>r<>r<><00> set_joinstyle<6C> set_capstyle<6C>set_snap<61>get_snap<61>get_sketch_params<6D>set_sketch_paramsr<73><00>mcolors<72>to_rgba<62>_alpha<68>set_foregroundrHr<><00>
set_dashes<EFBFBD> draw_path<74>frozenr<6E><00>restorer<65>r<>r<><00>get_markeredgecolor<6F>_get_markerfacecolorr<00>
_str_equalr<EFBFBD><00>_str_lower_equal<61>get_markerfacecolor<6F> get_drawstyle<6C> _setattr_cm<63>!get_transformed_points_and_affiner6r<><00>get_snap_thresholdr-r<00>points_to_pixels<6C> get_joinstyle<6C> get_capstyle<6C>get_pathrBr/r<><00> draw_markers<72> get_alt_path<74>get_alt_transform<72> close_groupr0)r<>rDr<>r<><00>i0<69>i1rjrsr<>r<><00>gc<67>capr<70><00>lc_rgbarGrF<00>ec_rgba<62>fc_rgba<62>
fcalt_rgbar<EFBFBD><00>length<74>
randomnessr<EFBFBD>r<><00>
subsampled<EFBFBD>snap<61> marker_path<74> marker_trans<6E>w<>alt_marker_path<74>alt_marker_transs r9<00>drawz Line2D.draw<61>s<><00><00><14><1F><1F>!<21> <12> <0F>><3E>><3E>T<EFBFBD>^<5E>^<5E> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD><1B><04><0F> <0F>><3E>><3E>d<EFBFBD>i<EFBFBD>i<EFBFBD><19>Y<EFBFBD>Y<EFBFBD>)<29>)<29>+<2B>F<EFBFBD>B<EFBFBD><02><15><1E><1E>,<2C>,<2C>R<EFBFBD><16>8<>B<EFBFBD><15><1E><1E>,<2C>,<2C>R<EFBFBD><17>9<>B<EFBFBD><1C>S<EFBFBD><12>a<EFBFBD><16><11>^<5E>R<EFBFBD>!<21>V<EFBFBD>4<>H<EFBFBD>&<26>n<EFBFBD>n<EFBFBD>D<EFBFBD>O<EFBFBD> <10> <20> <20><18> *<2A><1B>H<EFBFBD> <0F> <20> <20> "<22> A<>)<29>$<24>*?<3F>*?<3F>*A<>8<EFBFBD>L<>H<EFBFBD><10><1B><1B>H<EFBFBD>d<EFBFBD>l<EFBFBD>l<EFBFBD>n<EFBFBD>5<> <0F> <1B> <1B>D<EFBFBD>O<EFBFBD>O<EFBFBD> ,<2C><0F> ?<3F>!<21>7<>7<>9<>=<3D>=<3D>?<3F> <1A>E<EFBFBD>6<EFBFBD><12>5<EFBFBD>><3E>><3E>"<22><1D>_<EFBFBD>_<EFBFBD>&<26><02><14>!<21>!<21>"<22>%<25><12>
<EFBFBD>
<EFBFBD>4<EFBFBD><<3C><<3C>><3E>*<2A><12>"<22>"<22>4<EFBFBD>#4<>#4<>5<><12> <20> <20><14><1F><1F>1<><17>><3E>><3E>#<23><1E>,<2C>,<2C>C<EFBFBD><1F>.<2E>.<2E>D<EFBFBD><1E>-<2D>-<2D>C<EFBFBD><1F>/<2F>/<2F>D<EFBFBD><12> <20> <20><14>&<26><12><0F><0F><03>$<24><12> <0B> <0B>D<EFBFBD>M<EFBFBD>M<EFBFBD>O<EFBFBD>,<2C><17>)<29>)<29>+<2B>7<>(<28>B<EFBFBD>(<28>(<28>$<24>*@<40>*@<40>*B<>C<><18>><3E>><3E>#<23><04><0E><0E>(B<>%<25>o<EFBFBD>o<EFBFBD>d<EFBFBD>n<EFBFBD>n<EFBFBD>d<EFBFBD>k<EFBFBD>k<EFBFBD>J<>G<EFBFBD><16>%<25>%<25>g<EFBFBD>d<EFBFBD>%<25>;<3B>(A<><1D>+<2B>+<2B>)-<2D>%<25>K<EFBFBD><14><17>M<EFBFBD>M<EFBFBD>+<2B>t<EFBFBD>4<><1C>&<26>&<26>r<EFBFBD>5<EFBFBD>&<26>-<2D>-<2D>/<2F>B<>!<21>/<2F>/<2F>$<24>+<2B>+<2B>t<EFBFBD>{<7B>{<7B>C<><07><12>!<21>!<21>'<27>$<24>!<21>7<><1D><02> <0A> <0A>t<EFBFBD>1<>1<>2<><18>"<22>"<22>2<EFBFBD>u<EFBFBD>f<EFBFBD>m<EFBFBD>m<EFBFBD>o<EFBFBD>><3E><12>
<EFBFBD>
<EFBFBD> <0C> <0F><<3C><<3C>D<EFBFBD>,<2C>,<2C>q<EFBFBD>0<><19><1F><1F>"<22>B<EFBFBD> <10> <1D> <1D>b<EFBFBD> !<21> <0E>J<EFBFBD>J<EFBFBD>t<EFBFBD>|<7C>|<7C>~<7E> &<26> <0E> <1C> <1C>T<EFBFBD>2<>2<> 3<> <0E> <1E> <1E>t<EFBFBD>0<>0<> 1<><1D>o<EFBFBD>o<EFBFBD><14>(<28>(<28>*<2A>D<EFBFBD>K<EFBFBD>K<EFBFBD>9<>G<EFBFBD><1D>o<EFBFBD>o<EFBFBD><14>)<29>)<29>+<2B>T<EFBFBD>[<5B>[<5B>:<3A>G<EFBFBD> <20><1F><1F><14>)<29>)<29>d<EFBFBD>)<29>3<>T<EFBFBD>[<5B>[<5B>B<01>J<EFBFBD><16> <20> <20><14>!6<>!6<><06>?<3F>!<21>2<>2<><1C>0<>0<>2<>F<EFBFBD><<3C>!<21>"<22>1<EFBFBD>+<2B><17><11><1A> <0A>5<><07> <0E> <1D> <1D>g<EFBFBD>d<EFBFBD> <1D> 3<><13>%<25>%<25>'<27>3<>,0<>,B<>,B<>,D<>)<29><05>v<EFBFBD>z<EFBFBD><12>$<24>$<24>U<EFBFBD>1<EFBFBD>W<EFBFBD>f<EFBFBD>Q<EFBFBD>h<EFBFBD><01>*<2A> <0C>E<><19>\<5C>\<5C>F<EFBFBD><14>!<21>!<21>#<23>y<EFBFBD>0<><1A>&<26>&<26><1C><19>d<EFBFBD>L<01>K<01><18>L<EFBFBD>L<EFBFBD>N<EFBFBD><18>(<28>(<28><18>2<>%)<29>%?<3F>%?<3F>%A<>&G<>&G<>&I<>"<22>E<EFBFBD>6<EFBFBD> K<01>K<01>"&<26>!;<3B>!;<3B>!=<3D>"C<>"C<>"E<><1E><05>v<EFBFBD><13>5<EFBFBD>><3E>><3E>"<22> <20>.<2E>.<2E>0<> <09><1C>(<28>!1<>!<21>5<EFBFBD>&<26>$<24>)<29>)<29>"=<3D>J<EFBFBD>"'<27>J<EFBFBD><1D>0<>0<>2<><04><1D>d<EFBFBD>D<EFBFBD>)<29>#<23>4<>4<>T<EFBFBD>5E<35>5E<35>F<>$<24>N<>D<EFBFBD><12> <0B> <0B>D<EFBFBD>!<21><12> <20> <20><16>!5<>!5<>!7<>8<><12><0F><0F><06> 3<> 3<> 5<>6<>$<24>o<EFBFBD>o<EFBFBD>/<2F> <0B>%<25>3<>3<>5<> <0C><1C>-<2D>-<2D>d<EFBFBD>.><3E>.><3E>?<3F><01><18>#<23>#<23>F<EFBFBD>$5<>$5<>$7<><13>=<3D><16>$<24>$<24>Q<EFBFBD>'<27>$0<>#5<>#5<>a<EFBFBD>#8<>L<EFBFBD><18>%<25>%<25>b<EFBFBD>+<2B>|<7C>&0<>&<26>-<2D>-<2D>/<2F>&-<2D>/<2F>#)<29>"5<>"5<>"7<><0F>"<22>'-<2D>'?<3F>'?<3F>'A<>$<24>'7<>'=<3D>'=<3D>a<EFBFBD>'@<40>$<24><1C>)<29>)<29><1E><0F>1A<31>:<3A>"<22>M<EFBFBD>M<EFBFBD>O<EFBFBD>Z<EFBFBD>9<> <0F>J<EFBFBD>J<EFBFBD>L<EFBFBD><10><1C><1C>X<EFBFBD>&<26><1A><04>
<EFBFBD>cK<01>K<01>s <00>A`9<03>9ac<00><00>|jS)z-Return whether antialiased rendering is used.)r<>r<>s r9<00>get_antialiasedzLine2D.get_antialiased<65>s<00><00><13> <20> <20> r;c<00><00>|jS)zP
Return the line color.
See also `~.Line2D.set_color`.
)r<>r<>s r9<00> get_colorzLine2D.get_color<6F>s<00><00> <14>{<7B>{<7B>r;c<00><00>|jS)zS
Return the drawstyle.
See also `~.Line2D.set_drawstyle`.
)r<>r<>s r9r<>zLine2D.get_drawstyle<6C>r7r;c<00><00>|jS)zV
Return the line gapcolor.
See also `~.Line2D.set_gapcolor`.
)r<>r<>s r9<00> get_gapcolorzLine2D.get_gapcolor<6F>s<00><00> <14>~<7E>~<7E>r;c<00><00>|jS)zS
Return the linestyle.
See also `~.Line2D.set_linestyle`.
<20>rr<>s r9<00> get_linestylezLine2D.get_linestyle<6C>r7r;c<00><00>|jS)z]
Return the linewidth in points.
See also `~.Line2D.set_linewidth`.
)r<>r<>s r9<00> get_linewidthzLine2D.get_linewidth<74>r7r;c<00>6<00>|jj<00>S)zR
Return the line marker.
See also `~.Line2D.set_marker`.
)r<>r/r<>s r9r/zLine2D.get_marker<65>s<00><00> <14>|<7C>|<7C>&<26>&<26>(<28>(r;c<00>H<00>|j}tj|d<01>rtjdr`|j
j <00>dvr |jS|j
j<00>r|j
j<00>dk7ry|jS|S)za
Return the marker edge color.
See also `~.Line2D.set_markeredgecolor`.
rxz_internal.classic_mode)<02>.r<>r<><00>k)
r<EFBFBD>rr<>r1r2r<>r/r<><00> is_filledr,)r<>r<>s r9r<>zLine2D.get_markeredgecolor<6F>s<><00><00> <13>#<23>#<23><03> <10> <1B> <1B>C<EFBFBD><16> (<28><12>|<7C>|<7C>4<>5<><17><<3C><<3C>*<2A>*<2A>,<2C>
<EFBFBD>:<3A><1F>;<3B>;<3B>&<26><18>L<EFBFBD>L<EFBFBD>*<2A>*<2A>,<2C> <20>L<EFBFBD>L<EFBFBD>6<>6<>8<>F<EFBFBD>B<><1E><17>;<3B>;<3B> <1E><16>Jr;c<00><00>|jS)zk
Return the marker edge width in points.
See also `~.Line2D.set_markeredgewidth`.
)r<>r<>s r9<00>get_markeredgewidthzLine2D.get_markeredgewidth<74>s<00><00> <14>$<24>$<24>$r;c<00><><00>|jj<00>dk(ry|r |jn |j}t j
|d<02>r |j S|S)Nr<4E>rx)r<>r,r<>r<>rr<>r<>)r<>rw<00>fcs r9r<>zLine2D._get_markerfacecolor<6F>sN<00><00> <0F><<3C><<3C> %<25> %<25> '<27>6<EFBFBD> 1<><19>),<2C>T<EFBFBD> %<25> %<25>$<24>2G<32>2G<32><02> <10> !<21> !<21>"<22>f<EFBFBD> -<2D><17>;<3B>;<3B> <1E><15>Ir;c<00>&<00>|jd<01><02>S)za
Return the marker face color.
See also `~.Line2D.set_markerfacecolor`.
Frv<00>r<>r<>s r9r<>zLine2D.get_markerfacecolor<6F>s<00><00> <14>(<28>(<28>U<EFBFBD>(<28>3<>3r;c<00>&<00>|jd<01><02>S)zn
Return the alternate marker face color.
See also `~.Line2D.set_markerfacecoloralt`.
Trvr<>r<>s r9<00>get_markerfacecoloraltzLine2D.get_markerfacecoloralt<6C>s<00><00> <14>(<28>(<28>T<EFBFBD>(<28>2<>2r;c<00><00>|jS)z`
Return the marker size in points.
See also `~.Line2D.set_markersize`.
)r<>r<>s r9<00>get_markersizezLine2D.get_markersize<7A>r(r;c<00>J<00>|j|<01><01>|j|<01><01>fS)z}
Return the line data as an ``(xdata, ydata)`` pair.
If *orig* is *True*, return the original data.
)<01>orig)<02> get_xdata<74> get_ydata<74>r<>r<>s r9<00>get_datazLine2D.get_data<74>s%<00><00> <14>~<7E>~<7E>4<EFBFBD>~<7E>(<28>$<24>.<2E>.<2E>d<EFBFBD>.<2E>*C<>C<>Cr;c<00>n<00>|r |jS|jr|j<00>|jS)z|
Return the xdata.
If *orig* is *True*, return the original data, else the
processed data.
)r<>r<>rr<>r<>s r9r<>zLine2D.get_xdata<74><00>*<00><00> <10><17>;<3B>;<3B> <1E> <0F>><3E>><3E> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD><13>w<EFBFBD>w<EFBFBD>r;c<00>n<00>|r |jS|jr|j<00>|jS)z|
Return the ydata.
If *orig* is *True*, return the original data, else the
processed data.
)r<>rrr<>r<>s r9r<>zLine2D.get_ydata r<>r;c<00>j<00>|js |jr|j<00>|jS)z=Return the `~matplotlib.path.Path` associated with this line.)rr<>rrr<>s r9r<>zLine2D.get_paths"<00><00> <0F>><3E>><3E>T<EFBFBD>^<5E>^<5E> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD><13>z<EFBFBD>z<EFBFBD>r;c<00>j<00>|js |jr|j<00>|jS)z'Return the *xy* data as a (N, 2) array.)rr<>rrr<>s r9r>zLine2D.get_xydatas!<00><00> <0F>><3E>><3E>T<EFBFBD>^<5E>^<5E> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD><13>x<EFBFBD>x<EFBFBD>r;c<00>><00>|j|k7rd|_||_y)zs
Set whether to use antialiased rendering.
Parameters
----------
b : bool
TN)r<>r0)r<><00>bs r9r<>zLine2D.set_antialiased%s!<00><00> <10> <1C> <1C><01> !<21><1D>D<EFBFBD>J<EFBFBD><1D><04>r;c<00>L<00>tj|<01><01>||_d|_y)zt
Set the color of the line.
Parameters
----------
color : :mpltype:`color`
<20>r<>TN)r<><00>_check_color_liker<65>r0)r<>r<>s r9r<>zLine2D.set_color1s <00><00> <10>!<21>!<21><05>.<2E><1B><04> <0B><19><04>
r;c<00><><00>|<01>d}tj|j|<01><03>|j|k7rd|_d|_||_y)a#
Set the drawstyle of the plot.
The drawstyle determines how the points are connected.
Parameters
----------
drawstyle : {'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, default: 'default'
For 'default', the points are connected with straight lines.
The steps variants connect the points with step-like lines,
i.e. horizontal lines with vertical steps. They differ in the
location of the step:
- 'steps-pre': The step is at the beginning of the line segment,
i.e. the line will be at the y-value of point to the right.
- 'steps-mid': The step is halfway between the points.
- 'steps-post: The step is at the end of the line segment,
i.e. the line will be at the y-value of the point to the left.
- 'steps' is equal to 'steps-pre' and is maintained for
backward-compatibility.
For examples see :doc:`/gallery/lines_bars_and_markers/step_demo`.
Nr<4E>)r<>T)r<00> check_in_list<73>
drawStylesr<EFBFBD>r0r<>)r<>r<>s r9r<>zLine2D.set_drawstyle=sD<00><00>4 <15> <1C>!<21>I<EFBFBD> <0C><1A><1A>4<EFBFBD>?<3F>?<3F>i<EFBFBD>@<40> <0F>?<3F>?<3F>i<EFBFBD> '<27><1D>D<EFBFBD>J<EFBFBD>!<21>D<EFBFBD>N<EFBFBD>#<23><04>r;c<00>P<00>|<01>tj|<01><02>||_d|_y)a
Set a color to fill the gaps in the dashed line style.
.. note::
Striped lines are created by drawing two interleaved dashed lines.
There can be overlaps between those two, which may result in
artifacts when using transparency.
This functionality is experimental and may change.
Parameters
----------
gapcolor : :mpltype:`color` or None
The color with which to fill the gaps. If None, the gaps are
unfilled.
Nr<4E>T)r<>r<>r<>r0)r<>r<>s r9r<>zLine2D.set_gapcolor`s&<00><00>$ <14> <1F> <13> %<25> %<25>H<EFBFBD> 5<>!<21><04><0E><19><04>
r;c<00><><00>t|<01>}|j|k7rd|_||_tg|j<00>|<01><01><06>|_y)z<>
Set the line width in points.
Parameters
----------
w : float
Line width, in points.
TN)rXr<>r0rMr<>r<>)r<>r<>s r9r<>zLine2D.set_linewidthwsB<00><00> <12>!<21>H<EFBFBD><01> <0F>?<3F>?<3F>a<EFBFBD> <1F><1D>D<EFBFBD>J<EFBFBD><1B><04><0F>*<2A>K<>D<EFBFBD>,G<>,G<>K<><11>K<><04>r;c<00>H<00>t|t<00>rN|dvrd}tjg|j<00>t
<00>|<01><03>||jvr t
|}||_nd|_t|<01>|_tg|j<00>|j<00><01><06>|_ d|_ y)a<>
Set the linestyle of the line.
Parameters
----------
ls : {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
Possible values:
- A string:
========================================== =================
linestyle description
========================================== =================
``'-'`` or ``'solid'`` solid line
``'--'`` or ``'dashed'`` dashed line
``'-.'`` or ``'dashdot'`` dash-dotted line
``':'`` or ``'dotted'`` dotted line
``'none'``, ``'None'``, ``' '``, or ``''`` draw nothing
========================================== =================
- Alternatively a dash tuple of the following form can be
provided::
(offset, onoffseq)
where ``onoffseq`` is an even length tuple of on and off ink
in points. See also :meth:`set_dashes`.
For examples see :doc:`/gallery/lines_bars_and_markers/linestyles`.
)r<>r<>r<>r')r<>r<>TN) r-r.rr<>r<>rrr:r<>rMr<>r<>r0)r<>r<>s r9r<>zLine2D.set_linestyle<6C>s<><00><00>> <16>b<EFBFBD>#<23> <1E><11>&<26>&<26><1B><02> <10> <1E> <1E>@<40><14>!1<>!1<>@<40>K<EFBFBD>@<40>R<EFBFBD> H<><11><14>)<29>)<29>)<29> <20><12>_<EFBFBD><02> <20>D<EFBFBD>O<EFBFBD>"<22>D<EFBFBD>O<EFBFBD>&7<><02>&;<3B><04>#<23>*<2A>;<3B> <11> (<28> (<28>;<3B>*.<2E>/<2F>/<2F>;<3B><04><1A><19><04>
r;c<00>d<00>t||jj<00><00>|_d|_y)z<>
Set the line marker.
Parameters
----------
marker : marker style string, `~.path.Path` or `~.markers.MarkerStyle`
See `~matplotlib.markers` for full description of possible
arguments.
TN)rr<>r,r0)r<>r<>s r9r.zLine2D.set_marker<65>s&<00><00>#<23>6<EFBFBD>4<EFBFBD><<3C><<3C>+E<>+E<>+G<>H<><04> <0C><19><04>
r;c<00><><00>|<03>|rtjd|<01><00>nd}d|<01><00>}t||<04>}|<05>d|_n9||k7}t |t
j <00>r|j<00>r
n|rd|_t|||<03>y)Nr+rx<00>_T) r1r2<00>getattrr0r-rQ<00>ndarrayra<00>setattr)r<>r\<00> has_rcdefault<6C>val<61>attr<74>current<6E>neqs r9<00>_set_markercolorzLine2D._set_markercolor<6F>sv<00><00> <0E>;<3B>3@<40>#<23>,<2C>,<2C><16><04>v<EFBFBD><EFBFBD>/<2F>f<EFBFBD>C<EFBFBD><12>4<EFBFBD>&<26>z<EFBFBD><04><19>$<24><04>%<25><07> <12>?<3F><1D>D<EFBFBD>J<EFBFBD><19>S<EFBFBD>.<2E>C<EFBFBD>&<26>s<EFBFBD>B<EFBFBD>J<EFBFBD>J<EFBFBD>7<>s<EFBFBD>w<EFBFBD>w<EFBFBD>y<EFBFBD>S<EFBFBD>!<21><04>
<EFBFBD><0F><04>d<EFBFBD>C<EFBFBD> r;c<00>*<00>|jdd|<01>y)zq
Set the marker edge color.
Parameters
----------
ec : :mpltype:`color`
r<>TN<54>r<>)r<><00>ecs r9r<>zLine2D.set_markeredgecolor<6F><00><00><00> <0A><1D><1D>/<2F><14>r<EFBFBD>:r;c<00>*<00>|jdd|<01>y)zq
Set the marker face color.
Parameters
----------
fc : :mpltype:`color`
r<>TNr<4E><00>r<>r<>s r9r<>zLine2D.set_markerfacecolor<6F>r<>r;c<00>*<00>|jdd|<01>y)z{
Set the alternate marker face color.
Parameters
----------
fc : :mpltype:`color`
r<>FNr<4E>r<>s r9r<>zLine2D.set_markerfacecoloralt<6C>s<00><00> <0A><1D><1D>2<>E<EFBFBD>2<EFBFBD>>r;c<00>h<00>|<01>tjd}|j|k7rd|_||_y)z<>
Set the marker edge width in points.
Parameters
----------
ew : float
Marker edge width, in points.
Nzlines.markeredgewidthT)r1r2r<>r0)r<><00>ews r9r<>zLine2D.set_markeredgewidth<74>s5<00><00> <0E>:<3A><14><1C><1C>5<>6<>B<EFBFBD> <0F> <20> <20>B<EFBFBD> &<26><1D>D<EFBFBD>J<EFBFBD> "<22><04>r;c<00>T<00>t|<01>}|j|k7rd|_||_y)z<>
Set the marker size in points.
Parameters
----------
sz : float
Marker size, in points.
TN)rXr<>r0)r<><00>szs r9r<>zLine2D.set_markersize<7A>s*<00><00><13>2<EFBFBD>Y<EFBFBD><02> <0F> <1B> <1B>r<EFBFBD> !<21><1D>D<EFBFBD>J<EFBFBD><1D><04>r;c<00><><00>tj|<01>s td<01><00>tj|<01>|_d|_d|_y)z<>
Set the data array for x.
Parameters
----------
x : 1D array
See Also
--------
set_data
set_ydata
zx must be a sequenceTN)rQr~r<>rbr<>r<>r0)r<>r?s r9rHzLine2D.set_xdata
<00>8<00><00><12>{<7B>{<7B>1<EFBFBD>~<7E><1E>5<>6<> 6<><1A>i<EFBFBD>i<EFBFBD><01>l<EFBFBD><04> <0B><1D><04><0E><19><04>
r;c<00><><00>tj|<01>s td<01><00>tj|<01>|_d|_d|_y)z<>
Set the data array for y.
Parameters
----------
y : 1D array
See Also
--------
set_data
set_xdata
zy must be a sequenceTN)rQr~r<>rbr<>rr0)r<>rWs r9rIzLine2D.set_ydatarr;c<00>t<00>|dk(st|<01>dk(r|jd<03>y|jd|f<02>y)a]
Set the dash sequence.
The dash sequence is a sequence of floats of even length describing
the length of dashes and spaces in points.
For example, (5, 2, 1, 2) describes a sequence of 5 point and 1 point
dashes separated by 2 point spaces.
See also `~.Line2D.set_gapcolor`, which allows those spaces to be
filled with a color.
Parameters
----------
seq : sequence of floats (on/off ink in points) or (None, None)
If *seq* is empty or ``(None, None)``, the linestyle will be set
to solid.
)NNrr<>N)rPr<>)r<><00>seqs r9r<>zLine2D.set_dashes0s6<00><00>& <0F>,<2C> <1E>#<23>c<EFBFBD>(<28>a<EFBFBD>-<2D> <10> <1E> <1E>s<EFBFBD> #<23> <10> <1E> <1E><01>3<EFBFBD>x<EFBFBD> (r;c<00><><00><01>t<00>|<00>|<01>|j|_|j|_|j|_|j
|_|j |_|j|_|j|_|j|_ |j|_
|j|_ |j|_ |j|_ |j|_|j|_|j |_|j|_t#|j$<00><01>|_|j&|_y)z%Copy properties from *other* to self.)r<>N)r<><00> update_fromrr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rr<>r<>)r<><00>otherr s <20>r9rzLine2D.update_fromHs<00><><00> <0A><07><1B>E<EFBFBD>"<22><1F>*<2A>*<2A><04><0F><1F>*<2A>*<2A><04><0F><1B>l<EFBFBD>l<EFBFBD><04> <0B><1E><1F><1F><04><0E> <20>,<2C>,<2C><04><18> %<25> 6<> 6<><04><1D>#(<28>#<<3C>#<<3C><04> <20> %<25> 6<> 6<><04><1D> %<25> 6<> 6<><04><1D>&+<2B>&B<>&B<><04>#<23>"<22>0<>0<><04><1A>"<22>0<>0<><04><1A>#<23>2<>2<><04><1B>#<23>2<>2<><04><1B>$<24>4<>4<><04><1C><1F>*<2A>*<2A><04><0F>"<22>%<25>-<2D>-<2D>8<><04> <0C><1F>*<2A>*<2A><04>r;c<00>T<00>t|<01>}|j|k7rd|_||_y)z<>
How to join segments of the line if it `~Line2D.is_dashed`.
The default joinstyle is :rc:`lines.dash_joinstyle`.
Parameters
----------
s : `.JoinStyle` or %(JoinStyle)s
TN)rr<>r0<00>r<><00>s<>jss r9r<>zLine2D.set_dash_joinstyle_s*<00><00><17>q<EFBFBD>\<5C><02> <0F> <1E> <1E>"<22> $<24><1D>D<EFBFBD>J<EFBFBD> <20><04>r;c<00>T<00>t|<01>}|j|k7rd|_||_y)z<>
How to join segments if the line is solid (not `~Line2D.is_dashed`).
The default joinstyle is :rc:`lines.solid_joinstyle`.
Parameters
----------
s : `.JoinStyle` or %(JoinStyle)s
TN)rr<>r0r s r9r<>zLine2D.set_solid_joinstyleos*<00><00><17>q<EFBFBD>\<5C><02> <0F> <1F> <1F>2<EFBFBD> %<25><1D>D<EFBFBD>J<EFBFBD>!<21><04>r;c<00>.<00>|jjS)zl
Return the `.JoinStyle` for dashed lines.
See also `~.Line2D.set_dash_joinstyle`.
)r<>r\r<>s r9<00>get_dash_joinstylezLine2D.get_dash_joinstyle<00><00><00> <14>"<22>"<22>'<27>'<27>'r;c<00>.<00>|jjS)zl
Return the `.JoinStyle` for solid lines.
See also `~.Line2D.set_solid_joinstyle`.
)r<>r\r<>s r9<00>get_solid_joinstylezLine2D.get_solid_joinstyle<6C>s<00><00> <14>#<23>#<23>(<28>(<28>(r;c<00>T<00>t|<01>}|j|k7rd|_||_y)z<>
How to draw the end caps if the line is `~Line2D.is_dashed`.
The default capstyle is :rc:`lines.dash_capstyle`.
Parameters
----------
s : `.CapStyle` or %(CapStyle)s
TN)rr<>r0<00>r<>r
<00>css r9r<>zLine2D.set_dash_capstyle<6C>s*<00><00><16>a<EFBFBD>[<5B><02> <0F> <1D> <1D><12> #<23><1D>D<EFBFBD>J<EFBFBD><1F><04>r;c<00>T<00>t|<01>}|j|k7rd|_||_y)z<>
How to draw the end caps if the line is solid (not `~Line2D.is_dashed`)
The default capstyle is :rc:`lines.solid_capstyle`.
Parameters
----------
s : `.CapStyle` or %(CapStyle)s
TN)rr<>r0rs r9r<>zLine2D.set_solid_capstyle<6C>s*<00><00><16>a<EFBFBD>[<5B><02> <0F> <1E> <1E>"<22> $<24><1D>D<EFBFBD>J<EFBFBD> <20><04>r;c<00>.<00>|jjS)zj
Return the `.CapStyle` for dashed lines.
See also `~.Line2D.set_dash_capstyle`.
)r<>r\r<>s r9<00>get_dash_capstylezLine2D.get_dash_capstyle<6C>s<00><00> <14>!<21>!<21>&<26>&<26>&r;c<00>.<00>|jjS)zj
Return the `.CapStyle` for solid lines.
See also `~.Line2D.set_solid_capstyle`.
)r<>r\r<>s r9<00>get_solid_capstylezLine2D.get_solid_capstyle<6C>rr;c<00><00>|jdvS)z<>
Return whether line has a dashed linestyle.
A custom linestyle is assumed to be dashed, we do not inspect the
``onoffseq`` directly.
See also `~.Line2D.set_linestyle`.
)r<>r<>r<>r<>r<>s r9r<>zLine2D.is_dashed<65>s<00><00><14><EFBFBD><EFBFBD>"3<>3<>3r;<00>N)F)T)V<>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__<5F>
lineStylesr<EFBFBD><00> _drawStyles_l<5F> _drawStyles_sr<73><00> drawStyleKeysr<00>markers<72>filled_markers<72>
fillstyles<EFBFBD>
fillStyles<EFBFBD>zorderrZr<>r<>r%r'r*<00>propertyr<79>r,r2r<>r6r;r@rFrrMrrkrrnr r<>r<>r<>r<>r<>r<>r<>r/r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r>r<>r<>r<>r<>r<>r<>r
<00>interpdr.r<>r<>r<>r<>r<>r<>rHrIr<>rr<>r<>rrr<>r<>rrr<><00> __classcell__<5F>r s@r9r<>r<><00>s<><00><><00><08><1E><1E> <20><1E><1F><1F><1F> <06><06>J<EFBFBD><1B>$<24>'<27>'<27>(<28> <06>M<EFBFBD> <10>"<22><06>M<EFBFBD>
4<>M<EFBFBD>3<>]<5D>3<>J<EFBFBD>4<>m<EFBFBD>4<>m<EFBFBD>4<>M<EFBFBD><1A>!<21>!<21>G<EFBFBD> <20>/<2F>/<2F>N<EFBFBD><1C>'<27>'<27>J<EFBFBD> <0E>F<EFBFBD>#<23><1C> =<3D> <20><1F><1B><1E><1C> <20>!%<25>!%<25>!%<25>$*<2A><1F>!<21>#<23> $<24> $<24>!%<25><1D><1F><1F>'K$<24>ZD+<2B>L <20> &<26><1A>.<2E>.<2E>9<>J<EFBFBD>,<2C><1A>(9<1A>v<1F> <19><14> <14><1A>*"<22>+<1F>Z N<01>&<26> !<21> <19>O<1B><19>O<1B>b!<21><1B><1F><1E><1F><1F>)<29><17>$%<25><16>4<>3<> <20>D<01> <17> <17><1A> <18>
<1E>
<1A>!$<24>F<1A>. L<01>+<1A>Z<10><17><17> <1A><18> <1A> !<21>;<3B>;<3B>?<3F> #<23> <1E><1A>&<1A>&)<29>0+<2B>.<10><17><17> !<21><18> !<21><10><17><17> "<22><18> "<22>(<28>)<29><10><17><17>  <20><18>  <20><10><17><17> !<21><18> !<21>'<27>(<28> 4r;r<>c<00>V<00><00>eZdZdZ<03>fd<02>Zd<03>Z<05>fd<04>Zd<05>Zd<06>Zd<07>Z d<08>Z
d <09>Z d
<EFBFBD>Z <0C>xZ S) <0B>AxLinezo
A helper class that implements `~.Axes.axline`, by recomputing the artist
transform at draw time.
c <00><><00><01>t<00>|<00>ddgddgfi|<04><01>|<02>|<03>|<02> |<03> td<04><00>||_||_||_y)a<>
Parameters
----------
xy1 : (float, float)
The first set of (x, y) coordinates for the line to pass through.
xy2 : (float, float) or None
The second set of (x, y) coordinates for the line to pass through.
Both *xy2* and *slope* must be passed, but one of them must be None.
slope : float or None
The slope of the line. Both *xy2* and *slope* must be passed, but one of
them must be None.
rrNz.Exactly one of 'xy2' and 'slope' must be given)r<>r<><00> TypeError<6F>_slope<70>_xy1<79>_xy2)r<><00>xy1<79>xy2<79>sloperr s <20>r9r<>zAxLine.__init__<5F>s]<00><><00> <0E><07><18>!<21>Q<EFBFBD><16>!<21>Q<EFBFBD><16>2<>6<EFBFBD>2<> <0F>K<EFBFBD>E<EFBFBD>M<EFBFBD><13><0F>E<EFBFBD>$5<><1B>@<40>B<01> B<01><1C><04> <0B><17><04> <09><17><04> r;c<00>H<00>|j}|j|jz
|jz}|j<00>q|j |j |jg<02>\\}}\}}||z
}||z
}|dk(r,|dk(rtd||f<02>d||f<02>d<04><05><00>tj} n0||z } n*|j |j <00>\}}|j} |jj |j<00>\\}
} \} } | dk(r |
|f}| |f}n^tj| <09>r || f}|| f}n@t|
||
|z
| zzf| || |z
| zzf|| |z
| z z| f|| |z
| z z| fg<04>\}}}}tt||g<02><00>|j z|j"zS)Nrz3Cannot draw a line through two identical points (x=z, y=r<>)rY<00>
_transformr_<00>
transScaler3rsr2r3rQ<00>infr1<00>viewLim<69>isinf<6E>sortedrr<00> transLimitsrx)r<>r<><00>points_transformr<6D>r<><00>x2<78>y2r\r]r6<00>vxlo<6C>vylo<6C>vxhi<68>vyhir<69><00>stopr<70>s r9rBzAxLine.get_transform<72>s<><00><00> <11>Y<EFBFBD>Y<EFBFBD><02><1F>?<3F>?<3F>R<EFBFBD>\<5C>\<5C>9<>B<EFBFBD>M<EFBFBD>M<EFBFBD>I<><18> <0F>9<EFBFBD>9<EFBFBD> <20>!<21>*<2A>*<2A>D<EFBFBD>I<EFBFBD>I<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD>+A<>B<> <1F>H<EFBFBD>R<EFBFBD><12>h<EFBFBD>r<EFBFBD>2<EFBFBD><13>b<EFBFBD><17>B<EFBFBD><13>b<EFBFBD><17>B<EFBFBD><11>Q<EFBFBD>w<EFBFBD><15><11>7<EFBFBD>$<24><1E>!<21>2<EFBFBD>h<EFBFBD>Z<EFBFBD>t<EFBFBD>R<EFBFBD><12>H<EFBFBD>:<3A>Q<EFBFBD>8<>9<>9<><1B><06><06><05><1A>R<EFBFBD><07><05>&<26>/<2F>/<2F><04> <09> <09>:<3A>F<EFBFBD>B<EFBFBD><02><18>K<EFBFBD>K<EFBFBD>E<EFBFBD>%'<27>]<5D>]<5D>%<<3C>%<<3C>R<EFBFBD>Z<EFBFBD>Z<EFBFBD>%H<>"<22> <0C><14>t<EFBFBD>l<EFBFBD>t<EFBFBD>T<EFBFBD> <11>A<EFBFBD>:<3A><18>"<22>H<EFBFBD>E<EFBFBD><17><12>8<EFBFBD>D<EFBFBD> <0F>X<EFBFBD>X<EFBFBD>e<EFBFBD>_<EFBFBD><16><04>H<EFBFBD>E<EFBFBD><15>t<EFBFBD>8<EFBFBD>D<EFBFBD> &<26><15>r<EFBFBD>T<EFBFBD>B<EFBFBD>Y<EFBFBD>%<25>/<2F>/<2F>0<><15>r<EFBFBD>T<EFBFBD>B<EFBFBD>Y<EFBFBD>%<25>/<2F>/<2F>0<><13>t<EFBFBD>b<EFBFBD>y<EFBFBD>E<EFBFBD>)<29>)<29>4<EFBFBD>0<><13>t<EFBFBD>b<EFBFBD>y<EFBFBD>E<EFBFBD>)<29>)<29>4<EFBFBD>0<> (<0E>!<0F> <1D>A<EFBFBD>u<EFBFBD>d<EFBFBD>A<EFBFBD>  <20><04>e<EFBFBD>T<EFBFBD>]<5D> 3<>4<><14>.<2E>.<2E>!<21>#%<25><<3C><<3C>0<> 1r;c<00>2<00><01>d|_t<00>|<00> |<01>yr)rr<>r<>)r<>rDr s <20>r9r<>z AxLine.draws<00><><00>!%<25><04><1E> <0A><07> <0C>X<EFBFBD>r;c<00><00>|jS)z#Return the *xy1* value of the line.)r2r<>s r9<00>get_xy1zAxLine.get_xy1<00> <00><00><13>y<EFBFBD>y<EFBFBD>r;c<00><00>|jS)z#Return the *xy2* value of the line.)r3r<>s r9<00>get_xy2zAxLine.get_xy2rJr;c<00><00>|jS)z%Return the *slope* value of the line.)r1r<>s r9<00> get_slopezAxLine.get_slopes <00><00><13>{<7B>{<7B>r;c<00><><00>tjd<01>d<02>g|g|<01><01>i|<02><01>}d|vr)tjdd<05><06>|d|df}||_y |d}||_y )
z<EFBFBD>
Set the *xy1* value of the line.
Parameters
----------
xy1 : tuple[float, float]
Points for the line to pass through.
c<00><00>t<00>Sr<00><01>locals<6C>r<>r?rWs r9<00><lambda>z AxLine.set_xy1.<locals>.<lambda>,s<00><00>v<EFBFBD>x<EFBFBD>r;c<00><00>t<00>SrrQ)r<>r4s r9rTz AxLine.set_xy1.<locals>.<lambda>,s<00><00>6<EFBFBD>8<EFBFBD>r;r?<00>3.10zpPassing x and y separately to AxLine.set_xy1 is deprecated since %(since)s; pass them as a single tuple instead.<2E><01>messagerWr4N)r<00>select_matching_signature<72>warn_deprecatedr2)r<>rJr<00>paramsr4s r9<00>set_xy1zAxLine.set_xy1"s<><00><00><16>/<2F>/<2F> '<27>)C<>1
<EFBFBD> <0F>"<22><16>"<22> <20>"<22><06> <0F>&<26>=<3D> <10> <20> <20><16>B<01> D<01><19><13>+<2B>v<EFBFBD>c<EFBFBD>{<7B>*<2A>C<EFBFBD><18><04> <09><19><15>-<2D>C<EFBFBD><17><04> r;c<00><><00>|j<00>Xtjd<02>d<03>g|g|<01><01>i|<02><01>}d|vr)tjdd<06><07>|d|df}||_y|d }||_yt d
<EFBFBD><00>) av
Set the *xy2* value of the line.
.. note::
You can only set *xy2* if the line was created using the *xy2*
parameter. If the line was created using *slope*, please use
`~.AxLine.set_slope`.
Parameters
----------
xy2 : tuple[float, float]
Points for the line to pass through.
Nc<00><00>t<00>SrrQrSs r9rTz AxLine.set_xy2.<locals>.<lambda>Hs<00><00>6<EFBFBD>8<EFBFBD>r;c<00><00>t<00>SrrQ)r<>r5s r9rTz AxLine.set_xy2.<locals>.<lambda>Hs<00><00>v<EFBFBD>x<EFBFBD>r;r?rVzpPassing x and y separately to AxLine.set_xy2 is deprecated since %(since)s; pass them as a single tuple instead.rWrWr5z]Cannot set an 'xy2' value while 'slope' is set; they differ but their functionalities overlap)r1rrYrZr3r3)r<>rJrr[r5s r9<00>set_xy2zAxLine.set_xy27s<><00><00> <10>;<3B>;<3B> <1E><19>3<>3<>+<2B>-G<>5<0E><13>&<26><1A>&<26>$<24>&<26>F<EFBFBD><13>f<EFBFBD>}<7D><14>$<24>$<24>V<EFBFBD>F<01>H<01><1D>S<EFBFBD>k<EFBFBD>6<EFBFBD>#<23>;<3B>.<2E><03><1C>D<EFBFBD>I<EFBFBD><1D>U<EFBFBD>m<EFBFBD><03><1B>D<EFBFBD>I<EFBFBD><1C>N<01>O<01> Or;c<00>@<00>|j<00>||_ytd<02><00>)a^
Set the *slope* value of the line.
.. note::
You can only set *slope* if the line was created using the *slope*
parameter. If the line was created using *xy2*, please use
`~.AxLine.set_xy2`.
Parameters
----------
slope : float
The slope of the line.
Nz\Cannot set a 'slope' value while 'xy2' is set; they differ but their functionalities overlap)r3r1r3)r<>r6s r9<00> set_slopezAxLine.set_slopeVs*<00><00> <10>9<EFBFBD>9<EFBFBD> <1C><1F>D<EFBFBD>K<EFBFBD><1C>N<01>O<01> Or;)rrrrr<>rBr<>rIrLrNr\r`rbr+r,s@r9r.r.<00>s8<00><><00><08>
<18>0'1<>R<1F><19><19><1B><18>*O<01>>Or;r.c<00>4<00>eZdZdZd<02>Zed<03><00>Zd<04>Zd<05>Zy)<07>VertexSelectora<72>
Manage the callbacks to maintain a list of selected vertices for `.Line2D`.
Derived classes should override the `process_selected` method to do
something with the picks.
Here is an example which highlights the selected verts with red circles::
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.lines as lines
class HighlightSelected(lines.VertexSelector):
def __init__(self, line, fmt='ro', **kwargs):
super().__init__(line)
self.markers, = self.axes.plot([], [], fmt, **kwargs)
def process_selected(self, ind, xs, ys):
self.markers.set_data(xs, ys)
self.canvas.draw()
fig, ax = plt.subplots()
x, y = np.random.rand(2, 30)
line, = ax.plot(x, y, 'bs-', picker=5)
selector = HighlightSelected(line)
plt.show()
c<00> <00>|j<00> td<02><00>|j<00><00> td<03><00>|j|_||_|jj
j d|j<00>|_t<00>|_
y)z<>
Parameters
----------
line : `~matplotlib.lines.Line2D`
The line must already have been added to an `~.axes.Axes` and must
have its picker property set.
Nz'You must first add the line to the Axesz2You must first set the picker property of the line<6E>
pick_event) rYr<><00>
get_picker<EFBFBD>line<6E>canvas<61> callbacks<6B>_connect_picklable<6C>onpick<63>cid<69>setr)r<>rhs r9r<>zVertexSelector.__init__<5F>sy<00><00> <10>9<EFBFBD>9<EFBFBD> <1C><1E>H<>I<> I<> <0F>?<3F>?<3F> <1C> $<24><1E> -<2D>.<2E> .<2E><18>I<EFBFBD>I<EFBFBD><04> <09><18><04> <09><17>;<3B>;<3B>(<28>(<28>;<3B>;<3B> <18>$<24>+<2B>+<2B>'<27><04><08><16>5<EFBFBD><04>r;c<00>N<00>|jjd<01><02>jS)NTr )rYrrir<>s r9rTzVertexSelector.<lambda><3E>s<00><00>4<EFBFBD>9<EFBFBD>9<EFBFBD>#7<>#7<>T<EFBFBD>#7<>#B<>#I<>#I<>r;c<00><00>y)a
Default "do nothing" implementation of the `process_selected` method.
Parameters
----------
ind : list of int
The indices of the selected vertices.
xs, ys : array-like
The coordinates of the selected vertices.
NrE)r<>r<00>xs<78>yss r9<00>process_selectedzVertexSelector.process_selected<65>s<00><00> r;c<00><00>|j|jury|xjt|j<00>zc_t |j<00>}|jj <00>\}}|j |||||<00>y)z<When the line is picked, update the set of selected indices.N)<07>artistrhrrnr=r<>rs)r<><00>eventrrrs r9rlzVertexSelector.onpick<63>si<00><00> <10><<3C><<3C>t<EFBFBD>y<EFBFBD>y<EFBFBD> (<28> <12> <0C><08><08>C<EFBFBD><05> <09> <09>N<EFBFBD>"<22><08><14>T<EFBFBD>X<EFBFBD>X<EFBFBD><1E><03><1B>y<EFBFBD>y<EFBFBD>)<29>)<29>+<2B> <0C><05>u<EFBFBD> <0C><1D><1D>c<EFBFBD>5<EFBFBD><13>:<3A>u<EFBFBD>S<EFBFBD>z<EFBFBD>:r;N) rrrrr<>r)rirsrlrEr;r9rdrdls#<00><00><08>8<19>&<16>I<> J<>F<EFBFBD>  <0A>;r;rd)Drrb<00>numbersrrr<00>logging<6E>numpyrQ<00>
matplotlibr1r<>rrr r<>r
rur r r rrrr$rrr<00>
transformsrrr<00>_enumsrrrrrrrrrrr r!r"r#r$<00> getLoggerrrr:rBrHrMrgr<>r*<00>define_aliasesr<73>r.rdr<>r <00> lineMarkersr<73>r&r'rEr;r9<00><module>r<>sN<00><01><04> <0C>*<2A>*<2A><0E><12><18>8<>8<>/<2F>G<01>G<01> <20><16>><3E>><3E>'<27><14>+<2B>+<2B>+<2B>+<2B>
<19>w<EFBFBD><18><18><18>"<22><04><1A>< <14> <1D>(<28>"+<2B>J\O<01>~ <0C><13><13><14><14><14><14><18>6<EFBFBD><11>U<EFBFBD><16><16><16><16><16><16><1D>w<EFBFBD><1D>w<EFBFBD><1D>w<EFBFBD>#<23>*<2A><17>&<26> <02> <03>U4<>V<EFBFBD>U4<> <03><14>U4<>p&^O<01>V<EFBFBD>^O<01>BF;<3B>F;<3B>R<14> <1F> <1F>
<EFBFBD><19>!<21>!<21> <0B> <13> <1E> <1E>
<EFBFBD> <18> #<23> #<23>
r;