python詞雲代碼
㈠ python3.7生成的詞雲,顯示成功,卻沒有圖片
根據你的代碼,你生成的詞雲圖片文件名字叫做aaaaa.png,打開你存儲python文件的文件夾,在那裡面找到aaaaa.png這個圖片文件,打開就是生成的詞雲了
㈡ python如何自定義詞雲
推薦使用jieba模塊來實現分詞,WordCloud來繪制詞雲。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: utf-8 -*-
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud, STOPWORDS
# Read the whole text.
text = open('內容.txt', 'r').read()
text = " ".join(jieba.cut(text, cut_all=False))
# 愛心.png表示你繪圖模板,就是最後圖片的形狀
alice_mask = np.array(Image.open('愛心.png'))
# 中文需要設置字體,songti.ttf代表宋體
wc = WordCloud(font_path='songti.ttf', background_color="white", mask=alice_mask,
max_words=2000)
# generate word cloud
wc.generate(text)
# store to file
wc.to_file('result.png')
# show
plt.imshow(wc)
plt.axis("off")
# plt.figure()
# plt.imshow(alice_mask, cmap=plt.cm.gray)
# plt.axis("off")
plt.show()
㈢ 用Python實現小說里的高頻詞統計並顯示
用jieba做分詞,用wordcloud包做詞雲就可以了
#讀取文件內容
file='d:/艾薩克·阿西莫夫/奇妙的航程.TXT'
f=open(file,'r',encoding='gbk')
text=f.read()
f.close()
#使用jieba分詞,因為wordcloud是以空格識別單詞邊界的
importjieba
text=''.join(jieba.cut(text))
#掩碼圖片,單色圖就好
fromscipy.miscimportimread
color_mask=imread('D:/Pictures/7218.png')
#建立詞雲對象,因為是中文,指定一個中文字體,不然可能會亂碼
#WordCloud的參數可以控制很多內容,請自行閱讀包的文檔
importwordcloud
w=wordcloud.WordCloud(font_path='C:/Windows/Fonts/msyh.ttc',
max_words=100,
mask=color_mask)
#載入以空格分詞的字元串
w.generate(text)
#生成圖片
w.to_file('d:/img1.png')
㈣ 如何使用python來實現個性化詞雲的示例代碼分享
#coding=utf-8
#usingpython27
fromosimportpath
fromPILimportImage
importnumpyasnp
importmatplotlib.pyplotasplt
fromwordcloudimportWordCloud,STOPWORDS,ImageColorGenerator
#d=path.dirname(__file__)
#Readthewholetext.
text=open(r'C:StudyPythonwordcloud_alice.txt').read()
#readthemask/colorimagetakenfrom
#http://jirkavinse.deviantart.com/art/quot-Real-Life-quot-Alice-282261010
alice_coloring=np.array(Image.open(r'C:StudyPythonwordcloud_alice_color.png'))
stopwords=set(STOPWORDS)
stopwords.add("said")
wc=WordCloud(background_color="white",max_words=2000,mask=alice_coloring,
stopwords=stopwords,max_font_size=40,random_state=42)
#generatewordcloud
wc.generate(text)
#createcoloringfromimage
image_colors=ImageColorGenerator(alice_coloring)
#show
plt.imshow(wc,interpolation="bilinear")
plt.axis("off")
plt.figure()
#recolorwordcloudandshow
#wecouldalsogivecolor_func=image_
plt.imshow(wc.recolor(color_func=image_colors),interpolation="bilinear")
plt.axis("off")
plt.figure()
plt.imshow(alice_coloring,cmap=plt.cm.gray,interpolation="bilinear")
plt.axis("off")
plt.show()
執行這個代碼還需要兩個文件, 網路知道不能上傳, 可以用扣或者私我傳給你
運行結果:
㈤ python中對已經排好序的詞語怎麼做詞雲
期末復習比較忙過段時間來專門寫scrapy框架使用,今天介紹如何用python生成詞雲,雖然網上有很多詞雲生成工具,不過自己用python來寫是不是更有成就感。
今天要生成的是勵志歌曲的詞雲,網路文庫裡面找了20來首,如《倔強》,海闊天空是,什麼的大家熟悉的。
所要用到的python庫有 jieba(一個中文分詞庫)、wordcould 、matplotlib、PIL、numpy。
首先我們要做的是讀取歌詞。我將歌詞存在了文件目錄下勵志歌曲文本中。
現在來讀取他
加入#encoding=gbk是為了防止後面操作報錯SyntaxError: Non-UTF-8 code starting with 'xc0'
然後我們用jieba分詞來對歌曲做分詞提取出詞頻高的詞
123456import jieba.analyseresult=jieba.analyse.textrank(lyric,topK=50,withWeight=True)keywords = dict()for i in result:keywords[i[0]]=i[1]print(keywords)得到結果:
12345678910111213from PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGeneratorimage= Image.open('./tim.jpg')graph = np.array(image)wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)wc.generate_from_frequencies(keywords)image_color = ImageColorGenerator(graph)plt.imshow(wc)plt.imshow(wc.recolor(color_func=image_color))plt.axis("off")plt.show()保存生成圖片
1wc.to_file('dream.png')完整代碼:
以上這篇python生成詞雲的實現方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
㈥ python為什麼wordcloud 生成的詞雲,單詞排列不夠緊湊
你設置的最大號字體也就是max_font_size相對於整個圖片太小了(可以設置成120試試,估計整個就會顯得稠密了),而你出現的人物本身就不多,自然出來顯得稀稀拉拉。
㈦ 如何用python做詞雲pdf
,決定用python繪制詞雲,主要用到的是wordcloud庫,安裝只需要pip isntall wordcloud就行,
數據用的是酒店評論的數據,代碼如下:
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import pickle
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator
import jieba
# import codecs
# fin = codecs.open('HotelComments.txt',mode = 'r', encoding = 'utf-8')
# print fin.read()
# 第一次運行程序時將分好的詞存入文件
# text = ''
# with open('HotelComments.txt') as fin:
# for line in fin.readlines():
# line = line.strip('\n')
# text += ' '.join(jieba.cut(line))
# text += ' '
# fout = open('text.txt','wb')
# pickle.mp(text,fout)
# fout.close()
# 直接從文件讀取數據
fr = open('text.txt','rb')
text = pickle.load(fr)
backgroud_Image = plt.imread('girl.jpg')
wc = WordCloud( background_color = 'white', # 設置背景顏色
mask = backgroud_Image, # 設置背景圖片
max_words = 2000, # 設置最大現實的字數
stopwords = STOPWORDS, # 設置停用詞
font_path = 'C:/Users/Windows/fonts/msyh.ttf',# 設置字體格式,如不設置顯示不了中文
max_font_size = 50, # 設置字體最大值
random_state = 30, # 設置有多少種隨機生成狀態,即有多少種配色方案
)
wc.generate(text)
image_colors = ImageColorGenerator(backgroud_Image)
wc.recolor(color_func = image_colors)
plt.imshow(wc)
plt.axis('off')
plt.show()
㈧ python生成詞雲,要求頻率越小生成的字詞越大,老師的要求,請各位大佬解答,感謝,急急急!!!
按照常理可以實現,但是python是智能的,不能安裝常理算。關注點有點偏,老師不是刁難學生,而是幫助學生進步。你可以去問問老師具體的思路,祝你取得更大的進步。
㈨ 詞雲怎麼調用生成 python
把兩個腳本filea.py 和 fileb.py 放在同一個目錄下,然後在filea.py的開頭寫: import fileb 然後就可以使用fileb.py中定義的函數了