爱心 python 词云_Python词云

from PIL import Image

from wordcloud import WordCloud, ImageColorGenerator

import matplotlib.pyplot as plt

import numpy as np

import jieba

def GetWordCloud():

#文字

path_txt = 'H:\\wechat\\all3.txt'

#基图

path_img = "H:\\wechat\\all.jpg"

f = open(path_txt, 'r', encoding='UTF-8').read()

background_image = np.array(Image.open(path_img))

# 结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云,感兴趣的朋友可以去查一下,有多种分词模式

# Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

cut_text = " ".join(jieba.cut(f))

wordcloud = WordCloud(

# 设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的

font_path="C:/Windows/Fonts/simfang.ttf",

background_color="white",

# mask参数=图片背景,必须要写上,另外有mask参数再设定宽高是无效的

mask=background_image).generate(cut_text)

# 生成颜色值

image_colors = ImageColorGenerator(background_image)

# 下面代码表示显示图片

plt.imshow(wordcloud.recolor(color_func=image_colors), interpolation="bilinear")

plt.axis("off")

plt.show()

if __name__ == '__main__':

GetWordCloud()

### 如何用Python生成心形图 为了创建一个心形,需要准备聊天记录文本文件,并确保已安装所需的。可以通过以下命令来安装必要的 Python [^2]: ```bash pip install wordcloud matplotlib Pillow numpy ``` 接下来定义绘制心形的具体实现方法。首先导入所需模块并读取聊天记录文本数据。 ```python import numpy as np from PIL import Image from wordcloud import WordCloud, STOPWORDS import matplotlib.pyplot as plt # 加载自定义停用表(可选) stopwords = set(STOPWORDS) # 读入聊天记录文本 text = open('chat_records.txt', 'r').read() ``` 接着构建心形掩码图像,这一步骤对于形成最终的心形图案至关重要。 ```python def create_heart_mask(size=(800, 900)): """ 创建心形蒙版 """ x = np.linspace(-1, 1, size[0]) y = np.linspace(-1.5, 1.5, size[1]) X, Y = np.meshgrid(x, y) heart_shape = (X ** 2 + Y ** 2 - 1) ** 3 - X ** 2 * Y ** 3 <= 0 mask = np.zeros((size[1], size[0])) mask[heart_shape] = 255 return mask.astype(np.uint8) mask = create_heart_mask() # 将numpy数组转换为PIL图像对象以便于后续操作 img_coloring = np.array(Image.fromarray(mask).convert('RGB')) ``` 最后设置 `WordCloud` 参数并将结果可视化。 ```python wc = WordCloud( background_color="white", # 设置背景颜色,默认黑色 max_words=2000, # 显示的最大语数量 mask=mask, # 使用自定义图形作为遮罩层 stopwords=stopwords, # 去除无意义的常用字 contour_width=3, # 绘制轮廓宽度 contour_color='red' # 轮廓线条的颜色 ) # 生成 wc.generate(text) plt.figure(figsize=(10, 10)) plt.imshow(wc, interpolation='bilinear') plt.axis("off") # 关闭坐标轴显示 plt.show() # 展示图片 ``` 通过上述代码片段能够成功地基于给定的文字资料生成具有心形外观特征的频统计图表[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值