Python词云wordcloud库不显示中文

news2024/11/16 16:40:52

博主之前在项目中发现Python的词云库wordcloud显示的都是方框,别担心,我有一个妙招让你的中文词云变得美观又清晰!

问题

wordcloud是一个基于python的词云生成库,它可以让你用简单的代码创建出各种形状和颜色的词云图像。

wordcloud的github地址:https://github.com/amueller/word_cloud

wordcloud默认是不支持中文显示的

  • 首先我们安装wordcloud
pip install wordcloud

当做好数据预处理操作画词云图时

wc = WordCloud(collocations=False, width=1400, height=1400, margin=2).generate(text.lower())

当数据中有中文数据画图会出现以下情况:

在这里插入图片描述
这是因为使用的字体不能支持中文

解决方案

解决方法是使用一个能够支持中文的字体。wordcloud有个专门设置字体的参数:

font_path : string #字体路径,需要展现什么字体就把该字体路径+后缀名写上,如:font_path = '黑体.ttf'

我们把font_path属性加上,再用纯中文的数据集测试。下面的代码是在Windows下安装的jupyterbook测试。

解决代码

# 源数据太长只截取了一小段
st = 'Silent Angel期待您的光临,共赏美好的声音!Silent Angel期待您的光临,共赏美好的声音!这只HD650在1k的失真左声道是右声道的6倍左右,也超出官方规格参数范围(0.05%),看来是坏了达音科 17周年 倒是数据最好看,而且便宜bose,beats,apple的消費者根本不知道有曲線的存在不错的数据我觉得任何人都可以明确分别高端耳机之间的区别,不用出声都可以,毕竟佩戴感不一样,这还没法做到盲听听出区别是一方面,听出高低的层次要求就更高了。有没有人能从10条电源线里,听出最贵的是哪条?二级银耳朵,对号入座下一般来说所谓“发烧友”起步应该是铜耳朵这个级别,达不到的话就别在HIFI上浪费钱了,入门级产品玩玩就可以了。我觉得器材到一定级别,搭配好了,达到听出来线材区别是一件非常容易的事情。不知老大是哪个级别的自我定位一下,算个铜耳朵吧不是还要能分辩水电,火电和核电的吗。 能分辨这个的是什么耳朵看了下最多到一级银耳朵顶天了。但 mp3 和无损不一定能听出来。银耳飘过。。。'
st = jb.lcut(st)
st  =  '/'.join(st)
wordcloud = WordCloud(collocations=False,font_path='msyh.ttc', width=1400, height=1400, margin=2).generate(st)
# 显示图片 
plt.imshow(wordcloud) 
plt.axis('off')
plt.show()

完美解决

在这里插入图片描述

使用其他中文字体

github有个Adobe开源的支持中文的字体库:

https://github.com/adobe-fonts

如果想显示其他中文字体,可以去字体库中下载,font_path属性后填为本地保存地址绝对路径即可,具体代码例如下:

font = r'C:\Windows\Fonts\simfang.ttf'
wc = WordCloud(collocations=False, font_path=font, width=1400, height=1400, margin=2).generate(text.lower())

包含词云图的成熟项目

博主目前也整理了很多前期做过的毕设项目,如果不想自己动手简单下载配置环境修改的同学可以看下。

手把手教你:电影数据分析与可视化系统

手把手教你:基于Django的新闻文本分类可视化系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1369045.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

qt初入门2:qt选择一个文件或者目录,获取当前目录,操作文件目录等整理

最近用qt操作文件或者目录的动作比较多,简单整理一下常用的接口,方便回顾。 总的来说,其实就是用文件选择对话框QFileDialog类,以及操作文件信息的QFileInfo类,以及相关QCoreApplication中静态成员函数获取一些信息&a…

js(JavaScript)数据结构之数组(Array)

什么是数据结构? 下面是维基百科的解释: 数据结构是计算机存储、组织数据的方式。数据结构意味着接口或封装:一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装。 我们每天的编码中都会…

有关“修改地址”的回复话术大全

类型一:不能改地址 1.亲非常抱歉 这边发货后客服就没法帮您操作修改地址了 2.非常遗憾,订单一旦下单完成 地址是无法进行修改的。如果您这边需要修改地址的话也是可以尝试去和这个物流方进行协商的哦,这边没有修改的按钮没法操作的 3.抱歉呢亲亲。修改…

CentOS服务器之间免密登录和传输文件

使用过 Jenkins 的同学都知道,Jenkins 会在远程服务器上执行一些命令,如:cd /home/wwwroot/ && git pull,这时候就需要在 Jenkins 服务器上配置免密登录,以及在远程服务器上配置免密登录,这样才能实…

vue 自定义网页图标 favicon.ico 和 网页标题

效果预览 1. 添加配置 vue.config.js 在 module.exports { 内添加 // 自定义网页图标pwa: {iconPaths: {favicon32: "./favicon.ico",favicon16: "./favicon.ico",appleTouchIcon: "./favicon.ico",maskIcon: "./favicon.ico",msTil…

为什么选择嬴图?

图数据库、图计算、图中台都是用图论的方式去构造实体间的关联关系,实体用顶点来表达,而实体间的关系用边来表达。图数据库的这种简洁、自由、高维但100%还原世界的数据建模的方式让实体间的关联关系的计算比SQL类的数据库高效成千上万倍。 图&#xff1…

互联网外包公司干了2个月,技术退步明显了.......

先说一下自己的情况,本科毕业,18年通过校招进入南京某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能…

cosmos及特定应用程序的区块链

特定应用程序的区块链,简单来说,一个区块链就是一个专门的应用程序。为了实现某一特定的去中心化应用而专门实现一个区块链。 传统的用智能合约构建去中心化应用不行吗? 灵活性不足:智能合约本质上受到虚拟机本身的限制。例如,以…

详解Oracle数据库的启动

Oracle数据库的启动,其概念可参考Overview of Instance and Database Startup。 其过程可参见下图: 当数据库从关闭状态进入打开数据库状态时,它会经历以下阶段。 阶段Mount状态描述1实例在没有挂载数据库的情况下启动实例已启动&#xff…

【STM32F103】RCC复位和时钟控制

前言 之前介绍外设的时候总是没有提到RCC,但其实我们使用STM32的外设之前都需要做的一步就是打开外设时钟。原本想着没什么可说的,就是用什么外设的时候就在开头加一行代码打开外设时钟就好了。直到最近写到了TIM定时器,我才开始觉得应该说一…

scipy-interpolate整理

文章目录 scipy-interpolate整理Univariate interpolation 单变量插值Multivariate interpolation 多元插值Unstructured data 非结构化数据::For data on a grid 对于网格上的数据::Tensor product polynomials 张量积多项式:: 1-D Splines …

Python(33):数据断言(查询数据库数据和插入数据对比)

Python(33):数据断言(查询数据库数据和插入数据对比) 前言: 需求:需要针对查询数据库数据和插入的数据进行对比,用Python语言进行编写 数据库查询的结果可参考:https://blog.csdn.net/fen_fen/article/details/135462484 1、查…

java解析json复杂数据的两种思路

文章目录 一、原始需求二、简单分析三、具体实现一1. api接口2. 接口返回3. json 数据解析1.)引入Jackson库2.)定义实体3.)解析json字符串4.)运行结果 4. 过程分析 四、具体实现二1. 核心代码2.运行结果 五、方案比较六、源码传送…

Python 自学(七) 之面向对象

目录 1. 类的初始化函数 __init__ P186 2. 动态的为类和对象添加属性 P190 3. 类的访问限制 __xxx P192 4. 类的继承及方法重写 P197 1. 类的初始化函数 __init__ P186 每当创建一个类的实例时,__init__都会被执…

C#高级 10 Linq操作

1.Linq操作介绍 Linq操作是C#集成的类似于数据库语言的操作,是通过将数据库的表名映射为类,把数据库的列名映射为属性。 Linq查询主要分为3类:Linq to object(数组、list集合) --内存里面的数据 Linq to sql(查询数据库用的) --在数据库数据…

告别冗余空白,批量删除空白行

你是否遇到过这样的尴尬情况:花费了大量时间整理的文档,却在最后发现其中充斥着无用的空白行,这些多余的空行不仅影响美观,还让整个文档显得杂乱无章。今天,我要给大家介绍一款强大且实用的工具——首助编辑高手&#…

Go采集1688网站数据对比商品价格

最近看了下多多和1688的一些商品价格,发现好多店铺都是无货源拿货一件发货,这就导致层层叠加价格翻了不知道几倍,真所谓多花钱办的事还是一样,因此,今天我就通过一个爬虫程序监控对应商品价格,了解行业龙头…

Java 最小优先队列API设计与实现

Java 学习面试指南:https://javaxiaobear.cn 最小的元素放在数组的索引1处。每个结点的数据总是小于等于它的两个子结点的数据。 1、API设计 类名MinPriorityQueue构造方法MinPriorityQueue(int capacity):创建容量为capacity的MinPriorityQueue对象成员…

Oracle11.2.0.4从RMAN备份中快速恢复单个表的方法

文章目录 前言一、查询所要恢复的表所涉及的表空间二、创建用于恢复的数据库三、恢复步骤1.恢复控制文件2.修改redo日志名称3.表空间恢复4.表空间recover5.查询数据 前言 由于用户误操作导致某表中的数据错乱,导致业务不能正常使用,现需要将该表恢复到一…

国家数据局——《“数据要素×”三年行动计划(2024—2026年)》

为深入贯彻党的二十大和中央经济工作会议精神,充分发挥数据要素乘数效应,赋能经济社会发展,近日,国家数据局会同中央网信办、科技部、工业和信息化部、交通运输部、等部门联合印发《“数据要素”三年行动计划(2024—20…