You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1017 B
39 lines
1017 B
import jieba
|
|
from matplotlib import pyplot as plt
|
|
from wordcloud import WordCloud
|
|
from PIL import Image
|
|
import numpy as np
|
|
import sqlite3
|
|
|
|
def makeWordcloud(image_name):
|
|
con = sqlite3.connect('data.db')
|
|
cur = con.cursor()
|
|
sql = 'select info from movie250 '
|
|
data = cur.execute(sql)
|
|
text = ""
|
|
for item in data:
|
|
text = text + item[0]
|
|
cur.close()
|
|
con.close()
|
|
cut = jieba.cut(text)
|
|
string = ' '.join(cut)
|
|
img = Image.open(image_name)
|
|
img_array = np.array(img)
|
|
wc = WordCloud(
|
|
# background_color = 'white',
|
|
# mask = img_array,
|
|
# font_path = 'simsun.ttc'
|
|
font_path="msyhbd.ttc",
|
|
mask=img_array,
|
|
width=1500,
|
|
height=1000,
|
|
background_color="white",
|
|
min_font_size=5,
|
|
max_font_size=120,
|
|
max_words=600
|
|
)
|
|
wc.generate_from_text(string)
|
|
fig = plt.figure(1)
|
|
plt.imshow(wc)
|
|
plt.axis('off')
|
|
plt.savefig('output.jpg', dpi=1600) |