Python词云wordcloud库不显示中文

博主之前在项目中发现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.mzph.cn/news/608309.shtml

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

相关文章

工业数据采集分析——工厂大脑 提升综合经济效益

随着企业对数字化的认知越来越清晰,对工业数智化的战略越来越明确,企业的诉求也在发生转变。中国的工业企业经过近几十年的发展,自动化、信息化,以及一些基础的数据系统建设在不同的行业中慢慢地推进。近几年,工业企业…

STM32CubeMX配置STM32G031多通道UART+DMA收发数据(HAL库开发)

时钟配置HSI主频配置64M 配置好串口&#xff0c;选择异步模式 配置DMA TX,RX,选择循环模式。 NVIC中勾选使能中断 勾选生成独立的.c和h文件 配置好需要的开发环境并获取代码 串口重定向勾选Use Micro LIB main.c文件修改 增加头文件和串口重定向 #include <string.h&g…

C++ 基本字符转换

宽字符和窄字符的概念 宽字符和窄字符是与字符编码相关的概念&#xff0c;通常在处理多语言字符时会涉及到这些概念。 窄字符&#xff08;Narrow Character&#xff09;&#xff1a; 窄字符通常指的是单字节字符&#xff0c;使用单个字节来表示一个字符。在ASCII编码中&#…

第三节课作业

复现&#xff1a; 对mmagic的理解

【算法每日一练】- 今天回顾一下写过的最蠢的代码 #旅游买票 竞争主席 #哨兵游戏 #最大边权和

目录 今日知识点&#xff1a; 整体考虑&#xff0c;把问题转化成装大于一半的背包问题 两两点匹配问题&#xff0c;注意去重方式的dfs的写法 旅游买票 竞争主席 哨兵游戏 最大边权和 旅游买票 318C&#xff1a;要旅游n天&#xff0c;一共有两种选择&#xff0c;一种是买…

Vue3-44-Pinia- 安装步骤

介绍 本文介绍 在 vue3 中 安装 Pinia 的步骤 安装步骤 1、npm 安装 npm install pinia》 安装完成后可以看到 package.json 中添加了 pinia 的依赖信息 2、main.ts 中配置 // 引入 vue实例创建方法 import { createApp } from vue// 引入pinia import { createPinia } fro…

1. Logback介绍

Logback介绍 Logback旨在成为流行的log4j项目的继任者。它由Ceki Glc设计&#xff0c;他是log4j的创始人。它基于十年在设计工业级日志系统方 面的经验。结果产品&#xff0c;即logback&#xff0c;比所有现有的日志系统更快&#xff0c;具有更小的占用空间&#xff0c;有时差距…

C++ Web框架Drogon初体验笔记

这段时间研究了一下C的Web框架Drogon。从设计原理上面来说和Python的Web框架是大同小异的&#xff0c;但是难点在于编译项目上面&#xff0c;所以现在记录一下编译的过程。下面图是我项目的目录。其中include放的是头文件&#xff0c;src放的是视图文件&#xff0c;static放的是…

函数战争(栈帧)之创建与销毁(c语言)(vs2022)

首先&#xff0c;什么是函数栈帧&#xff1f; C语言中&#xff0c;每个栈帧对应着一个未运行完的函数。栈帧中保存了该函数的返回地址和局部变量。栈帧也叫过程活动记录&#xff0c;是编译器用来实现过程函数调用的一种数据结构。 以问答的方式解释编译器与解释器-CSDN博客htt…

了解ASP.NET Core 中的文件提供程序

写在前面 ASP.NET Core 通过文件提供程序来抽象化文件系统访问。分为物理文件提供程序(PhysicalFileProvider)和清单嵌入的文件提供程序(ManifestEmbeddedFileProvider)还有复合文件提供程序(CompositeFileProvider )&#xff1b;其中PhysicalFileProvider 提供对物理文件系统…

Hyperledger Fabric Peer 配置解析

文中使用的 fabric 版本为 2.4.1 在 Fabric 网络中&#xff0c;用户可以设定 Peer 节点、排序节点、CA 节点的行为&#xff0c;以及管理通道、组织身份等多种资源&#xff0c;这都涉及网络内配置。 Fabric 节点在启动时可通过加载本地配置文件或环境变量等方式获取配置信息&am…

智数融合|低代码入局,推动工业数字化转型走"深"向"实"

当下&#xff0c;“数字化、智能化”已经不再是新鲜词汇。事实上&#xff0c;早在几年前&#xff0c;就有企业开始大力推动数字化转型&#xff0c;并持续进行了一段时间。一些业内人士甚至认为&#xff0c;“如今的企业数字化已经走过了成熟期&#xff0c;进入了深水区。” 但事…

加密流量分析的过程

1. 流量收集 什么是流量收集 流量采集是指在计算机网络中收集和记录网络流量数据的过程。这一过程通常由网络管理员、安全专业人员、网络分析师或研究人员使用特定工具和技术来执行。流量采集对于理解网络性能、进行故障排除、进行安全监控和进行网络分析都非常重要。 流量收…

【算法Hot100系列】下一个排列

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

java字符串常用方法day02

StringBuilder类 由于String是不变对象,每次修改内容都要创建新对象,因此String不适合做频繁修改操作.为了解决这个问题,java提供了StringBuilder类. package string;/*** 频繁修改字符串带来的性能损耗.*/ public class StringDemo2 {public static void main(String[] args…

openGauss系新增市场份额达21.9%,跨越生态拐点

[中国&#xff0c;北京&#xff0c;2023年12月28日] 以“汇聚数据库创新力量&#xff0c;打造千行万业数据基石”为主题的openGauss Summit 2023在北京望京凯悦酒店举办。本次大会由国家工业信息安全发展研究中心软件所、中国软件行业协会、中国计算机学会数据库专业委员会指导…

DDL关于数据库和表操作的语法

1. DDL-数据库操作 &#xff08;1&#xff09;SHOW DATABASES ; (查看当前有哪些数据库 &#xff08;2&#xff09;CREATE DATABASES 数据库名; (创建数据库的语法 &#xff08;3&#xff09;USE 数据库名; (切换到某个数据库 &#xff08;4&#xff09;SEL…

safari缓存清理

safari缓存清理 点击顶端Safari浏览器–>点击偏好设置 点击隐私–>管理网站数据 全部移除

python系列教程218——生成器表达式

朋友们&#xff0c;如需转载请标明出处&#xff1a;https://blog.csdn.net/jiangjunshow 声明&#xff1a;在人工智能技术教学期间&#xff0c;不少学生向我提一些python相关的问题&#xff0c;所以为了让同学们掌握更多扩展知识更好地理解AI技术&#xff0c;我让助理负责分享…

python筛选数据库中表的数量

import pymysqldb pymysql.connect(host,port,user,password) cursor db.cursor()def get_table_list(in_db, in_table_name):"""获取数据库中的表数量"""sql fshow tables from {in_db};cursor.execute(sql)data cursor.fetchall()table_li…