网上的代码有些过时了,scipy的一些用法也是过时,抄袭的,这里用pyecharts来生成词云图,并加入全图覆盖.
from pyecharts import options as opts from pyecharts.charts import WordCloud # 基础的母亲节祝福词频数据 base_data = [ ("妈妈辛苦了!", 100), ("母亲", 90), ("感恩", 80), ("爱", 75), ("健康", 70), ("幸福", 65), ("快乐", 60), ("辛苦", 55), ("伟大", 50), ("无私", 45), ("温暖", 40), ("关怀", 35), ("节日", 30), ("祝福", 25), ("感谢", 20), ("母爱", 50), ("陪伴", 45), ("呵护", 40), ("牵挂", 35), ("微笑", 30), ("温柔", 25), ("耐心", 20), ("付出", 15), ("养育", 10), ("支持", 5), ] # 使用 for 循环将词语重复 10 次添加到数据中 data = [] for word, freq in base_data: data.extend([(word, freq)] * 10) # 每个词语重复 10 次 # 创建词云图,并设置画布大小为屏幕尺寸 wordcloud = ( WordCloud(init_opts=opts.InitOpts(width="100%", height="100vh")) # 100% 宽度,100vh 高度 .add( series_name="", # 系列名称 data_pair=data, # 数据 word_size_range=[20, 100], # 词语大小范围 shape="circle", # 词云图形状 ) .set_global_opts( title_opts=opts.TitleOpts(title="三八妇女节祝福词云图"), # 标题 tooltip_opts=opts.TooltipOpts(is_show=True), # 提示框 ) ) # 渲染词云图到HTML文件 wordcloud.render("Womans_day_wordcloud.html") # 直接在Jupyter Notebook中显示 wordcloud.render_notebook()