Python stylecloud制作酷炫的词云图
生活随笔
收集整理的這篇文章主要介紹了
Python stylecloud制作酷炫的词云图
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
stylecloud是wordcloud優化改良版,操作簡單,直接調用。
?
-
可以使用 Font Awesome 提供的免費圖標更改詞云的形狀;
-
通過 palettable 更改調色板以自定義風格,更改背景顏色;
-
添加梯度使顏色按照特定方向流動。
1、基本說明
首先安裝stylecloud和jieba庫,jieba主要用來做語義分割用,因為使用的時候會遇到文本解析
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple stylecloud pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jiebagen_stylecloud 的默認參數
def gen_stylecloud(text=None,file_path=None, # 輸入文本/CSV 的文件路徑size=512, # stylecloud 的大小(長度和寬度)icon_name='fas fa-flag', # stylecloud 形狀的圖標名稱(如 fas fa-grin)。[default: fas fa-flag]palette='cartocolors.qualitative.Bold_5', # 調色板(通過 palettable 實現)。[default: cartocolors.qualitative.Bold_6]colors=None,background_color="white", # 背景顏色max_font_size=200, # stylecloud 中的最大字號max_words=2000, # stylecloud 可包含的最大單詞數stopwords=True, # 布爾值,用于篩除常見禁用詞custom_stopwords=STOPWORDS,icon_dir='.temp',output_name='stylecloud.png', # stylecloud 的輸出文本名gradient=None, # 梯度方向font_path=os.path.join(STATIC_PATH, 'Staatliches-Regular.ttf'), # stylecloud 所用字體random_state=None, # 控制單詞和顏色的隨機狀態collocations=True,invert_mask=False,pro_icon_path=None,pro_css_path=None):在 word.txt 中有下面的一段話
Python面向對象---類的基本使用 面向對象 類(class):是一種用來描述具有相同屬性和方法的對象的集合。 類變量:類變量在整個實例化的對象中是公用的。一般定義在類中且在函數體之外。 方法:類中的函數 數據成員:類變量或者實例變量用于處理類及其實例對象的相關的數據。 方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。 局部變量:定義在方法中的變量,只作用于當前實例的類。 實例變量:在類的聲明中,屬性是用變量來表示的,這種變量就稱為實例變量,實例變量就是一個用 self 修飾的變量。 繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。就像我們定義一個fruit(水果)類,然后又定義了一個fruit類的派生類apple(蘋果),它有著fruit類的一些屬性和方法,也有著自己的一些獨特的屬性和方法,和fruit類是一種’is-a’的關系。 實例化:類的一個具體對象,類像當于一個模板,只有我們將其實例化為一個對象后才能對其進行相應的操作。 對象:通過類定義的數據結構實例。對象包括兩個數據成員(類變量和實例變量)和方法。默認情況下,詞云的形狀是一面旗幟
# -*- coding: utf-8 -*-import jieba from stylecloud import gen_styleclouddef cloud(file_name): with open(file_name, 'r', encoding='utf8') as f:word_list = jieba.cut(f.read())result = " ".join(word_list) # 分詞用 隔開 # 制作中文云詞gen_stylecloud(text=result,font_path='C:\\Windows\\Fonts\\simhei.ttf',output_name='t1.png',) # 必須加中文字體,否則格式錯誤if __name__ == "__main__":file_name = './word.txt'cloud(file_name)使用 Font Awesome 提供的免費圖標更改詞云的形狀(不用自己找形狀)
https://fontawesome.dashgame.com/
選擇某個圖標,右擊復制,把這個圖標內容粘貼到代碼即可
# -*- coding: utf-8 -*-import jieba from stylecloud import gen_styleclouddef cloud(file_name): with open(file_name, 'r', encoding='utf8') as f:word_list = jieba.cut(f.read())result = " ".join(word_list) # 分詞用 隔開 # 制作中文云詞gen_stylecloud(text=result,font_path='C:\\Windows\\Fonts\\simhei.ttf',palette='cartocolors.diverging.Fall_4',icon_name='fas fa-car', output_name='t4.png',) # 必須加中文字體,否則格式錯誤if __name__ == "__main__":file_name = './word.txt'cloud(file_name)3、關鍵字模式
如果是提供關鍵字來生成詞云,例如word1.txt
Python ython thon hon on n Matlab atlab tlab lab ab b 數學分析 學分析 分析 析 大數據 數據 據 算法 法 人工智能 工智能 智能 能 創新 新 創業 業 科技 技 我也不知道 也不知道 不知道 知道 道 import jiebafrom stylecloud import gen_styleclouddef cloud(file_name): with open(file_name, 'r', encoding='utf8') as f: lines = f.readlines() result = '' for line in lines: result += ' ' + line # 制作中文云詞 gen_stylecloud(text=result, font_path='C:\\Windows\\Fonts\\simhei.ttf', output_name='t10.png', ) # 必須加中文字體,否則格式錯誤if __name__ == "__main__": file_name = './word1.txt'????cloud(file_name)最后分享一個網址,可以直接得到詞云,
http://www.wordart.cc/
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Python stylecloud制作酷炫的词云图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 获取文件后缀名的方法
- 下一篇: Linux下安装Anaconda 详细过