词云图片生成
import csv
from wordcloud import WordCloud
import jieba
import numpy as np
from matplotlib import pyplot as plt
from PIL import Image
def reader_file():
items = []
with open('C:\\Users\\75930\\Desktop\\basketball\\data\\csv\\playerdata.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
for i in reader:
items.append(i)
f.close()
return items
items = reader_file()
print(items)
string = ''
for item in items:
print(item)
string = string + item[1]
string = ' '.join(jieba.cut(string))
img = Image.open('./static/image/lanqiu.png')
img_array = np.array(img)
wc = WordCloud(
background_color='white',
mask=img_array,
font_path='msyh.ttc'
)
wc.generate_from_text(string)
fig = plt.figure(figsize=(3.5,3.0))
plt.imshow(wc)
plt.margins(0, 0)
plt.subplots_adjust(top=1, bottom=0, left=0, right=1, hspace=0, wspace=0)
plt.axis('off')
# plt.show()
plt.savefig('./static/image/heart_cloud.png')
1,布莱克尼,32.7,1.0,6.4,7.4,4.8,1.1
2,皮特森,28.7,1.3,5.8,7.1,5.9,2.0
3,多米尼克-琼斯,27.9,1.8,9.4,11.2,10.9,2.6
4,杰曼,24.2,0.5,4.8,5.3,3.7,1.1
5,马尚-布鲁克斯,23.4,1.2,6.3,7.5,5.9,1.4
6,吉伦沃特,22.2,2.2,5.6,7.8,1.1,0.8
7,萨林杰,22.0,2.9,10.7,13.6,4.7,1.5
8,王哲林,21.8,4.1,7.6,11.7,2.6,1.1
9,费尔德,21.4,0.8,4.3,5.1,8.7,1.8
10,弗格,21.1,1.0,4.1,5.1,3.7,2.1
11,高登,20.8,0.9,3.1,4.0,5.5,0.9
12,马兰,18.8,1.1,4.2,5.3,5.9,1.6
13,布兰登-杰弗森,18.6,0.9,3.3,4.2,3.7,1.7
14,布兰登-泰勒,18.5,0.4,3.6,4.0,5.9,1.3
15,阿丘尔,18.3,4.2,6.4,10.6,1.9,0.9
16,特林布尔,18.2,0.4,3.7,4.1,5.0,1.5
17,张帆,18.2,0.6,3.7,4.3,3.6,1.0
18,里斯,18.2,1.8,6.0,7.8,1.3,1.2
19,林庭谦,18.0,0.9,3.4,4.3,6.2,1.8
20,姜宇星,17.8,2.4,3.4,5.8,2.3,1.5
你可以先用PS软件把篮球的黑色缝也变透明,然后再试试,
但有可能词云库不支持多个Mask区域。
至于背景白色你也可以试试改为青绿色。