TypeError Traceback (most recent call last)
<ipython-input-84-75ecc01e8c41> in <module>
58 prefer_horizontal=0.9,
59 max_words=1,
---> 60 contour_color='steelblue').generate_from_frequencies(dict_fre)
61 #img_colors = ImageColorGenerator(image)
62 #字體顏色為背景圖片的顏色
d:\ProgramData\Anaconda3\lib\site-packages\wordcloud\wordcloud.py in generate_from_frequencies(self, frequencies, max_font_size)
481 while True:
482 # try to find a position
--> 483 font = ImageFont.truetype(self.font_path, font_size)
484 # transpose font optionally
485 transposed_font = ImageFont.TransposedFont(
d:\ProgramData\Anaconda3\lib\site-packages\PIL\ImageFont.py in truetype(font, size, index, encoding, layout_engine)
638
639 try:
--> 640 return freetype(font)
641 except IOError:
642 if not isPath(font):
d:\ProgramData\Anaconda3\lib\site-packages\PIL\ImageFont.py in freetype(font)
635
636 def freetype(font):
--> 637 return FreeTypeFont(font, size, index, encoding, layout_engine)
638
639 try:
d:\ProgramData\Anaconda3\lib\site-packages\PIL\ImageFont.py in __init__(self, font, size, index, encoding, layout_engine)
184 return
185 self.font = core.getfont(
--> 186 font, size, index, encoding, layout_engine=layout_engine
187 )
188 else:
TypeError: integer argument expected, got float
uj5u.com熱心網友回復:
原始碼:%matplotlib inline
import matplotlib
import numpy as np
from PIL import Image
import re
import jieba
import tqdm
import time
from wordcloud import WordCloud,ImageColorGenerator
import matplotlib.pyplot as plt
# http://www.cnblogs.com/hatemath/
# 打開存放專案名稱的txt檔案
dict_fre={}
with open('d:\\python\\ciyun200.txt','r',encoding='utf-8') as f:
#word= (f.read())
trainlines = f.readlines() #回傳每一行的資料
# print(trainlines)
for line in trainlines:
# print(line)
line=line.replace('\n','')
line = line.split('/') #按照空格鍵分割每一行里面的資料
dict_value=https://bbs.csdn.net/topics/{(line[0]):int(eval(line[1])//1000)}
dict_fre.update(dict_value)
dict_fre={'12345678':35,'12345678':4}
# print(dict_fre)
f.close()
#image=np.array(Image.open('12366.png'))
font=r'C:\\Windows\\fonts\\msyh.ttf'
#db=cx_Oracle.connect('boxidb/logonbszx@localhost:1521/boxidb')
#cur=db.cursor()
# 去掉英文,保留中文
#resultword=re.sub("[A-Za-z0-9\[\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\'\,\[\]\.\<\>\/\?\~\。\@\#\\\&\*\%]", "",word)
#wordlist_after_jieba = jieba.cut(resultword)
#wl_space_split = " ".join(wordlist_after_jieba)
##對歷史資料進行分詞
#sql="select kwords,cipin from(select fenci as kwords, count(fenci) as cipin from FENCIJIEGUO t where t.fenci<>'\t' and t.fenci<>'\n' and t.fenci<>'\r' and t.fenci<>' ' and fenci<>'None' and length(fenci)>2 group by fenci order by count(fenci) DESC ) where rownum<=200"
#cur.execute(sql)
#rows=cur.fetchall()
#for row in rows:
print('正在生成詞云……')
my_wordcloud = WordCloud(scale=1,
#mask=image,
font_path=font,
width=800,
height=600,
# mode='RGBA',
background_color='white',
min_font_size=2,
max_font_size=200,
font_step=0.5,
random_state=30,
contour_width=10,
prefer_horizontal=0.9,
max_words=1,
contour_color='steelblue').generate_from_frequencies(dict_fre)
#img_colors = ImageColorGenerator(image)
#字體顏色為背景圖片的顏色
#my_wordcloud.recolor(color_func=img_colors)
#顯示生成的詞云
plt.imshow(my_wordcloud,interpolation='bilinear')
plt.axis("off")
plt.show()
print('已生成詞云!')
#cur.close()
#db.close()
my_wordcloud.to_file('ciyun.png')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/103635.html
下一篇:geany怎么運行Python
