3分鐘教你用python製作一個簡單詞雲

来源:https://www.cnblogs.com/djdjdj123/archive/2020/01/05/12153603.html
-Advertisement-
Play Games

首先需要安裝三個包: 1.製作英文字母的詞雲 效果圖: 代碼實現: 其中,test.txt文件內容如下 2.製作中文的詞雲 效果圖: 代碼實現: 其中alice.txt文件內容: 1.png模板內容: 看著還挺像。 ...


首先需要安裝三個包:

# 安裝:pip install matplotlib
# 安裝:pip install jieba
# 安裝pip install wordcloud

1.製作英文字母的詞雲

效果圖:
在這裡插入圖片描述

代碼實現:

import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud


# 1.讀入txt文本數據
text = open(r'test.txt', "r").read()
#print(text)
# 2.結巴中文分詞,生成字元串,預設精確模式,如果不通過分詞,無法直接生成正確的中文詞雲
cut_text = jieba.cut(text)
# print(type(cut_text))
# 必須給個符號分隔開分詞結果來形成字元串,否則不能繪製詞雲
result = " ".join(cut_text)
#print(result)
# 3.生成詞雲圖,這裡需要註意的是WordCloud預設不支持中文,所以這裡需已下載好的中文字型檔
# 無自定義背景圖:需要指定生成詞雲圖的像素大小,預設背景顏色為黑色,統一文字顏色:mode='RGBA'和colormap='pink'
wc = WordCloud(
        # 設置字體,不指定就會出現亂碼
        # 設置背景色
        background_color='white',
        # 設置背景寬
        width=500,
        # 設置背景高
        height=350,
        # 最大字體
        max_font_size=50,
        # 最小字體
        min_font_size=10,
        mode='RGBA'
        #colormap='pink'
        )
# 產生詞雲
wc.generate(result)
# 保存圖片
wc.to_file(r"wordcloud.png") # 按照設置的像素寬高度保存繪製好的詞雲圖,比下麵程式顯示更清晰
# 4.顯示圖片
# 指定所繪圖名稱
plt.figure("jay")
# 以圖片的形式顯示詞雲
plt.imshow(wc)
# 關閉圖像坐標系
plt.axis("off")
plt.show()

其中,test.txt文件內容如下

python python3 is good well bestbast shell cool
Age has reached the end of the beginning of a word. May be guilty in his seems to passing a lot of different life became the appearance of the 
same day; May be backto oneself the paranoid weird belief disillusionment, these days, my mind has been very messy, in my mind constantly. Always 
feel oneself should go to do something, or write something. Twenty years of life trajectory deeply shallow, suddenly feel something, do it.The end 
of our life, and can meet many things really do?During myhood, think lucky money and new clothes are necessary for New Year, but as the advance of 
the age, will be more and more found that those things are optional; Junior high school, thought to have a crush on just means that the real growth,
but over the past three years later, his writing of alumni in peace, suddenly found that isn't really grow up, it seems is not so important; Then 
in high school, think don't want to give vent to out your inner voice can be in the high school children of the feelings in a period, but was event
ually infarction when graduation party in the throat, later again stood on the pitch he has sweat profusely, looked at his thrown a basketball hoops
, suddenly found himself has already can't remember his appearance.

2.製作中文的詞雲

效果圖:

在這裡插入圖片描述
代碼實現:

#!/usr/bin/Python
# -*- coding: utf-8 -*-
from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud, STOPWORDS


###當前文件路徑
d = path.dirname(__file__)

# Read the whole text.
file = open(path.join(d, 'alice.txt')).read()
##進行分詞
#剛開始是分完詞放進txt再打開卻總是顯示不出中文很奇怪
default_mode =jieba.cut(file)
text = " ".join(default_mode)
alice_mask = np.array(Image.open(path.join(d, "1.png")))
stopwords = set(STOPWORDS)
stopwords.add("said")
wc = WordCloud(  
    #設置字體,不指定就會出現亂碼,這個字體文件需要下載
    font_path=r'/usr/share/fonts/wqy-microhei/wqy-microhei.ttc',  
    background_color="white",   
    max_words=2000,   
    mask=alice_mask,  
    stopwords=stopwords)  
# generate word cloud
wc.generate(text)

# store to file
wc.to_file(path.join(d, "qq_result.jpg"))

# show
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.figure()
plt.imshow(alice_mask, cmap=plt.cm.gray, interpolation='bilinear')
plt.axis("off")
plt.show()

其中alice.txt文件內容:

赤朽木葉家族的傳說觀後感
我想,萬和毛球都被那個混亂的年代束縛住了吧,千里眼說到底也只能看到熟悉的人的未來,我想多半對於萬葉來說是痛苦的吧,即使是從小被忘在了鳥取還是從小被欺負,可以說萬葉是個
堅強而純真的孩子,包括黑菱綠也是,能為了哥哥那樣付出,可見她深深地愛慕著哥哥,所以從黑菱綠哥哥自殺事件發生後,她主動找萬葉幫忙,真摯的友情逐漸浮出水面,一直到永遠,談
到萬葉必說的第二個人,就是豐壽了吧,或許該排第一位的,因為他們之間的感情都被好好的壓制住了,沒錯,說到底我也不知道萬葉對於愛情的理解,或許只是轉變成了做女人的理解,女
人能為男人做的就是多生幾個娃,如今想來也真是既簡單又粗暴,裡面的男人我都不是很喜歡,同樣的他們的生活也很簡單那就是不顧一切支撐起赤朽葉家,除了孤獨,但是為何我也不看好
他,就連瞳也對救了自己的命的舅舅一樣鄙夷,自從毛球死了之後,我想再也沒人可以進入他的心扉,同時我也覺得萬葉一直註視著淚,真的好麽,她的愛是不是很有偏差,如果她好好的管
著毛球,或許她的人生會有變化,即使是捨去她那漫畫天賦,說到底毛球的人生和漫畫真的有趣麽,為什麼在我看來枯燥乏味且中二全開的經歷卻能成為人們的支撐甚至是美好的嚮往,難道
是她的反抗,為什麼她如此的想要征服“中原”,卻總是將男朋友拱手讓給同父異母的妹妹,而且為什麼她的雙眸里映照不出百夜,可是最後庭院的大鬧,甚至逼得妹妹去殉情,有時候真有些
沒有頭緒,但是無疑會有神秘的色彩,說實話我也不太喜歡毛球,因為妹子還是溫柔的比較好,而且似乎她似乎有不祥的象徵,以至於編輯們紛紛揚場而去,但是我對她也還是充滿羡慕之情
,對朋友也一樣,敢於糾正朋友且對於表達與朋友說再見的方式也相當神聖,還有對於那個漂亮的女孩這麼快就香消玉損我也對夢想和人生產生了深深的質疑,蝶子曾經笑著說自己的理想與
對生活富有激情的想法,我當時就覺得她或許是那裡面最正常的吧,可是為什麼作者要將她劣質化呢,說到底還是這個世界的問題吧,學生們崩潰了啊,在說說毛球吧在哥哥淚從山裡消失之
後成為家裡的長女,作為家裡的支撐,她一下子高大了許多,再也不是開著摩托玩古惑仔的瘋丫頭了,然後開始了12年的漫畫連載,所以說她漫畫的成功也到底是個玩笑或是奇跡吧,12年無
休止的工作,取得了巨大的成功,終於當漫畫完結後,她也可以好好休息了,還記得她跟女兒瞳子說的“媽媽好累,去休息下”,如果不是失去了昔日的眼神昔日的光彩,一個幾歲的小女孩也
不會察覺到媽媽或許會離開她了,即使還沒好好撒過嬌,即使每天望著媽媽的背影,她也察覺到了,毛球說到底都不過死人啊,真紗的死,蝶子的死,百夜的死,每次都讓她的人生飄搖起來
,最後轟然倒塌。。。再回頭說萬葉吧,從小到大被人欺負,黑菱綠也只是典型吧,哈哈,一個喊著“撿來的丫頭”,一個喊著“愛欺負人的丫頭”,相隔十幾年之後,稱呼也依然沒變,好朋友
就該這樣吧,萬葉人生的轉折或許就是在遇到辰的時候吧,這個白白胖胖的惠比須作為赤朽葉家的當家,對萬葉像是早就考量過了一樣,直接讓萬葉嫁入自己家,說到底到底是為了什麼,萬
葉真的能為赤朽葉家帶來福運麽,但是神奇的是她真的做到了,預測到石油危機的問題提早做出了準備度過了危機,估計還有許多吧,萬葉吧,挺單純的孩子,到最後也是豐壽與煉鐵爐殉情
之後,她居然認為是自己害死了豐壽,還讓瞳子對祖母產生了懷疑徹查了一番,其實如果認真的考慮一下就會發現那封信重覆了的信,一封是給萬葉一封是給毛球的,同樣的內容“一緒に死ぬ
”卻是不一樣的意思,豐壽這個男人到底是個純情的漢子,為了鍋爐獻出了自己的右眼,最後寧願死也要和鍋爐在一起,可見他摯愛著這個工作,這個冰冷的怪物,我也想知道他是不是也同樣
愛著萬葉,,我想讀者們都有些許看法,就不說了,最後必須說說以第一視角訴說著本次故事的小孫女瞳,與祖母和母親不同的是,她是一個普普通通的女人,我想這是絕對的吧,自由,從
這個文章中我們看到了赤朽葉家族的興衰,伴隨著故事人物的消亡,一切都變得不一樣了,到最後只剩下了瞳,孤獨,包,還有忙於工作的父親,這個家失去了往日的魔幻色彩,伴隨著萬葉
的逝去,我以為故事走向了終結,可是為什麼,作者要寫瞳子,寫她的愛情,寫她的人生觀,寫這個世界的無藥可救。。。看到最後我想起了曾經看過的一部動漫,名叫colorful,看完我明
白了兩件事,之一就是自殺的罪並非莫過於其它的罪惡,因為生命的意義很重大,超出了各種倫理邏輯所能詮釋的,所以敬畏生命不是麽,其次便是無論怎樣不要失去生活的希望,這個世界
即使再醜陋,再黑暗,也不要放棄她,因為總有人在註視著你,在守護著你,因為總會有美麗的風景進入你的眼帘,因為今天無論怎樣不是還有明天麽,當你睜開眼發現自己仍舊活著不是挺
好麽,那一絲絲的美好足夠支撐你了,這就是為什麼人類看得到五顏六色的原因吧。。

1.png模板內容:

在這裡插入圖片描述
看著還挺像。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 圖解Java設計模式之設計模式面試題 1.1 Java設計模式內容介紹 1.1.1 先看幾個經典的面試題 1.1.2 設計模式的重要性 1.1 Java設計模式內容介紹 1.1.1 先看幾個經典的面試題 原型設計模式問題 :1)有請使用UML類圖畫出原型模式核心角色2)原型設計模式的深拷貝和淺拷貝是 ...
  • 一.介紹 反向代理:讓Internet上的用戶可以訪問區域網內的資源,中間設置一個代理伺服器,如下所示,紅色圈是指區域網內的站點(myweb站點是我們的站點,例如iis)。箭頭不能反過來 正向代理:客戶端(我們代理客戶端)訪問Internet上的站點。中間設置一個代理伺服器,如下所示,紅色圈是指局域 ...
  •  1 問題描述 使用PySide2寫了一個GUI程式,調用ffmpeg命令行工具,做簡單的批量視頻處理(調整幀寬度、幀高度、視頻變速、降低視頻碼率達到限制視頻大小),使用了ffmpeg、 ffmpeg python庫; 挺簡單的事兒,但遇到一個問題: pyinstaller打包程式時: 1. 不加 ...
  • 今天在用到camelot爬取pdf的表格時,想選取部分區域進行爬取,就想用plot把pdf畫一下,選個坐標。 看了網上的示例,在使用camelot.read_pdf獲取當前頁面以後調用tables[0].plot('text'),提示AttributeError: 'Table' object ha ...
  • The forgotten ideas in computer science-Joe Armestrong ...
  • 本系列筆記主要基於《深入理解Java虛擬機:JVM高級特性與最佳實踐 第2版》,是這本書的讀書筆記。 記憶體分配一般關註的是對象在堆上分配的情況,對象主要分配在新生代的Eden區中,如果啟用了本地線程分配緩衝,將按線程優先在TLAB上分配。少數情況下也會直接分配在老年代中,這取決於使用的垃圾收集器組合 ...
  • 0x00 抓包分析 簡單的搜索之後發現,很多參數都是登陸上面這個請求返回的值,這個請求在輸入完賬號游標到達密碼框時就會生成! 0x01 加密邏輯分析 搜索su=可以很快找到加密的位置,上圖看到e.su和e.sp都是由sinaSSOEncoder這個函數生成的,搜索sinaSSOEncoder發現就是 ...
  • 1.python 讀取Excel text.xlsx內容如下: 運行結果: 2.python 寫入Excel 運行結果: rw r r 1 root root 17920 8月 6 11:53 partitions.xls 3.python Excel寫入表內 user_zw.xls的內容: 查詢表 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...