用python做词云 包含:处理词云形状+分词+绘制词云

用python制作词云
包含:处理词云形状+分词+绘制词云
以下代码不超过100行

1、处理词云形状
你可能想把词云做成不同的形状,例如方形、圆形,甚至更复杂的,例如一个人体形状。
首先选一张背景为纯色的图,注意背景色不能跟图形一致。然后将图片的纯色背景转换为透明。

2、分词
需要选择分词词库,意思是按照词库里的字词或符号分隔。打开本文附件的词库,看看是否是自己需要的。
有时你可能不需要太复杂的词库,例如,你现在有很多词语,被顿号隔开,那么可以新建一个txt,仅输入一个顿号。然后将该txt作为分词词库。

3、绘制词云
绘制时有很多参数可以设置。

欢迎读者与我交流~

import numpy as np
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
from PIL import Image
import jieba # 用于分词


def plt_imshow(x, ax=None, show=True):
    if ax is None:
        fig, ax = plt.subplots()
        ax.imshow(x)
        ax.axis("off")
    if show: plt.show()
    return ax

def count_frequencies(
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 好的,下面是使用Python绘制图的步骤: 1. 安装相应的库:需要安装 wordcloud 和 matplotlib 这两个库。可以使用 pip install 命令进行安装。 2. 准备文本数据:需要准备一段文本数据,可以是从文件中读取或者是从数据库中获取。 3. 清洗文本数据:使用正则表达式或者其他方式对文本进行清洗,去除无用的字符或者语。 4. 分词:使用 jieba 等分词库对文本进行分词。 5. 统计频:统计每个语在文本中出现的次数。 6. 生成图:使用 wordcloud 库生成图,并使用 matplotlib 库进行可视化。 下面是一个简单的示例代码: ```python import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt # 读取文本数据 with open('data.txt', 'r', encoding='utf-8') as f: text = f.read() # 分词 words = jieba.cut(text) # 统计频 word_freq = {} for word in words: if word not in word_freq: word_freq[word] = 0 word_freq[word] += 1 # 生成图 wordcloud = WordCloud(background_color='white').generate_from_frequencies(word_freq) # 可视化 plt.imshow(wordcloud, interpolation='bilinear') plt.axis('off') plt.show() ``` 这个示例代码使用 jieba 库对文本进行分词,并使用 WordCloud 库生成图。最后使用 matplotlib 库进行可视化。 ### 回答2: Python可以使用多种库来绘制图,其中比较常用的是wordcloud库。 首先,需要安装wordcloud库。可以使用pip命令来进行安装,打开命令提示符窗口并输入以下命令: ``` pip install wordcloud ``` 安装完成后,可以导入相应的库并使用其中的函数来绘制图。一般情况下,绘制图的步骤如下: 1. 导入所需的库: ```python import wordcloud import matplotlib.pyplot as plt ``` 2. 配置图的参数: ```python # 配置图参数 wordcloud_obj = wordcloud.WordCloud(width=800, height=400, background_color='white') ``` 这里设置了图的宽度、高度和背景颜色等参数。 3. 生成图: ```python # 生成图 wordcloud_obj.generate(text) ``` 其中`text`是用于生成图的文本数据。 4. 绘制图: ```python # 绘制图 plt.imshow(wordcloud_obj, interpolation='bilinear') plt.axis('off') # 隐藏坐标轴 plt.show() ``` 这里使用`imshow`函数来显示图,`axis('off')`可以隐藏坐标轴。 以上就是使用Python绘制图的基本步骤。根据具体需求,还可以对图进行更多的样式调整和处理,比如设置字体、颜色、形状以及频的处理等。 ### 回答3: Python绘制图需要使用第三方库`wordcloud`,下面是绘制图的步骤。 首先,我们需要安装`wordcloud`库。在命令行中使用以下命令安装: ``` pip install wordcloud ``` 安装完成后,我们可以开始绘制图。首先,导入`wordcloud`模块和`matplotlib`模块: ```python import matplotlib.pyplot as plt from wordcloud import WordCloud ``` 然后,我们需要准备文本数据,可以是一段文字、一篇文章、一本书等。假设我们的文本数据保存在一个字符串变量`text`中。 接下来,我们可以创建一个`WordCloud`对象,并设置相应的参数。例如,可以设置图的宽度和高度、背景颜色、字体、最大频等。以下是设置一些常用参数的示例代码: ```python wc = WordCloud(width=800, height=400, background_color='white', max_words=50, font_path='msyh.ttc') ``` 然后,将文本数据传递给`WordCloud`对象的`generate`方法,生成图的数据。例如: ```python wc.generate(text) ``` 接着,可以使用`matplotlib`库绘制图。创建一个新的图形并显示图: ```python plt.figure(figsize=(10, 5)) plt.imshow(wc, interpolation='bilinear') plt.axis('off') plt.show() ``` 最后,运行代码,即可绘制图。 需要注意的是,绘制图还可以通过设置`mask`参数来指定图的形状。`mask`可以是一个图片文件,也可以是一个二维数组。例如,可以使用如下代码设置一个心形的图: ```python from PIL import Image # 读取心形图片 heart_mask = np.array(Image.open("heart.png")) # 创建对象,并设置形状为心形 wc = WordCloud(mask=heart_mask, background_color='white', font_path='msyh.ttc') # 绘制图 plt.figure(figsize=(10, 10)) plt.imshow(wc, interpolation='bilinear') plt.axis('off') plt.show() ``` 以上是使用Python绘制图的简要步骤。不同的应用场景可能会有不同的参数设置和数据预处理方式,可以根据实际需要进行相应的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值