<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python十分鐘制作屬于你自己的個(gè)性logo

          共 2864字,需瀏覽 6分鐘

           ·

          2020-11-06 04:54


          詞云的使用相信大家已經(jīng)不陌生了,使用很簡(jiǎn)單,直接調(diào)用wordcloud包就可以了。它的主要功能是根據(jù)文本詞匯和詞匯頻率生成圖片,從中可以直觀的看出各個(gè)詞匯所占比重。最近正好想做一個(gè)人的logo,于是乎決定使用詞云來制作完成。

          wordcloud安裝

          pip install wordcloud

          使用 pip 安裝你肯定會(huì)遇到一個(gè)坑,安裝過程中可能會(huì)報(bào)錯(cuò),提示你安裝 Microsoft Visual C++ 14.0,但是這個(gè)安裝過程很耗時(shí)。

          有另一個(gè)方法可以解決,就是下載相應(yīng)的whl文件安裝。博主下載的是 ?wordcloud-1.4.1-cp36-cp36m-win_amd64.whl 文件,如果下載不了,可以在公眾號(hào)后臺(tái)輸入 “wordcloud” 獲取。

          下載鏈接:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

          文件下載后,cmd 進(jìn)入whl文件所在文件夾下,然后輸入以下命令:

          pip install wordcloud-1.4.1-cp36-cp36m-win_amd64.whl

          wordcloud代碼使用

          安裝成功后我們馬上開始制作我們的圖片,代碼如下:

          from os import path
          from PIL import Image
          import numpy as np
          import matplotlib.pyplot as plt
          from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
          d = path.dirname(__file__)
          # 讀文本文件
          text = open(path.join(d, 'data.txt')).read()
          # 讀取自定義圖片
          alice_coloring = np.array(Image.open(path.join(d, "pic.jpg")))
          # 你可以通過 mask 參數(shù) 來設(shè)置詞云形狀
          wc = WordCloud(background_color="white",max_words=2000,
          ? ? ? ? ? ? ? ?mask=alice_coloring, max_font_size=60,random_state=102,scale=8,
          ? ? ? ? ? ? ? ?font_path="C:\Windows\Fonts\msyhbd.ttf").generate(text)
          wc.generate_from_text(text)
          print('加載文本')
          # 改變字體顏色
          img_colors = ImageColorGenerator(alice_coloring)
          # 字體顏色為背景圖片的顏色
          wc.recolor(color_func=img_colors)
          # 顯示詞云圖
          plt.imshow(wc, interpolation="bilinear")
          # 是否顯示x軸、y軸下標(biāo)
          plt.axis('off')
          plt.show()
          # 獲得模塊所在的路徑的
          d = path.dirname(__file__)
          # 將多個(gè)路徑組合后返回
          wc.to_file(path.join(d, "h16.jpg"))
          print('生成詞云成功!')

          上面 text 文本內(nèi)容是通過爬蟲采集的,爬取的關(guān)于數(shù)據(jù)科學(xué)的一篇文章,有了文本源之后準(zhǔn)備好你想要生成詞云的圖片就行了。

          配置 wordcloud 的參數(shù)對(duì)于圖片效果尤為重要,下面我們著重介紹一下wordcloud的參數(shù)含義:

          • font_path : string 字體路徑,需要展現(xiàn)什么字體就把該字體路徑+后綴名寫上,如:font_path = '黑體.ttf'

          • width : int (default=400) 輸出的畫布寬度,默認(rèn)為400像素

          • height : int (default=200) 輸出的畫布高度,默認(rèn)為200像素

          • prefer_horizontal : float (default=0.90) 詞語水平方向排版出現(xiàn)的頻率,默認(rèn) 0.9

          • mask : nd-array or None (default=None) 若參數(shù)為空,則正常繪制詞云。如果 mask 非空,設(shè)置的寬高值將被忽略,形狀被 mask 取代。除白色的部分將不會(huì)繪制,其余部分會(huì)用于繪制詞云。

          • scale : float (default=1) 按照比例進(jìn)行放大畫布,如設(shè)置為2,則長(zhǎng)和寬都是原來畫布的2倍。

          • min_font_size : int (default=4) 顯示的最小的字體大小

          • font_step : int (default=1) 字體步長(zhǎng),如果步長(zhǎng)大于1,會(huì)加快運(yùn)算但是可能導(dǎo)致結(jié)果出現(xiàn)較大的誤差。

          • max_words : number (default=200) 要顯示的詞的最大個(gè)數(shù)

          • stopwords : set of strings or None 設(shè)置需要屏蔽的詞,如果為空,則使用內(nèi)置的STOPWORDS

          • background_color : color value (default=”black”) 背景顏色,如background_color='white',背景顏色為白色。

          • max_font_size : int or None (default=None) 顯示的最大的字體大小

          • mode : string (default=”RGB”) 當(dāng)參數(shù)為“RGBA”并且background_color不為空時(shí),背景為透明。

          • relative_scaling : float (default=.5) 詞頻和字體大小的關(guān)聯(lián)性

          • color_func : callable, default=None 生成新顏色的函數(shù),如果為空,則使用 self.color_func

          • regexp : string or None (optional) 使用正則表達(dá)式分隔輸入的文本

          • collocations : bool, default=True 是否包括兩個(gè)詞的搭配

          • colormap : string or matplotlib colormap, default=”viridis” 給每個(gè)單詞隨機(jī)分配顏色,若指定color_func,則忽略該方法。

          效果展示

          使用的照片是博主自己的照片,效果圖如下:


          ·END·


          PS公號(hào)內(nèi)回復(fù)「Python」即可進(jìn)入Python 新手學(xué)習(xí)交流群,一起?100 天計(jì)劃!


          老規(guī)矩,兄弟們還記得么,右下角的 “在看” 點(diǎn)一下,如果感覺文章內(nèi)容不錯(cuò)的話,記得分享朋友圈讓更多的人知道!

          神秘禮包獲取方式

          識(shí)別文末二維碼,回復(fù):1024

          瀏覽 78
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  精品欧美乱码久久久久久 | 亚洲 国产 色在线 | 亚洲中文字幕在线观看视频了 | 精品视频一区二区三区 | 日本免费黄色电影网站 |