关于wordclou的一些简单操作
详细讲解一下怎么用python的三方库wordcloud制作一个关于歌曲《Vincent》的歌词,有特别背景的云词效果,如图所示:

首先的先准备好一张背景图,为了云词效果,可以实现修改一下,为了方便识别:

然后就是歌曲《Vincent》的txt文档,最好将他们放在一起(可以不用写路径),
如果需要输入路径,一定不能有中文!!会无法识别的
然后就直接上代码:
# -*- coding: utf-8 -*-
# @Time : 2018/7/27 18:20
# @Author : wjh
# @File : dpcq_yunci.py
with open('Vincent.txt', 'w', encoding='utf-8') as f:
f.write('''vincent—Starry night Starry starry night
paint your palette blue and grey
look out on a summer's day
with eyes that know the darkness in my soul Shadows on the hills
sketch the trees and the daffodils
catch the breeze and the winter chills
in colors on the snowy linen land And now I understand
what you tried to say to me
and how you suffered for your sanity
and how you tried to set them free
They would not listen
they did not know how
perhaps they'll listen now ''') import os
from wordcloud import WordCloud
from matplotlib import pyplot as plt
from PIL import Image
import numpy as np # 把图片变成矩阵的形式
mask = np.array(
Image.open(
os.path.join(
os.path.dirname(__file__),'景甜-(背景纯).png'))) # 注意修改自己图片的名字 text = open('Vincent.txt', encoding='utf-8').read()
font = 'D:\Python\wordcloud\Hiragino Sans GB.ttc' # 路径不能有中文! wd = WordCloud(font_path=font, # 解决显示口字型乱码问题,
# 可进入D:\Python\wordcloud\Hiragino Sans GB.ttc
# max_font_size=50, #最大字体设置
# max_words=400, # 最大词数
width=800, # 画布宽度
height=400, # 画布高度
margin=1, # 字体之间宽度
mask=mask, # 以该参数值作图绘制词云,
# 这个参数存在时,width和height会被忽略
background_color='black', # 背景颜色
random_state=42, #设置有多少种随机生成状态,即有多少种配色方案
)
wd1 = wd.generate(text) # 将图片以“ceshi.png”文件保存
wd1.to_file('test.png')
# 开始绘制云图
plt.figure()
# 操作:加图片小标题
plt.title('Vincent 云词') # 中文会乱码
# 操作:去掉x,y轴数值
plt.axis('off')
# 操作:显示图片
plt.imshow(wd)
# 展示给用户
plt.show()
编辑器里面显示如图:

代码中关于font的路径文件,是为了显示中文文字,比如用赵雷的《彩虹下面》,用的python标志做的云词图片:

字体包:
关于wordclou的一些简单操作的更多相关文章
- x01.MagicCube: 简单操作
看最强大脑,发现魔方还是比较好玩的,便买了一个,对照七步还原法,居然也能成功还原. 为什么不写一个魔方程序呢?在网上找了找,略作修改,进行简单操作,还是不错的,其操作代码如下: protected o ...
- js简单操作Cookie
贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...
- GitHub学习心得之 简单操作
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本文对Github的基本操作进行了总结, 主要基于以下文章: http://gitre ...
- Linq对XML的简单操作
前两章介绍了关于Linq创建.解析SOAP格式的XML,在实际运用中,可能会对xml进行一些其它的操作,比如基础的增删该查,而操作对象首先需要获取对象,针对于DOM操作来说,Linq确实方便了不少,如 ...
- Linux 中 Vi 编辑器的简单操作
Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi filename //打开或新 ...
- python(pymysql)之mysql简单操作
一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...
- ZooKeeper系列3:ZooKeeper命令、命令行工具及简单操作
问题导读1.ZooKeeper包含哪些常用命令?2.通过什么命令可以列出服务器 watch 的详细信息?3.ZooKeeper包含哪些操作?4.ZooKeeper如何创建zookeeper? 常用命令 ...
- ORACLE的安装与网页版创建表空间的简单操作以及PLsql的简单操作
1.oracle的安装: 安装简单易学,在这里不做解释.下载看装包后耐心等待,注意安装目录不要有中文字符,尽量按照指定目录进行安装.安装完成后会占用有大约5g的内存. 如果要卸载oracle,需要用其 ...
- C#反射技术的简单操作(读取和设置类的属性)
public class A { public int Property1 { get; set; } } static void Main(){ A aa = new A(); Type type ...
随机推荐
- extern_c
(1) 使用extern和包含头文件来引用函数有什么区别呢?extern的引用方式比包含头文件要简洁得多!extern的使用方法是直截了当的,想引用哪个函数就用extern声明哪个函数.这大概是 ...
- 洛谷P1281 书的复制
题目描述 现在要把m本有顺序的书分给k给人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一.第三.第四本书给同一个人抄写. ...
- [转]完整教程--idea使用git进行项目管理
完整教程--idea使用git进行项目管理 第一部分: 安装 1. 下载地址: https://git-scm.com/download/win; 如果速度慢, 使用 迅雷下载; 2. 点击安装, ...
- 【转】Java - printf
[转自]http://heidian.iteye.com/blog/404632 目前printf支持以下格式: %c 单个字符 %d ...
- BZOJ 3456 NTT图的计数 容斥
思路: RT 懒得写了 //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm&g ...
- 【USACO2009 Open】滑雪课程ski
[USACO2009 Open]滑雪课程 Ski Lessons Time Limit: 1000 ms Memory Limit: 131072 KBytes Description 约翰请贝西去科 ...
- Highcharts Highstock 学习笔记 第一篇 Highcharts配置
Highcharts是一款纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达 ...
- Unity学习-工具准备(一)
工具介绍 Unity 4.5.4 VS2013 Visual Studio 2013 Tools for Unity unity3d圣典 五大面板 Hierarchy:场景资源面板 [管理 当前场景 ...
- MYSQL创建用户和授权方法(测试mysql5.7)
一.创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指 ...
- js基础---数据类型转换
js中数据类型: 简单数据类型: number:233,-34,0x23,023 string:"hello"或者'hello' boolean:true.false undefi ...