用Python詞雲展示周董唱過的歌,發現內含秘密

来源:https://www.cnblogs.com/Python6359/archive/2018/06/06/9147833.html
-Advertisement-
Play Games

馬上開始了,你準備好了麽 準備工作 環境:Windows + Python3.6 IDE:根據個人喜好,自行選擇 模塊: Matplotlib是一個 Python 的 2D數學繪圖庫 1 pip install matplotlib 2 import matplotlib.pyplot as plt ...


馬上開始了,你準備好了麽

準備工作

環境:Windows + Python3.6
IDE:根據個人喜好,自行選擇
模塊:
Matplotlib是一個 Python 的 2D數學繪圖庫

1 pip install matplotlib
2 import matplotlib.pyplot as plt

jieba中文分詞庫

1 pip install jieba
2 import jieba

wordcloud詞雲庫

1 pip install wordcloud
2 from wordcloud import WordCloud

實戰具體步驟:

1、讀入txt文本數據。
2、結巴中文分詞,生成字元串預設精確模式,如果不通過分詞,無法直接生成正確的中文詞雲。
3、生成詞雲圖,這裡需要註意的是WordCloud預設不支持中文,所以這裡需已下載好的中文字型檔。
(無自定義背景圖:需要指定生成詞雲圖的像素大小,預設背景顏色為黑色,統一文字顏色:mode='RGBA'和colormap='pink')
4、顯示圖片。

總體而言只有四個步驟還是比較簡單的那咱們先看一下實現的效果圖吧!

看到效果圖後發現裡面的秘密沒?   完整代碼
 1 # Matplotlib是一個 Python 的 2D數學繪圖庫
 2 # 安裝:pip install matplotlib
 3 import matplotlib.pyplot as plt
 4 # jieba中文分詞庫
 5 # 安裝:pip install jieba
 6 import jieba
 7 # wordcloud詞雲庫
 8 # 安裝pip install wordcloud
 9 from wordcloud import WordCloud
10 
11 # 1.讀入txt文本數據
12 text = open(r'.\jay.txt', "r").read()
13 #print(text)
14 
15 # 2.結巴中文分詞,生成字元串,預設精確模式,如果不通過分詞,無法直接生成正確的中文詞雲
16 cut_text = jieba.cut(text)
17 # print(type(cut_text))
18 # print(next(cut_text))
19 # print(next(cut_text))
20 # print(next(cut_text))
21 # 必須給個符號分隔開分詞結果來形成字元串,否則不能繪製詞雲
22 result = " ".join(cut_text)
23 #print(result)
24 
25 # 3.生成詞雲圖,這裡需要註意的是WordCloud預設不支持中文,所以這裡需已下載好的中文字型檔
26 # 無自定義背景圖:需要指定生成詞雲圖的像素大小,預設背景顏色為黑色,統一文字顏色:mode='RGBA'和colormap='pink'
27 wc = WordCloud(
28         # 設置字體,不指定就會出現亂碼
29         font_path=r'.\simhei.ttf',
30         # 設置背景色
31         background_color='white',
32         # 設置背景寬
33         width=500,
34         # 設置背景高
35         height=350,
36         # 最大字體
37         max_font_size=50,
38         # 最小字體
39         min_font_size=10,
40                )  # max_words=1000 ),mode='RGBA',colormap='pink')
41 # 產生詞雲
42 wc.generate(result)
43 # 保存圖片
44 wc.to_file(r".\wordcloud.png")  # 按照設置的像素寬高度保存繪製好的詞雲圖,比下麵程式顯示更清晰
45 
46 # 4.顯示圖片
47 # 指定所繪圖名稱
48 plt.figure("jay")
49 # 以圖片的形式顯示詞雲
50 plt.imshow(wc)
51 # 關閉圖像坐標系
52 plt.axis("off")
53 plt.show()
54 print('Python學習交流群:125240963,群內每天分享乾貨,包括最新的python企業案例學習資料和零基礎入門教程,歡迎各位小伙伴入群學習交流')

 


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

-Advertisement-
Play Games
更多相關文章
  • 曾經有人問我,為什麼要學習Python!我說:"因為我想學習爬蟲!""那你為什麼學習爬蟲呢?""因為可以批量下載很多很多妹子圖!"其實我都是為了學習,都是為了讓自己能更好的掌握Python,練手的項目!Emmmmm....沒錯,是為了學習 除了Python還能用什麼語言寫爬蟲? C,C++。高效率, ...
  • 一: 二: ...
  • 老師說,按繼承/多態/封裝這個順序來講。 子類使用父類的方法: 繼承的例子: 繼承順序: 多態的例子: ...
  • 在上一章的源碼分析里,我們知道了spring boot 2.0中的環境是如何區分普通環境和web環境的,以及如何準備運行時環境和應用上下文的,今天我們繼續分析一下run函數接下來又做了那些事情。先把run函數的代碼貼出來: 緊接著我們就看到了這行代碼:exceptionReporters1 = th ...
  • 但是同時使用元素的序號和元素本身也是常見的需求。我們經常看到一些程式員使用len()和range()來通過下標迭代列表,但是有一種更簡單的方式。 enumerate 函數可以同時遍歷元素及其序號。 Set類型 許多概念都可以歸結到對集合(set)的操作。例如:確認一個列表沒有重覆的元素;查看兩個列表 ...
  • 這幾天剛做完資料庫的課程設計,來稍微總結一下如何通過jdbc訪問sql server資料庫進行簡單的增刪改查操作。在連接之前,需要簡單地配置一下,包括下載對應jdk版本的驅動,設置環境變數等等。相關配置可參考博客: https://blog.csdn.net/rebekahq/article/det ...
  • 轉載:https://www.cnblogs.com/dolphin0520/p/3920373.html 寫的非常棒,好東西要分享一下 Java併發編程:volatile關鍵字解析 volatile這個關鍵字可能很多朋友都聽說過,或許也都用過。在Java 5之前,它是一個備受爭議的關鍵字,因為在程 ...
  • 10.1.客戶端許可權驗證功能完成 (1)cms/cms_profile 顯示當前用戶的角色和許可權 (2)cms/hooks.py (3)cms/cms_base.html 不同的角色,顯示不同的內容 (4)添加用戶和角色 不同的用戶登錄到後臺cms顯示不同的內容 開發者 訪問者 10.2.服務端許可權 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...