今天,是「520」程序員
也是傳說中的「表白日」。字體
Love makes the world go round !ui
忙於Coding(sheng fa)的程序員們 命令行
苦於如何表白?!3d
不要緊,咱們已經幫你想好了!netty
今天來點程序員的硬核技能——code
用Python爲Ta定製專屬「詞雲」!orm
🎵(聽首歌~讓咱們帶着愉悅的心情,一塊兒來準備「表白」吧!)blog
Officially Missing You Sabrina - I Love Acoustic Greatest Hits圖片
「詞雲」的製做遠沒有你們想象中的那麼難。
不論你有沒有學過Python,相信我!就算是文科生,也是能夠按照如下步驟完成操做的!
01
環境準備
軟件環境:Anaconda3.5(下載連接可後臺回覆「Anaconda」) 系統:macOS 文本:jdcdeve.txt
圖片:heart.jpg
主要包:jieba、wordcloud
☞.打開Anaconda,而後選擇Jupyter:
☞.點擊New按鈕,新建一個筆記本(Notebook)。在Notebook裏選擇Python3選:
☞. 安裝wordcloud 和 jieba 兩個庫只要在命令行輸入如下代碼便可:
1pip install wordcloud2pip install jieba
02
代碼分析
接下來,就能夠輸入如下代碼來進行詞雲生成了:
1 from os import path 2 from PIL import Image 3 import numpy as np 4 import matplotlib.pyplot as plt 5 import os 6 import chardet 7 import jieba 8 9 10from wordcloud import WordCloud, STOPWORDS 11from pip._vendor.pyparsing import WordStart 12 13# 獲取當前項目文件的路徑14d = path.dirname(__file__) if "__file__" in locals() else os.getcwd() 15fontpath='SourceHanSerifK-Light.otf' 16 17# 讀取要分析的文本 18text = open(path.join(d, 'jdcdeve.txt'), 'r', encoding='UTF-8').read() 19words = jieba.lcut(text) 20cuted = ' '.join(words) 21 22# 讀取背景圖,進行分詞23heart_mask = np.array(Image.open(path.join(d, "heart.jpg"))) 24 25stopwords = set(STOPWORDS) 26 27wc = WordCloud(font_path=fontpath, background_color="white", max_words=10000, mask=heart_mask,stopwords=stopwords, colormap = "RdBu") 28 29# 生成詞雲 30wc.generate(cuted) 31 32# 保存文件 33wc.to_file(path.join(d, "result.png")) 34 35# 畫圖雲,顯示36plt.imshow(wc, interpolation='bilinear') 37plt.axis("off") 38plt.figure() 39plt.imshow(heart_mask, cmap=plt.cm.gray, interpolation='bilinear') 40plt.axis("off") 41plt.show()
輸入完畢後,shift+enter鍵就能夠看到結果啦!
(注:字體顏色的更換可參考http://www.sthda.com/english/wiki/word-cloud-generator-in-r-one-killer-function-to-do-everything-you-need)
03
結果輸出
若是想要將生成圖片中的文字換成心愛的Ta或大家共同的回憶,只須要在初始文本(如:jdcdeve.txt)裏瘋狂輸入你想要呈現的文字,就能在最後生成圖中出現了哦!
最後!
在這個特殊的日子,咱們也要跟你表白一波!
感謝開發者們對「京東雲開發者社區」一直的支持!
但願你們均可以有人愛,且有愛人!!!
X.O.X.O~
歡迎點擊「連接」瞭解更多精彩內容
👼👼👼
若是你還沒到表白的階段,也不要緊!
讓Ta開心,必定沒錯!
↓↓↓