关于matplotlib实现词云图提出问题

需求:在不使用wordcloud第三方包的情况下,如何使用matplotlib实现词云图的绘制?

当前进度如下:

一、实现了简单的分词

二、实现了词数统计

三、实现了使用scatter散点图将词、数量呈现在了同一张画布中

未实现的地方:

词云图如何像当前wordcloud中那样呈现出来,当前呈现出来的结果看起来会有一些死板,而且显示不符合当前的视图逻辑,也许是先入为主观念造成的,但是直接使用散点图成图的结果看起来确实有一些不够直接,否则直接绘制散点图即可,或者绘制直方图即可,就没有必要绘制词云图。从功能上讲,或者说从表达信息上讲,词云图相对于直方图而言,确实是有信息缺失,但是也不能否认词云图本身直观的特点,因为大多数看词云图的人,可能会希望更直接一些。所以就还是可以再深入研究一下。基础的做图方法其实差不了太多,尤其是图来讲,永远抓住点线面即可,因为其核心就还是由这三个维度所构成。

world = open('./temp.txt','r',encoding='utf-8').read().split('\n')
# print(world)
world_num = {}
for i in range(len(world)):
    if world[i] not in world_num.keys():
        world_num[world[i]] = 1
    else:
        world_num[world[i]] += 1
x = [i for i in range(1,len(world_num)+1)]
y = list(world_num.values())
num = list(world_num.keys())
plt.scatter(x,y,s=[k*100 for k in y])
for a,b,c in zip(x,y,num):
    plt.text(a,b,c)
plt.ylim(1,10)
plt.show()

上述代码成图如下:

  

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值