『壹』 python為什麼wordcloud 生成的詞雲,單詞排列不夠緊湊
你設置的最大號字體也就是max_font_size相對於整個圖片太小了(可以設置成120試試,估計整個就會顯得稠密了),而你出現的人物本身就不多,自然出來顯得稀稀拉拉。
『貳』 python製作詞雲的時候怎麼使文字密集一點
選用的詞越多(max_words),樣本越大(文本的長度),就越接近正態分布。
在正態分布的情況下,低頻詞就相對多(長尾定率)。
然後就是調整max_font_size與min_font_size以及relative_scaling了,這三個參數的取值對表觀上的密集程度有影響。
如果max_words小,長尾不明顯,詞雲中小字就少,很多地方沒有詞去填補空白,就顯示得不密集。
如果max_font_size與min_font_size沒拉開,低頻詞(長尾部分)就沒有小到足夠在高頻詞的空白中填入,字中空白就讓整個雲顯得不密集。
最後調整relative_scaling使交叉方向的比例合適,一些詞的空白處就能填入一些較短的低頻詞進一步減少空白。
『叄』 如何使用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中的詞雲模塊wordcloud如何自定義顏色及詞語所佔面積
請看官方文檔
『伍』 python生成詞雲,要求頻率越小生成的字詞越大,老師的要求,請各位大佬解答,感謝,急急急!!!
按照常理可以實現,但是python是智能的,不能安裝常理算。關注點有點偏,老師不是刁難學生,而是幫助學生進步。你可以去問問老師具體的思路,祝你取得更大的進步。
『陸』 Python程序如何使用參數
用sys模塊,使用sys.argv接收參數,sys.argv是一個列表,第2個元素開始是傳遞進來的值,傳遞的時候用空格割開就好
import sys
for x in sys.argv:
....print(x)
『柒』 詞雲怎麼調用生成 python
把兩個腳本filea.py 和 fileb.py 放在同一個目錄下,然後在filea.py的開頭寫: import fileb 然後就可以使用fileb.py中定義的函數了
『捌』 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 wordcloud參數怎麼把文字設置成白色嗎
首選wordcloud也是分不同的版本的,不同版本之間wordcloud參數和方法還是有一些不同。
color_func的參數得是一個object,不得傳str類型,具體傳參數用法及方法間的調用,可以查看源碼。
color_func=get_single_color_func('white')
修改為這個試試
『拾』 如何用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()