关于wordcloud采坑

由于有些工作需要创建一个词云的图,虽然有许多网站都有词云的生成器,但是无法导出pdf格式的矢量图,清晰度无法保证。
所以动手使用python3+wordcloud库来自己生成词云。
参考资料 : https://cloud.tencent.com/developer/article/1373142非常全面的使用说明
https://www.cnblogs.com/delav/articles/7837975.html各参数说明

【关于wordcloud采坑】我要使用的资源是excel中的数据,首先转成csv格式,并将他变为字典格式的数据:
关于wordcloud采坑
文章图片


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

关于wordcloud采坑
文章图片

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非常用帮助,效果图部分如下,具有很高的清晰度:


    推荐阅读