python 中文乱码_用python实现一个优雅的词云(续)

43e33b98820597ba00e249c3209c4f03.png c2a3f423105557f6034cea0265ac2ee6.png 869acad09fc1bd513f2ac0fc0df7cde8.png

点击上方 蓝字关注我们

536e0e059b5aba79ebe0cd3fb4f8692b.png 昨天我们简单了解了一下python词云以及在通过实例完成了一个简单的词云。有兴趣的小伙伴可以参考 用python实现一个优雅的词云 今天我们就来说说python词云在中文这块的应用,来看看他们到底区别在哪里? 1.我们首先来使用昨天的代码换成中文文本来测试。

0ee296dfbf4593b46d4e000f0fed2548.png

可以看出我们得到的并非我们想要的,而是一张乱码的词云图。

5f02c42fbe243e0e6c475fb6ada6ddad.png

这是为什么呢? 原因很简单!这是因为 WordCloud 默认不支持中文的缘故,我们需要设置一个可以支持中文的字体,我们将代码修改为如下:

936f7e0c29e53f767998dd91afdf11fc.png

可以看到相比于之前的乱码,现在文本显示已经没有问题了。 但是新的问题来了,我们要的是词云,这个好像是句云啊?

e9dde5e7ad0233948af0927a3b88a7d1.png

对,你看的没有错!所以我们现在需要给这些句子分词,然后生成我们想要的'词云图',而非'句云图',这时就需要用到我们的jieba分词模块了。

咱们先来简单了解一下jieba分词: jieba 分词的作用就是用来讲句子中可能是词语的部分分割出来,它的分割模式有三种,分别是全模式、精确模式和搜索引擎模式。 1.安装jieba分词模块
pip install jieba
2.我们这里了解一下精确模式:

b242b554a27d77f1c26e281a679d5cac.png

看一下输出结果:
也许 有些 路 好 走 是 条 捷径 , 也许 有些 路 可以 让 你 风光 无限 , 也许 有些 路 安稳 又 有 后路 , 可是 那些 路 的 主角 , 都 不是 我 。至少 我会 觉得 , 那些 路 不是 自己 想要 的
3.分词没问题了咱们结合刚才使用的wordcloud生成一个新的词云图。

2438d93938df2e4f6ab4f5c089b0ac15.png

来看看这次的效果,完美词云图

6a409307b0f1df4c096e1ef624cf417b.png

可以看得出会使用结巴分词工具后我们可以生成更为复杂的词云了。

但是我还有进一步的需求,我想根据图片的颜色生成不同的词云图片颜色,这个咋整?

获取图形颜色非常简单,我们只需要创建一个 ImageColorGenerator 对象就可以了

7974bf21344ef78046aa8fb859136cda.png

然后我们再来写一下,这里以我喜欢的出师表为例! 然后你可选择一个自己喜欢的带颜色的图片。

e1d716ed25b10914560cf2941f9f126e.png

来看看生成的带颜色的词云图

d0d7d5201bd5e0d14ca96fe2350a196e.png

大家可以使用其它素材尝试一下。 怎么样?如你所愿吗? 2e6ba4b3c5d476bb06f71f88addaa5af.png

点点在看行不行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值