Ë
    £�DjØG  ã                   ó.   — d dl ZddlmZ 	 	 	 	 	 	 	 dd„Zy)é    Né   )Úutilsc                 ó¤  — ddl m} t        j                  |«      \  }}t	        j
                  | «      } d„ } ||«      } ||«      } ||«      } ||«      }t        | «      }|€t	        j                  |«      }|€t	        j                  |«      }|€t	        j                  |«      }d}t        t        |«      «      }|�t        t        |«      «      }|du rd}d}n|du rd}|}n|dkD  }|dkD  r|nd}||z  }|j                  d«       |j                  d«       |€%t        t        |«      «      }|j                  «        n|}|	€%t        t        |«      «      }|j                  «        n|	}i }t        |«      D ]=  }|�||   |vrŒ|	�||   |	vrŒ||   ||   f} | |vrg || <   ||    j                  |«       Œ? |j!                  «       j#                  |j$                  j'                  «       «      }!|!j(                  |!j*                  }#}"t        |«      }$d	\  }%}&|r'|j-                  |j.                  |j0                  «      }'n&|j-                  |j0                  |j.                  «      }'||#z  }(|r|&|%z
  ||(z  z
  t3        |$«      z  })n|&|%z
  t3        |$«      z  })|�|}*n$t        t        |«      «      }*|*j                  «        |r|*ddd
…   }*t        |*«      }+|+dkD  r|)dt3        |+«      dz
  z  z  },nd},|*D �-ci c]  }-|-|*j5                  |-«      “Œ }.}-g d¢}/|€|*D �-ci c]  }-|-i “Œ }}-t        |+«      D ]K  }0|*|0   }1d||1   vr|/|0t        |/«      z     ||1   d<   d||1   vrd||1   d<   d||1   vsŒ=|,dk(  rdnd||1   d<   ŒM |€|*D �-ci c]  }-|-i “Œ }}-t        |+«      D ]-  }0|*|0   }1d||1   vrd||1   d<   d||1   vsŒ|,dkD  rdnd||1   d<   Œ/ |r|dk(  r|&|)dz  z
  n|&}2n|%|)dz  z   }2t        «       }3g }4|D �]7  }5|�r"|r�|5|d   k(  r|2|)dz  z   n|2}6|j7                  d	|6|6f|2d|(z  z
  |2d|(z  z
  fd|j0                  d¬«       |j9                  d|2d|(z  z
  |5dd|j0                  ¬«      }7|7j;                  d«       |2|(z  }2nŸt        |D �8cg c]  }8|8d   |5k(  sŒ|8‘Œ c}8«      }9|j7                  |2|)dz  z
  dz   |2|9dz
  |)z  z   |)dz  z   dz
  fd d!d|j0                  dd¬"«       |j9                  |2|9dz
  |)z  dz  z   d#|5dd$|j0                  ¬«      }7|7j;                  d«       d}:|D �]  };|5|;f|vrŒ|r|j=                  |2d¬%«       n|j?                  |2d¬%«       |�/|;jA                  |«      }<t        |<«      dk\  r|<d   |<d   }>}=n	|;d}>}=n|;d}>}=|� ||=«      }=|� ||>«      }>|rw|:dz  dk(  ro|r>|j7                  d	|2|)dz  z
  |2|)dz  z
  f|2|)dz  z   |2|)dz  z   fd&|j0                  d¬«       n/|j7                  |2|)dz  z
  |2|)dz  z   fd'd(d&|j0                  d¬«       |:dz  }:|jC                  «       d)v rM|r&|j9                  d*|"z  |2|=d+d|j0                  d,¬-«       n%|j9                  |2d*|#z  |=dd.|j0                  d,¬-«       |jC                  «       d/v rU|>�S|r)|j9                  dd0|"z  z   |2|>d1d|j0                  d,¬-«       n(|j9                  |2dd0|#z  z   |>dd$|j0                  d,¬-«       |4j                  |2«       tE        ||5|;f   «      D �]  \  }?}@d}A|
r|) d2z  |.|@      |,z  z   }A| @   }B|��t	        jF                  |@   «      rB|@   z
  |B||@   z   }D}CnB|@   d   z
  |B||@   d   z   }D}C|r( |jH                  CDg|2Az   |2|Az   gd3fd4|'i||@      ¤Ž n' |jH                  |2Az   |2|Az   gCDgd3fd4|'i||@      ¤Ž |@   }E|E|3vrEnd}F|3jK                  E«       |r! |jH                  Bg|2Az   gfd5|'Fd6œ|E   ¤Ž Œõ |jH                  |2Az   gBgfd5|'Fd6œ|E   ¤Ž �Œ |r|2|)z  }2�Œ|2|)z  }2�Œ
 �Œ: |�r|jL                  jO                  d$«       |jP                  jO                  d7«       |jS                  g «       |jT                  d1   jW                  d7«       |jT                  d+   jW                  d7«       |jT                  d.   jW                  d7«       |jT                  d$   jY                  d8d*|#z  f«       |j[                  dd«       |jP                  j]                  |4«       |j_                  dd¬9«       |S |jP                  jO                  d1«       |jL                  jO                  d7«       |ja                  g «       |jT                  d$   jW                  d7«       |jT                  d+   jW                  d7«       |jT                  d.   jW                  d7«       |jT                  d1   jY                  d8d*|"z  f«       |jc                  dd«       |jL                  j]                  |4«       |j_                  dd¬:«       |S c c}-w c c}-w c c}-w c c}8w );a-  
    Dot plotting (also known as forest and blobbogram).

    Produce a dotplot similar in style to those in Cleveland's
    "Visualizing Data" book ([1]_).  These are also known as "forest plots".

    Parameters
    ----------
    points : array_like
        The quantitative values to be plotted as markers.
    intervals : array_like
        The intervals to be plotted around the points.  The elements
        of `intervals` are either scalars or sequences of length 2.  A
        scalar indicates the half width of a symmetric interval.  A
        sequence of length 2 contains the left and right half-widths
        (respectively) of a nonsymmetric interval.  If None, no
        intervals are drawn.
    lines : array_like
        A grouping variable indicating which points/intervals are
        drawn on a common line.  If None, each point/interval appears
        on its own line.
    sections : array_like
        A grouping variable indicating which lines are grouped into
        sections.  If None, everything is drawn in a single section.
    styles : array_like
        A grouping label defining the plotting style of the markers
        and intervals.
    marker_props : dict
        A dictionary mapping style codes (the values in `styles`) to
        dictionaries defining key/value pairs to be passed as keyword
        arguments to `plot` when plotting markers.  Useful keyword
        arguments are "color", "marker", and "ms" (marker size).
    line_props : dict
        A dictionary mapping style codes (the values in `styles`) to
        dictionaries defining key/value pairs to be passed as keyword
        arguments to `plot` when plotting interval lines.  Useful
        keyword arguments are "color", "linestyle", "solid_capstyle",
        and "linewidth".
    split_names : str
        If not None, this is used to split the values of `lines` into
        substrings that are drawn in the left and right margins,
        respectively.  If None, the values of `lines` are drawn in the
        left margin.
    section_order : array_like
        The section labels in the order in which they appear in the
        dotplot.
    line_order : array_like
        The line labels in the order in which they appear in the
        dotplot.
    stacked : bool
        If True, when multiple points or intervals are drawn on the
        same line, they are offset from each other.
    styles_order : array_like
        If stacked=True, this is the order in which the point styles
        on a given line are drawn from top to bottom (if horizontal
        is True) or from left to right (if horizontal is False).  If
        None (default), the order is lexical.
    striped : bool
        If True, every other line is enclosed in a shaded box.
    horizontal : bool
        If True (default), the lines are drawn horizontally, otherwise
        they are drawn vertically.
    show_names : str
        Determines whether labels (names) are shown in the left and/or
        right margins (top/bottom margins if `horizontal` is True).
        If `both`, labels are drawn in both margins, if 'left', labels
        are drawn in the left or top margin.  If `right`, labels are
        drawn in the right or bottom margin.
    fmt_left_name : callable
        The left/top margin names are passed through this function
        before drawing on the plot.
    fmt_right_name : callable
        The right/bottom marginnames are passed through this function
        before drawing on the plot.
    show_section_titles : bool or None
        If None, section titles are drawn only if there is more than
        one section.  If False/True, section titles are never/always
        drawn, respectively.
    ax : matplotlib.axes
        The axes on which the dotplot is drawn.  If None, a new axes
        is created.

    Returns
    -------
    fig : Figure
        The figure given by `ax.figure` or a new instance.

    Notes
    -----
    `points`, `intervals`, `lines`, `sections`, `styles` must all have
    the same length whenever present.

    References
    ----------
    .. [1] Cleveland, William S. (1993). "Visualizing Data". Hobart Press.
    .. [2] Jacoby, William G. (2006) "The Dot Plot: A Graphical Display
       for Labeled Quantitative Values." The Political Methodologist
       14(1): 6-14.

    Examples
    --------
    This is a simple dotplot with one point per line:

    >>> dot_plot(points=point_values)

    This dotplot has labels on the lines (if elements in
    `label_values` are repeated, the corresponding points appear on
    the same line):

    >>> dot_plot(points=point_values, lines=label_values)
    r   Nc                 ó4   — | €d S t        j                  | «      S )N)ÚnpÚasarray)Úxs    úaC:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\statsmodels/graphics/dotplots.pyú<lambda>zdot_plot.<locals>.<lambda>ƒ   s   € ¨¨ € ¼¿
¹
À1»€ ó    g      à?FTr   g{®Gáz”?)r   r   éÿÿÿÿg      @g        )ÚrÚgÚbÚyÚkÚpurpleÚorangeÚcolorÚmarkerÚoÚmsé
   é   ÚgreyÚ	linewidthé   é   gffffffæ?Údarkgrey)r   Ú	transformÚzordergffffffÖ?Úcenter)ÚhorizontalalignmentÚverticalalignmentr    Úboldg{®Gáz„?)ç)\�Âõ(ð?r&   )çö(\�Âõð?r'   )r   r    r!   Úclip_ongR¸…ëQð?Úbottom)r   Ú	lightgrey)r   r   )r   r   )ÚleftÚbothgš™™™™™¹¿ÚrightÚ	monospace)r#   r$   r    ÚfamilyÚtop)r-   r,   gš™™™™™¹?r+   é   ú-r    ÚNone)Úlsr    ÚlabelÚnoneÚaxes)ÚscaleyÚtight)Úscalexr9   )2Úmatplotlib.transformsÚ
transformsr   Úcreate_mpl_axr   r   ÚlenÚarangeÚzerosÚsetÚset_xmarginÚset_ymarginÚlistÚsortÚrangeÚappendÚget_window_extentÚtransformedÚdpi_scale_transÚinvertedÚwidthÚheightÚblended_transform_factoryÚ	transDataÚ	transAxesÚfloatÚindexÚfill_betweenÚtextÚset_fontweightÚaxhlineÚaxvlineÚsplitÚlowerÚ	enumerateÚisscalarÚplotÚaddÚxaxisÚset_ticks_positionÚyaxisÚset_yticklabelsÚspinesÚ	set_colorÚset_positionÚset_ylimÚ	set_ticksÚautoscale_viewÚset_xticklabelsÚset_xlim)GÚpointsÚ	intervalsÚlinesÚsectionsÚstylesÚmarker_propsÚ
line_propsÚsplit_namesÚsection_orderÚ
line_orderÚstackedÚstyles_orderÚstripedÚ
horizontalÚ
show_namesÚfmt_left_nameÚfmt_right_nameÚshow_section_titlesÚaxr<   ÚfigÚasarray_or_noneÚnpointÚsection_title_spaceÚnsectÚdraw_section_titlesÚnsect_titleÚsection_space_totalÚlines0Úlines1Ú	lines_mapÚiÚkyÚbboxÚawidthÚaheightÚnrowsr)   r0   ÚtransÚtitle_space_axesÚdposÚstyle_codesÚnvalÚstackdr	   Ústyle_codes_mapÚcolorsÚjÚscÚposÚlabeledÚticksÚk0Úy0Útxtr   ÚmÚjrowÚk1ÚusÚ
left_labelÚright_labelÚjiÚjpÚyoÚptÚlcbÚucbÚslÚsllsG                                                                          r
   Údot_plotr¬      s3  € õn /ä×!Ñ! "Ó%�G€Cˆô �Z‰Z˜Ó€FÙE€OÙ 	Ó*€IÙ˜EÓ"€EÙ˜xÓ(€HÙ˜VÓ$€Fô �‹[€Fð €}Ü—	‘	˜&Ó!ˆð ÐÜ—8‘8˜FÓ#ˆð €~Ü—‘˜&Ó!ˆð Ðô ”�H“Ó€EØÐ Ü”C˜Ó&Ó'ˆð ˜eÑ#Ø#ÐØ‰Ø	 Ñ	$Ø"ÐØ‰à# a™iÐØ$ qšy‘e¨aˆð .°Ñ;Ðð ‡N�N�4ÔØ‡N�N�4ÔàÐÜ”c˜(“mÓ$ˆØ�‰�àˆàÐÜ”c˜%“jÓ!ˆØ�‰�àˆð €IÜ�6‹]ò  ˆØÐ$¨°!©¸MÑ)IØØÐ! e¨A¡h°jÑ&@ØØ�q‰k˜5 ™8Ð$ˆØ�YÑØˆI�b‰MØ�"‰×Ñ˜QÕð ð ×ÑÓ!×-Ñ-Ø×Ñ×$Ñ$Ó&ó(€Dà—j‘j $§+¡+ˆG€Fô �	‹N€Eð
 �K€FˆCáà×4Ñ4°R·\±\Ø57·\±\óC‰ð ×4Ñ4°R·\±\Ø57·\±\óCˆð +¨WÑ4Ðñ Ø�f‘˜{Ð+;Ñ;Ñ;Ü�%‹Lñ‰ð �f‘¤ e£Ñ,ˆð ÐØ"‰äœ3˜v›;Ó'ˆØ×ÑÔñ Ø!¡$ B $Ñ'ˆäˆ{Ó€DØˆa‚xØ˜œe D›k¨!™mÑ,Ñ-‰àˆð 9DÖD°1�q˜+×+Ñ+¨AÓ.Ñ.ÐD€OÐDò ;€FØÐØ'2Ö3 !˜˜2™Ð3ˆÐ3Ü�4‹[ò >ˆØ˜‰^ˆØ˜, rÑ*Ñ*Ø(.¨q´3°v³;©Ñ(?ˆL˜Ñ˜WÑ%Ø˜<¨Ñ+Ñ+Ø),ˆL˜Ñ˜XÑ&Ø�| BÑ'Ò'Ø+1°Qª;¡R¸AˆL˜Ñ˜TÒ"ð>ð ÐØ%0Ö1 �a˜‘eÐ1ˆ
Ð1Ü�4‹[ò AˆØ˜‰^ˆØ˜* R™.Ñ(Ø&,ˆJ�r‰N˜7Ñ#Ø˜j¨™nÒ,Ø/5¸ªz©!¸qˆJ�r‰N˜;Ò'ðAñ à# qšjˆc�D˜‘FŠl¨c‰ð �t˜A‘v‰oˆô ‹e€Gð €Eð ó kˆò áà%'¨6°!©9¢_�S˜4 ™6’\¸#�à—‘ ¨¨B¨Ø!$ SÐ)9Ñ%9Ñ!9Ø!$ SÐ)9Ñ%9Ñ!9ð!;à&0Ø*,¯,©,Ø'(ð  ô *ð —g‘g˜c 3¨Ð.>Ñ)>Ñ#>ÀØ2:Ø08Ø(*¯©ð ó 6�ð ×"Ñ" 6Ô*ØÐ'Ñ'‘ô  IÖ<˜q°°1±¸³šÒ<Ó=�à—‘  T¨!¡V¡¨D¡Ø!$ a¨¡c¨4¡Z¡°°Q±Ñ!6°tÑ!;ð!=à +¨[Ø&0Ø*,¯,©,Ø'(°%ð  ô 9ð —g‘g˜c Q q¡S¨$¡J¨q¡LÑ0°$¸Ø2:Ø08Ø(*¯©ð ó 6�ð ×"Ñ" 6Ô*àˆØó B	ˆBð �Bˆx˜yÑ(Øñ Ø—
‘
˜3 f�
Õ-à—
‘
˜3 f�
Ô-ð Ð&Ø—X‘X˜kÓ*�Ü�r“7˜a’<Ø.0°©e°R¸±U ‘Jà.0°$ ‘Jà*,¨d˜K�
àÐ(Ù*¨:Ó6�
àÐ)Ù,¨[Ó9�ñ ˜4 !™8 qš=ÙØ—O‘O F¨S°°a±©Z¸¸TÀ!¹V¹Ð,DØ%(¨¨a©¡Z°°T¸!±V±Ð$<Ø*5Ø.0¯l©lØ+,ð	 $õ .ð —O‘O S¨¨a©¡Z°°T¸!±V±Ð$<Ø$*¨FØ*5Ø.0¯l©lØ+,ð	 $ô .ð �A‰IˆDð ×ÑÓ!Ð%5Ñ5ÙØ—G‘G˜D ™K¨¨jØ07Ø.6Ø&(§l¡lØ#.ð	 õ 0ð —G‘G˜C  g¡¨zØ08Ø.3Ø&(§l¡lØ#.ð	 ô 0ð ×ÑÓ!Ð%6Ñ6ØÐ*Ù!ØŸ™  C¨¡J¡°°[Ø4:Ø2:Ø*,¯,©,Ø'2ð	  õ 4ð Ÿ™  Q¨¨W©¡_°kØ4<Ø2:Ø*,¯,©,Ø'2ð	  ô 4ð �L‰L˜Ôô # 9¨b°¨WÑ#5Ó6ó ,0‘��2ð �ÙØ˜˜q™ ?°6¸"±:Ñ#>¸vÑ#EÑE�Bà˜B‘Z�ð Ð(ô —{‘{ 9¨R¡=Ô1Ø#%¨	°"©Ñ#5Ø ¨2¡Ñ.ð !™ð
 $&¨	°"©°aÑ(8Ñ#8Ø ¨2¡¨qÑ!1Ñ1ð !˜ñ "Ø˜Ÿ™  c 
¨S°©V°S¸±VÐ,<¸cñ :Ø*/ð:à",¨V°B©ZÑ"8ó:ð  ˜Ÿ™  R¡¨¨R©Ð 0°3¸°*¸cñ :Ø*/ð:à",¨V°B©ZÑ"8ò:ð ˜B‘Z�Ø gÑ-‘b°4�Ø—‘˜B”ÙØ�B—G‘G˜R˜E C¨¡F 9ð 0°Ø&+°3ñ0à*¨2Ñ.ó0ð �B—G‘G˜S ™V˜I¨ uð 0°Ø&+°3ñ0à*¨2Ñ.ô0ðU,0ñ\ Ø�t‘’à�t‘’òEB	ðSkò\ Ø
�‰×#Ñ# HÔ-Ø
�‰×#Ñ# FÔ+Ø
×Ñ˜2ÔØ
�	‰	�&Ñ×#Ñ# FÔ+Ø
�	‰	�'Ñ×$Ñ$ VÔ,Ø
�	‰	�%Ñ×"Ñ" 6Ô*Ø
�	‰	�(Ñ×(Ñ(¨&°$°w±,Ð)?Ô@Ø
�‰�A�qÔØ
�‰×Ñ˜5Ô!Ø
×Ñ ¨dÐÔ3ð €Jð 	�‰×#Ñ# FÔ+Ø
�‰×#Ñ# FÔ+Ø
×Ñ˜2ÔØ
�	‰	�(Ñ×%Ñ% fÔ-Ø
�	‰	�'Ñ×$Ñ$ VÔ,Ø
�	‰	�%Ñ×"Ñ" 6Ô*Ø
�	‰	�&Ñ×&Ñ&¨°°V±Ð'<Ô=Ø
�‰�A�qÔØ
�‰×Ñ˜5Ô!Ø
×Ñ ¨dÐÔ3à€JùòY Eùò
 4ùò 2ùò^ =s   Ë5h>Ì
iÎ
iÒi
Òi
)NNNNNNNNNFNFTr,   NNNN)Únumpyr   Ú r   r¬   © r   r
   ú<module>r°      s(   ðÛ å ð ;?Ø8<Ø>BØ7<Ø)/Ø04Ø*.ôcr   