Python实战11——爱心词云

这个程序实现的效果是能用你在代码中写入的图片名做成一个跟写入的图片对应的一个词云(是新创造出一个文件夹),是要用到第三方库的。

安装第三方库步骤如下:

 效果:

 

Python源代码如下:

import jieba
import imageio
from wordcloud import WordCloud
file = open('文本.txt','r',encoding='utf-8')
f = file.read()
print(f)
file.close()
data = jieba.lcut(f)
print(data)
d = {}
for i in data:
    if i not in d:
        if len(i) >= 2:
            d[i] = 1
    else:
        d[i] = d[i] + 1
print(d)
img = imageio.imread('路飞.jpg')
wc = WordCloud(
    font_path="simsun.ttf",
    background_color="blue",
    mask=img
)
wc.generate_from_frequencies(d)
wc.to_file('路飞词云图.png')

 

### 如何用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、付费专栏及课程。

余额充值