Python 生成中文词云

豆子无意中发现Python有个现成的模块 word cloud可以根据文本文件生成词云,很好很强大,简单地玩了一把。

写代码之前,首先需要安装3个依赖的Python模块,分别是matplotlib, jieba和wordcloud。这三个模块分别是用来作图,中文分词和生成词云的。安装方式可以直接通过 pip install实现。如果在线安装出现报错(很有可能的事情),那么可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载对应版本和位数的whl文件,然后依然可以通过pip install 来指定下载的文件安装。

下面来看个简单的实例:

首先给我的词云下载一个背景图,到时候生成的图案甚至颜色就是和这个一样的,我随便下载了个小熊的图片

然后随便从新浪网上下载了一条新闻,保存为txt文件

×××:深刻认识建设现代化经济体系重要性
  新华社北京1月31日电中共中央政治局1月30日下午就建设现代化经济体系进行第三次集体学习。中共中央总书记×××在主持学习时强调,建设现代化经济体系是一篇大文章,既是一个重大理论命题,更是一个重大实践课题,需要从理论和实践的结合上进行深入探讨。建设现代化经济体系是我国发展的战略目标,也是转变经济发展方式、优化经济结构、转换经济增长动力的迫切要求。全党一定要深刻认识建设现代化经济体系的重要性和艰巨性,科学把握建设现代化经济体系的目标和重点,推动我国经济发展焕发新活力、迈上新台阶。

  这次中央政治局集体学习,由中央政治局同志自学并交流体会,刘鹤、孙春兰、李希、李强、李鸿忠、陈全国、陈敏尔、×××、蔡奇就这个问题作了重点发言,中央政治局各位同志听取了他们的发言,并就有关问题进行了讨论。

  ×××在主持学习时发表了讲话。他指出,建设现代化经济体系,这是党中央从党和国家事业全局出发,着眼于实现“两个一百年”奋斗目标、顺应中国特色社会主义进入新时代的新要求作出的重大决策部署。国家强,经济体系必须强。只有形成现代化经济体系,才能更好顺应现代化发展潮流和赢得国际竞争主动,也才能为其他领域现代化提供有力支撑。我们要按照建设社会主义现代化强国的要求,加快建设现代化经济体系,确保社会主义现代化强国目标如期实现。

  ×××强调,现代化经济体系,是由社会经济活动各个环节、各个层面、各个领域的相互关系和内在联系构成的一个有机整体。要建设创新引领、协同发展的产业体系,实现实体经济、科技创新、现代金融、人力资源协同发展,使科技创新在实体经济发展中的贡献份额不断提高,现代金融服务实体经济的能力不断增强,人力资源支撑实体经济发展的作用不断优化。要建设统一开放、竞争有序的市场体系,实现市场准入畅通、市场开放有序、市场竞争充分、市场秩序规范,加快形成企业自主经营公平竞争、消费者自由选择自主消费、商品和要素自由流动平等交换的现代市场体系。要建设体现效率、促进公平的收入分配体系,实现收入分配合理、社会公平正义、全体人民共同富裕,推进基本公共服务均等化,逐步缩小收入分配差距。要建设彰显优势、协调联动的城乡区域发展体系,实现区域良性互动、城乡融合发展、陆海统筹整体优化,培育和发挥区域比较优势,加强区域优势互补,塑造区域协调发展新格局。要建设资源节约、环境友好的绿色发展体系,实现绿色循环低碳发展、人与自然和谐共生,牢固树立和践行绿水青山就是金山银山理念,形成人与自然和谐发展现代化建设新格局。要建设多元平衡、安全高效的全面开放体系,发展更高层次开放型经济,推动开放朝着优化结构、拓展深度、提高效益方向转变。要建设充分发挥市场作用、更好发挥政府作用的经济体制,实现市场机制有效、微观主体有活力、宏观调控有度。以上几个体系是统一整体,要一体建设、一体推进。我们建设的现代化经济体系,要借鉴发达国家有益做法,更要符合中国国情、具有中国特色。

  ×××指出,建设现代化经济体系,需要扎实管用的政策举措和行动。要突出抓好以下几方面工作。一是要大力发展实体经济,筑牢现代化经济体系的坚实基础。实体经济是一国经济的立身之本,是财富创造的根本源泉,是国家强盛的重要支柱。要深化供给侧结构性改革,加快发展先进制造业,推动互联网、大数据、人工智能同实体经济深度融合,推动资源要素向实体经济集聚、政策措施向实体经济倾斜、工作力量向实体经济加强,营造脚踏实地、勤劳创业、实业致富的发展环境和社会氛围。二是要加快实施创新驱动发展战略,强化现代化经济体系的战略支撑,加强国家创新体系建设,强化战略科技力量,推动科技创新和经济社会发展深度融合,塑造更多依靠创新驱动、更多发挥先发优势的引领型发展。三是要积极推动城乡区域协调发展,优化现代化经济体系的空间布局,实施好区域协调发展战略,推动京津冀协同发展和长江经济带发展,同时协调推进粤港澳大湾区发展。乡村振兴是一盘大棋,要把这盘大棋走好。四是要着力发展开放型经济,提高现代化经济体系的国际竞争力,更好利用全球资源和市场,继续积极推进“一带一路”框架下的国际交流合作。五是要深化经济体制改革,完善现代化经济体系的制度保障,加快完善社会主义市场经济体制,坚决破除各方面体制机制弊端,激发全社会创新创业活力。(完)

责任编辑:张建利

Python 代码

from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator

d = path.dirname(__file__)

# Read the whole text.
text = open(path.join(d, ‘xidada.txt‘),encoding=‘utf-8‘).read()

import jieba

# 结巴分词
wordlist = jieba.cut(text, cut_all=True)
wl = " ".join(wordlist)
print(wl)#输出分词之后的txt

coloring = np.array(Image.open(path.join(d, "bear.jpg")))

# 设置停用词
# stopwords = set(STOPWORDS)
# stopwords.add("said")

# 你可以通过 mask 参数 来设置词云形状
wc = WordCloud(background_color="white", max_words=2000, mask=coloring,
                max_font_size=50, random_state=42,font_path=‘fangsong_GB2312.ttf‘)

wc.generate(wl)

# create coloring from image
image_colors = ImageColorGenerator(coloring)

# show
# 在只设置mask的情况下,你将会得到一个拥有图片形状的词云
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.figure()
plt.show()

效果图

原文地址:http://blog.51cto.com/beanxyz/2067644

时间: 2024-07-30 07:49:24

Python 生成中文词云的相关文章

[python] 词云:wordcloud包的安装、使用、原理(源码分析)、中文词云生成、代码重写

词云,又称文字云.标签云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思.常见于博客.微博.文章分析等. 除了网上现成的Wordle.Tagxedo.Tagul.Tagcrowd等词云制作工具,在python中也可以用wordcloud包比较轻松地实现(官网.github项目): from wordcloud import WordCloud import matplotlib.pyplot as pl

生成中英文词云

利用简单的python第三方库wordcloud,方便快捷的生成一个中文词云,利于快速浏览文章内容.其中jieba库为一个常用的中文分词库 import wordcloud import jieba from imageio import imread mask = imread("五角星.png") f = open("2019政府工作报告.txt","r",encoding="utf-8") t = f.read() f.

python(wordcloud)实现中文词云

# 这是一个处理图像的函数from scipy.misc import imreadfrom wordcloud import WordCloud,STOPWORDS,ImageColorGeneratorimport matplotlib.pylab as plt # 解析图片back_color = imread("./veer-141001498.png")# 设置字体路径font = "C:\Windows\Fonts\STXINGKA.TTF"wc = W

用QQ聊天记录生成一个词云

QQ的聊天记录可以通过消息管理器,选中联系人,右键导出为 .txt 格式.由于是中文,需要分词,本文的分词工具采用的是 jieba 分词. 不知道这个“福”能不能扫出来. 假设你已经导出与某人的聊天记录,接下来需要先过滤再分词生成词云. 1. 过滤掉图片和表情,以及聊天记录的时间和qq名称 newtext = [] for word in open('lr.txt', 'r', encoding='utf-8'): tmp = word[0:4] if (tmp == "2019" o

用Python玩转词云

第一步:引入相关的库包: #coding:utf-8 __author__ = 'Administrator' import jieba #分词包 import numpy #numpy计算包 import codecs #codecs提供的open方法来指定打开的文件的语言编码,它会在读取的时候自动转换为内部unicode import pandas import matplotlib.pyplot as plt %matplotlib inline from wordcloud import

Python 中文文件统计词频 + 中文词云

1. 词频统计: 1 import jieba 2 txt = open("threekingdoms3.txt", "r", encoding='utf-8').read() 3 words = jieba.lcut(txt) 4 counts = {} 5 for word in words: 6 if len(word) == 1: 7 continue 8 else: 9 counts[word] = counts.get(word,0) + 1 10 it

python生成中文验证码,带旋转,带干扰噪音线段

# -*- coding: utf-8 -*- """ Created on Sun Oct 4 15:57:46 2015 @author: keithguofan """ import random from PIL import Image,ImageDraw,ImageFont import math,string class RandomChar(): @staticmethod def Unicode(): val = random.

Python 分词及词云绘图

支持三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析:全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义:搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词. 关键词:HMM 隐马尔可夫模型 三种分词模式: # -*- coding: utf-8 -*- import jieba #jieba.initialize() seg_list = jieba.cut("中华人民共和国万岁!", cut_all=False

将QQ聊天记录创建为词云

1. 导出并清洗qq聊天记录 将qq聊天记录从电脑版qq导出 去掉聊天中的图片表情以及时间戳 具体代码如下: def Pretreatment(): with open("未处理的聊天记录文件路径","r") as readfile: with open("处理后的聊天记录文件路径","at") as writefile: while True: line = readfile.readline() if line is ''