U
    Be                     @   sB   d Z dddZedkr>ddlmZ dd	d
dgZeede dS )z.
A utility for displaying lexical dispersion.
FLexical Dispersion Plotc           	   
      s  zddl m} W n, tk
r< } ztd|W 5 d}~X Y nX t| } |  |rttttj|tttj|  n||   fddt	t
 D }|rtt| \}}nd }}|j||dd	d
 |jtt	t
||dd |dt
| || |d |  dS )a$  
    Generate a lexical dispersion plot.

    :param text: The source text
    :type text: list(str) or enum(str)
    :param words: The target words
    :type words: list of str
    :param ignore_case: flag to set if case should be ignored when searching text
    :type ignore_case: bool
        )pylabzPThe plot function requires matplotlib to be installed.See http://matplotlib.org/Nc                    s6   g | ].}t tD ]} | | kr||fqqS  )rangelen).0xyZtext_to_compZwords_to_compr   p/var/www/nmhs-web.org.in/public_html/infoladakh/backend/venv/lib/python3.8/site-packages/nltk/draw/dispersion.py
<listcomp>+   s
    z#dispersion_plot.<locals>.<listcomp>r   zb|g?)Zscalexb)colorzWord Offset)Z
matplotlibr   ImportError
ValueErrorlistreversemapstrlowerr   r   zipZplotZyticksZylimtitleZxlabelshow)	textwordsZignore_caser   r   eZpointsr   r	   r   r
   r   dispersion_plot   s6    


r   __main__r   )	gutenbergZElinorZMarianneZEdwardZ
Willoughbyzausten-sense.txtN)Fr   )__doc__r   __name__Znltk.corpusr   r   r   r   r   r   <module>   s
   
0