亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python WordCloud 實現詞云

系統 1653 0

?

?簡單示例

            
              from
            
             matplotlib 
            
              import
            
            
               pyplot as plt

            
            
              from
            
             wordcloud 
            
              import
            
            
               WordCloud

filename 
            
            = 
            
              "
            
            
              text.txt
            
            
              " #文本路徑
            
            
              
with open(filename,encoding
            
            =
            
              "
            
            
              utf-8
            
            
              "
            
            
              ) as f:
    data 
            
            =
            
               f.read()
    font 
            
            = r
            
              '
            
            
              C:\Windows\Fonts\FZSTK.TTF
            
            
              '
            
            
              
    wc 
            
            = WordCloud(font_path=font,  
            
              #
            
            
               如果是中文必須要添加字體
            
            
                   background_color=
            
              '
            
            
              white
            
            
              '
            
            
              ,
                   width
            
            =1000
            
              ,
                   height
            
            =800
            
              ,
                   ).generate(data)
    wc.to_file(
            
            
              '
            
            
              ss.png
            
            
              '
            
            )  
            
              #
            
            
               保存圖片
            
            
    plt.imshow(wc)  
            
              #
            
            
               用plt顯示圖片
            
            
    plt.axis(
            
              '
            
            
              off
            
            
              '
            
            )  
            
              #
            
            
               不顯示坐標軸
            
            
    plt.show()  
            
              #
            
            
               顯示圖片
            
            
              #
            
            
               wc.to_file('img.jpg') #保存圖片
            
          

?

python WordCloud 實現詞云_第1張圖片

?

?

wordcloud.WordCloud類

            
              class
            
             wordcloud.WordCloud(font_path=None, width=400, height=200, margin=2, ranks_only=None, prefer_horizontal=0.9,mask=None, scale=1, color_func=None, max_words=200, min_font_size=4, stopwords=None, random_state=None,background_color=
            
              '
            
            
              black
            
            
              '
            
            , max_font_size=None, font_step=1, mode=
            
              '
            
            
              RGB
            
            
              '
            
            , relative_scaling=0.5, regexp=None, collocations=True,colormap=None, normalize_plurals=True)
          
            
              參數
            
font_path : string //字體路徑,需要展現什么字體就把該字體路徑+后綴名寫上,如:font_path = ' 黑體.ttf ' width : int (default =400) // 輸出的畫布寬度,默認為400像素 height : int (default =200) // 輸出的畫布高度,默認為200像素 prefer_horizontal : float (default =0.90) //詞語水平方向排版出現的頻率,默認 0.9 (所以詞語垂直方向排版出現頻率為 0.1 ) mask : nd -array or None (default=None) //如果參數為空,則使用二維遮罩繪制詞云。如果 mask 非空,設置的寬高值將被忽略,遮罩形狀被 mask 取代。除全白( # FFFFFF)的部分將不會繪制,其余部分會用于繪制詞云。如:bg_pic = imread('讀取一張圖片.png'),背景圖片的畫布一定要設置為白色(#FFFFFF),然后顯示的形狀為不是白色的其他顏色。可以用ps工具將自己要顯示的形狀復制到一個純白色的畫布上再保存,就ok了。 scale : float (default =1) //按照比例進行放大畫布,如設置為1.5 ,則長和寬都是原來畫布的1.5倍。 min_font_size : int (default =4) // 顯示的最小的字體大小 font_step : int (default =1) // 字體步長,如果步長大于1,會加快運算但是可能導致結果出現較大的誤差。 max_words : number (default =200) // 要顯示的詞的最大個數 stopwords : set of strings or None // 設置需要屏蔽的詞,如果為空,則使用內置的STOPWORDS background_color : color value (default =”black”) //背景顏色,如background_color= ' white ' ,背景顏色為白色。 max_font_size : int or None (default=None) // 顯示的最大的字體大小 mode : string (default =”RGB”) // 當參數為“RGBA”并且background_color不為空時,背景為透明。 relative_scaling : float (default =.5) // 詞頻和字體大小的關聯性 color_func : callable, default =None // 生成新顏色的函數,如果為空,則使用 self.color_func regexp : string or None (optional) // 使用正則表達式分隔輸入的文本 collocations : bool, default =True // 是否包括兩個詞的搭配 colormap : string or matplotlib colormap, default=”viridis” // 給每個單詞隨機分配顏色,若指定color_func,則忽略該方法。 函數 : fit_words(frequencies) // 根據詞頻生成詞云 generate(text) // 根據文本生成詞云 generate_from_frequencies(frequencies[, ...]) // 根據詞頻生成詞云 generate_from_text(text) // 根據文本生成詞云 process_text(text) // 將長文本分詞并去除屏蔽詞(此處指英語,中文分詞還是需要自己用別的庫先行實現,使用上面的 fit_words(frequencies) ) recolor([random_state, color_func, colormap]) // 對現有輸出重新著色。重新上色會比重新生成整個詞云快很多。 to_array() // 轉化為 numpy array to_file(filename) //輸出到文件

?

?

?

在不同形狀黑白圖像上顯示

? python WordCloud 實現詞云_第2張圖片

?

            
              import
            
            
               jieba

            
            
              from
            
             matplotlib 
            
              import
            
            
               pyplot as plt

            
            
              from
            
             wordcloud 
            
              import
            
            
               WordCloud

            
            
              from
            
             PIL 
            
              import
            
            
               Image

            
            
              import
            
            
               numpy as np


font 
            
            = r
            
              '
            
            
              C:\Windows\Fonts\FZSTK.TTF
            
            
              '
            
            
              #
            
            
              字體路徑
            
            
              
text 
            
            = (open(r
            
              '
            
            
              text.txt
            
            
              '
            
            , 
            
              '
            
            
              r
            
            
              '
            
            , encoding=
            
              '
            
            
              utf-8
            
            
              '
            
            
              )).read()
cut 
            
            = jieba.cut(text)  
            
              #
            
            
               分詞
            
            
string = 
            
              '
            
            
              '
            
            .join(cut) 
            
              #
            
            
               將詞語連接起來,以空格為連接詞
            
            
img = Image.open(r
            
              '
            
            
              background.jpg
            
            
              '
            
            )  
            
              #
            
            
               打開背景圖片
            
            
img_array = np.array(img)  
            
              #
            
            
               將圖片裝換為數組
            
            
stopword = [
            
              '
            
            
              xa0
            
            
              '
            
            ]  
            
              #
            
            
               設置停止詞,也就是你不想顯示的詞
            
            
wc =
            
               WordCloud(
    background_color
            
            =
            
              '
            
            
              white
            
            
              '
            
            
              ,
    width
            
            =1000
            
              ,
    height
            
            =800
            
              ,
    mask
            
            =
            
              img_array,
    font_path
            
            =
            
              font,
)
wc.generate_from_text(string)  
            
            
              #
            
            
               繪制圖片
            
            
              plt.imshow(wc)
plt.axis(
            
            
              '
            
            
              off
            
            
              '
            
            
              )
plt.show()  
            
            
              #
            
            
               顯示圖片
            
            
wc.to_file(r
            
              '
            
            
              new.png
            
            
              '
            
            )  
            
              #
            
            
              保存圖片
            
          

? python WordCloud 實現詞云_第3張圖片

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久精品一区二区影院 | 久久www免费人成看片色多多 | 亚洲成a v人片在线观看 | 国产四虎 | 人人爽天天碰天天躁夜夜躁 | 日本不卡中文字幕一区二区 | 福利在线视频一区热舞 | 免费大片黄在线观看yw | videosex久久麻豆 | 99视频精品全部在线播放 | 精品麻豆国产 | 欧美日本在线一区二区三区 | 农村妇女高清毛片一级 | 一区二区三区视频网站 | 鲁一鲁中文字幕久久 | 国产日韩中文字幕 | 国内精品视频一区二区三区八戒 | 欧美日韩精选 | 日本精品1在线区 | 青青青爽国产在线视频 | chinese国产人妖视频网站 | 九九色播| 神马影院我不卡影院 | 色婷婷久久综合中文久久一本` | 精品精品国产自在久久高清 | 精品动漫一区二区三区 | 国产精品免费观看网站 | 久久九九热视频 | 一区视频在线播放 | 99精品久久99久久久久久 | 国产系列在线观看 | 999资源| 久久国产精品麻豆映画 | 神马九九| 99热这里只有免费国产精品 | 久久国产精品免费一区二区三区 | julia中文字幕在线 | 久久99欧美 | 国产精品第三页在线看 | 一区精品视频 | 久久国产成人亚洲精品影院老金 |