parent
d13c4b617c
commit
5a102a0c58
@ -0,0 +1,41 @@
|
||||
|
||||
import numpy as np
|
||||
from wordcloud import WordCloud
|
||||
import matplotlib.pyplot as plt
|
||||
from wordcloud import STOPWORDS
|
||||
def getTxt():
|
||||
txt = open(r'C:\jieba-python\英文\xxx.txt').read()
|
||||
txt = txt.lower()
|
||||
for ch in '!"@#$%^&*()+,-./:;<=>?@[\\]_`~{|}':
|
||||
txt = txt.replace(ch, ' ')
|
||||
return txt
|
||||
hamletTxt = getTxt()
|
||||
words = hamletTxt.split()
|
||||
counts = {}
|
||||
for word in words:
|
||||
counts[word] = counts.get(word,0) + 1
|
||||
for word in list(STOPWORDS):
|
||||
counts.pop(word, 0)
|
||||
items = list(counts.items())
|
||||
items.sort(key = lambda x:x[1], reverse = True)
|
||||
infos, counts = [], []
|
||||
for i in range(10):
|
||||
word, count = items[i]
|
||||
infos.append(word)
|
||||
counts.append(count)
|
||||
print('{0:<10}{1:>5}'.format(word, count))
|
||||
plt.bar(range(len(infos)), counts, width=0.8)
|
||||
plt.xticks(list(range(0, 10)), infos, fontsize=12)
|
||||
for a, b in zip(np.arange(len(infos)), counts):
|
||||
plt.text(a, b, '%d' % b, ha='center', va='bottom', fontsize=12)
|
||||
plt.savefig(r'C:\jieba-python\英文\tb1.png', dpi=300, bbox_inches='tight')
|
||||
text_y = open(r"C:\jieba-python\英文\xxx.txt").read()
|
||||
wordcloud = WordCloud(width=800, height=600,background_color="white", max_words=2000)
|
||||
ax = wordcloud.generate(text_y)
|
||||
width,height = 24, 14
|
||||
plt.figure()
|
||||
plt.figure(figsize=(width,height))
|
||||
plt.imshow(ax, interpolation='bilinear')
|
||||
plt.axis('off')
|
||||
plt.show()
|
||||
wordcloud.to_file("C:\jieba-python\英文\\xxx.png")
|
Loading…
Reference in new issue