520 | 程序员10分钟硬核表白教程!

栏目: Python · 发布时间: 5年前

内容简介:今天,是“520”也是传说中的“表白日”。

520 | 程序员10分钟硬核表白教程!

今天,是“520”

也是传说中的“表白日”。

Love makes the world go round !

忙于Coding(sheng fa)的 程序员 们    

苦于如何表白?!

没关系,我们已经帮你想好了!

今天来点程序员的硬核技能——

Python 为Ta定制专属“词云”! 

:musical_note: 听首歌~让我们带着愉悦的心情,一起来准备“表白”吧!)

“词云”的制作远没有大家想象中的那么难。

不论你有没有学过Python,相信我!就算是文科生,也是可以按照以下步骤完成操作的!

01

环境准备

软件环境:Anaconda3.5(下载链接可后台回复“Anaconda”)
系统:macOS
文本:jdcdeve.txt

图片:heart.jpg

主要包:jieba、wordcloud

☞. 打开Anaconda,然后选择Jupyter:

520 | 程序员10分钟硬核表白教程!

☞.点击New按钮,新建一个笔记本(Notebook)。在Notebook里选择Python3选:

520 | 程序员10分钟硬核表白教程!

☞. 安装wordcloud 和 jieba 两个库只要在命令行输入以下代码即可:

1pip install wordcloud
2pip install jieba

02

代码分析

接下来,就可以输入以下代码来进行词云生成了:

 1 from os import path
 2 from PIL import Image
 3 import numpy as np
 4 import matplotlib.pyplot as plt
 5 import os
 6 import chardet
 7 import jieba
 8
 9
10from wordcloud import WordCloud, STOPWORDS
11from pip._vendor.pyparsing import WordStart
12
13# 获取当前项目文件的路径
14d = path.dirname(__file__) if "__file__" in locals() else os.getcwd()
15fontpath='SourceHanSerifK-Light.otf'
16
17# 读取要分析的文本
18text = open(path.join(d, 'jdcdeve.txt'), 'r', encoding='UTF-8').read()
19words = jieba.lcut(text)
20cuted  = ' '.join(words)
21
22# 读取背景图,进行分词
23heart_mask = np.array(Image.open(path.join(d, "heart.jpg")))
24
25stopwords = set(STOPWORDS)
26
27wc = WordCloud(font_path=fontpath, background_color="white", max_words=10000, mask=heart_mask,stopwords=stopwords, colormap = "RdBu")
28
29# 生成词云
30wc.generate(cuted)
31
32# 保存文件
33wc.to_file(path.join(d, "result.png"))
34
35# 画图云,显示
36plt.imshow(wc, interpolation='bilinear')
37plt.axis("off")
38plt.figure()
39plt.imshow(heart_mask, cmap=plt.cm.gray, interpolation='bilinear')
40plt.axis("off")
41plt.show()

输入完毕后,shift+enter键就可以看到结果啦!

(注:字体颜色的更换可参考 http://www.sthda.com/english/wiki/word-cloud-generator-in-r-one-killer-function-to-do-everything-you-need)

03

结果输出

如果 想要将生成图片中的文字换成心爱的Ta或你们共同的回忆,只需要在初始文本(如:jdcdeve.txt)里疯狂输入你想要呈现的文字,就能在最后生成图中出现了哦!

520 | 程序员10分钟硬核表白教程!

最后!

在这个特殊的日子,我们也要跟你表白一波!

感谢开发者们对“京东云开发者社区”一直的支持!

希望大家都可以有人爱,且有爱人!!!

X.O.X.O~

520 | 程序员10分钟硬核表白教程!

:angel::angel::angel:

如果你还没到表白的阶段,也没关系!

让Ta开心,一定没错!

↓↓↓

世界微笑日 | 我们是!可以让你笑到合不上嘴的程序员

520 | 程序员10分钟硬核表白教程!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法详解(卷1)——算法基础

算法详解(卷1)——算法基础

[美]蒂姆·拉夫加登(Tim Roughgarden) / 徐波 / 人民邮电出版社 / 2019-1-1 / 49

算法是计算机科学领域最重要的基石之一。算法是程序的灵魂,只有掌握了算法,才能轻松地驾驭程序开发。 算法详解系列图书共有4卷,本书是第1卷——算法基础。本书共有6章,主要介绍了4个主题,它们分别是渐进性分析和大O表示法、分治算法和主方法、随机化算法以及排序和选择。附录A和附录B简单介绍了数据归纳法和离散概率的相关知识。本书的每一章均有小测验、章末习题和编程题,这为读者的自我检查以及进一步学习提......一起来看看 《算法详解(卷1)——算法基础》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码