python 生成词云小工具

python生成词云的主要代码

    def create_word_cloud(self):
        self.save_config()
        img_file = 'static/background.jpg' # 设置背景图片
        mask_img = imageio.imread(img_file) # 读取背景图片

        # 进行分词 jieba将中文的一句分成词语
        # word_cut=jieba.cut(word_content)
        # 把分词用空格连起来
        # word_cut_join=" ".join(word_cut)

        word_cut_join = self.myconfig.join_word_cloud()  #生成词云图片需要文字

        # 生成词云
        wc = WordCloud(
            font_path='static/font.TTF',  # 设置字体
            max_words=150,  # 词云显示的最大词数
            mask=mask_img,  # 设置背景图片
            background_color=self.myconfig.back_color  # 背景颜色
        ).generate(word_cut_join)

        # 识别原先背景的颜色,用于生成的词云颜色
        if self.myconfig.is_back_color == '1':
            image_color = wordcloud.ImageColorGenerator(mask_img)
            wc_color = wc.recolor(color_func=image_color)
            
        # 显示生成的词云图片
        plt.imshow(wc)
        # 去掉坐标轴
        plt.axis('off')
        # 将图片保存到本地
        plt.savefig('heart_cy.jpg')
        plt.show()

备注:
用pyinstaller打包WordCloud需要注意,
1:wordcloud下载的包源文件 wordcloud.py文件内获取‘stopwords.txt‘ 33-35行指定的路径是绝对路径需要改成相对路径

#源文件
FILE = os.path.dirname(__file__)
FONT_PATH = os.environ.get('FONT_PATH', os.path.join(FILE, 'DroidSansMono.ttf'))
STOPWORDS = set(map(str.strip, open(os.path.join(FILE, 'stopwords')).readlines()))

#现修改文件
FILE = os.path.dirname(sys.executable)
FONT_PATH = os.environ.get('FONT_PATH', os.path.join(FILE, 'DroidSansMono.ttf'))
STOPWORDS = set(map(str.strip, open(os.path.join(FILE, 'stopwords')).readlines()))

2:pyinstaller 打包的时候,wordcloud 中 stopwords 文件不会被打包到依赖包中,需要手动添加到 exe 根目录依赖包 wordcloud 中。
ps:用 -F 这种方式打包的同学注意了,同样stopwords文件不会被打包,测试放到exe根目录下面也是无效(有解决方法求告知)

番外篇:
使用pyqt5简单制作生成词云的图形化界面:
在这里插入图片描述
生成界面:
在这里插入图片描述
源代码:
https://gitee.com/juanzi_5/worlCloud.git

Python生成词云词频统计的方法可以通过以下几个步骤来实现。首先,你需要读取文件并将其内容存储在一个变量中。然后,你可以使用遍历来统计关键词的出现次数,并排除一些不需要统计的字符或词语。接下来,你可以使用词频统计的结果生成词云图。最后,你可以将词频统计和词云图的结果输出。 具体的步骤如下: 1. 读取文件:使用Python的文件读取功能,将文件中的内容读取到一个变量中。 2. 词频统计:通过遍历所读取的文件内容,对关键词进行累计统计,并排除一些不需要统计的字符或词语,比如标点符号、空格等。 3. 生成词云图:根据词频统计的结果,使用Python中的词云生成工具,将词频高的关键词以图形化的方式展示出来。 4. 输出结果:将词频统计和词云图的结果进行输出,可以以列表或其他形式展示出来。 通过以上步骤,你可以使用Python快速生成关键词-词频统计-词云生成的功能,并提升相似事务的处理效率。这是一种基本的数据分析技能,只需要Python的基本运行环境即可实现,无需其他软件或工具,且搭建成功后可重复利用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [利用Python进行词频统计并生成词云——以京东商城iphone13购物评论为例](https://blog.csdn.net/hiroyuu008/article/details/123545702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python绘制词云图并统计词频](https://blog.csdn.net/guihunkun/article/details/118457526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值