关于wordcloud采坑
由于有些工作需要创建一个词云的图,虽然有许多网站都有词云的生成器,但是无法导出pdf格式的矢量图,清晰度无法保证。
所以动手使用python3+wordcloud库来自己生成词云。
参考资料 : https://cloud.tencent.com/developer/article/1373142非常全面的使用说明
https://www.cnblogs.com/delav/articles/7837975.html各参数说明
【关于wordcloud采坑】我要使用的资源是excel中的数据,首先转成csv格式,并将他变为字典格式的数据:
文章图片
def row_csv2dict(csv_file):
dict_club = {}
with open(csv_file,encoding='UTF-8-sig')as f:
reader=csv.reader(f,delimiter=',')
for row in reader:
dict_club[str(row[0])]=float(row[1])
return dict_club
文章图片
encoding='UTF-8-sig'避免了用UTF-8时 读取csv文件出现的错误,生成了字典之后,就可以直接读入到 wordcloud中了,值得注意,导入的字典应该是 str + float 型。
完整代码如下 :
import pandas as pd
import matplotlib.dates as mdate
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import csvdef row_csv2dict(csv_file):
dict_club = {}
with open(csv_file,encoding='UTF-8-sig')as f:
reader=csv.reader(f,delimiter=',')
for row in reader:
dict_club[str(row[0])]=float(row[1])
return dict_clubif __name__ == '__main__':
res = row_csv2dict('wifi.csv')
print(res)
font_path = 'C:\Windows\Fonts\STXINWEI.TTF'# 思源黑
wordcloud = WordCloud(
background_color = '#F3F3F3',
font_path = font_path,
width = 768,
height = 768,
margin = 2,
max_font_size = 200,
random_state = 42,
scale = 3,
colormap = 'viridis',)wordcloud.generate_from_frequencies(res)
wordcloud.to_file('wordcloud.pdf')
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
最上方的两个参考文献,对了解wordcloud非常用帮助,效果图部分如下,具有很高的清晰度:
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- 四首关于旅行记忆的外文歌曲
- 醒不来的梦
- 关于自我为中心的一点感想
- 「按键精灵安卓版」关于全分辨率脚本的一些理解(非游戏app)
- 关于Ruby的杂想
- 关于读书的思考
- 关于this的一些问题(1)
- 《声之形》
- 关于如何沟通的1/2/3