本帖最后由 wangyong 于 2021-3-5 16:29 编辑

使用集搜文本分析工具导出的分析结果只有原始的情感分析文本结果,要怎样对这些原始数据进行可视化操作呢?
下面就以电影《唐人街探案3》的豆瓣影评为例,来介绍使用juypter notebook来做情感分布图

情感分析_20210305110258496.zip (43.18 KB, 下载次数: 2)
举报 使用道具
| 回复

共 8 个关于本帖的回复 最后回复于 2021-3-15 16:42

沙发
wangyong 版主 发表于 2021-3-5 14:40:20 | 只看该作者
本帖最后由 wangyong 于 2021-3-5 14:46 编辑

准备程序环境和数据
  1. import pandas as pd
  2. import os
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5. from pylab import *
  6. # 打开文件
  7. plt.rcParams['font.sans-serif']=['SimHei']
  8. data_dir = os.path.join(os.getcwd(), '..\\..\\data\\raw')
  9. file_word_freq = 'D:/09project/data/raw/情感分析_20210305110258496.xlsx';
  10. # 数据统计
  11. df_word_freq = pd.read_excel(os.path.join(data_dir, file_word_freq));
  12. df_word_freq_groupby = df_word_freq.groupby(["情感倾向"], as_index=True)['情感倾向'].count()
  13. df_word_freq_groupby
复制代码

执行上述代码就可以统计出情感倾向分别的数量
举报 使用道具
板凳
wangyong 版主 发表于 2021-3-5 14:47:07 | 只看该作者
  1. #%%画饼图
  2. %matplotlib auto
  3. df_word_freq_groupby.plot.pie(subplots=True)
复制代码
执行上述代码就可以看到情感分布图了

举报 使用道具
地板
Fuller 管理员 发表于 2021-3-5 14:59:09 | 只看该作者
wangyong 发表于 2021-3-5 14:47
执行上述代码就可以看到情感分布图了


%matplotlib auto这一句是什么意思?
举报 使用道具
5#
wangyong 版主 发表于 2021-3-5 15:12:12 | 只看该作者
本帖最后由 wangyong 于 2021-3-5 15:16 编辑
Fuller 发表于 2021-3-5 14:59
%matplotlib auto这一句是什么意思?

加上这句可以弹出一个单独的绘图窗口,可以对图片缩放和保存,和在pycharm中的效果一样

在notebook中使用plt绘图共有三种模式:

%matplotlib inline:这是默认的模式,输出的图片是静态的
%matplotlib auto:在这个模式下会弹出一个单独的绘图窗口,和在pycharm中一样
%matplotlib notebook:在这个模式下会在notebook中产生一个绘图窗口,能够对图片进行放大缩小等操作。


举报 使用道具
6#
wangyong 版主 发表于 2021-3-5 16:17:17 | 只看该作者
本帖最后由 wangyong 于 2021-3-5 16:18 编辑
  1. %matplotlib auto
  2. df_word_freq_groupby.plot.pie(subplots=True, autopct='%.0f%%')
复制代码
执行上述代码可以在饼图中显示百分比

举报 使用道具
7#
wangyong 版主 发表于 2021-3-15 16:17:26 | 只看该作者
  1. %matplotlib auto
  2. explodes = (0,0.06,0)
  3. df_word_freq_groupby.plot.pie(subplots=True,autopct='%.0f%%',explode=explodes)
复制代码
explode : 每一块饼图离开中心距离,默认值为(0,0),就是不离开中心;
explode = (0,0.06,0)  #将第二块分离出来


举报 使用道具
8#
wangyong 版主 发表于 2021-3-15 16:23:32 | 只看该作者
  1. %matplotlib auto
  2. explodes = (0,0.06,0)
  3. df_word_freq_groupby.plot.pie(subplots=True,autopct='%.0f%%',explode=explodes,shadow=True)
复制代码
shadow :是否显示阴影,默认值为False,也就是没有阴影,将其改为True,显示结果如下图所示;


举报 使用道具
9#
wangyong 版主 发表于 2021-3-15 16:42:34 | 只看该作者
  1. %matplotlib auto
  2. explodes = (0,0.06,0)
  3. df_word_freq_groupby.plot.pie(subplots=True,autopct='%.0f%%',explode=explodes,shadow=True)
  4. plt.legend(loc="upper right",fontsize=12,bbox_to_anchor=(1.1,1.06),borderaxespad=0.5)
复制代码
使用plt.legend( )增加图例说明

  1. # loc =  'upper right' 位于右上角
  2. # bbox_to_anchor=[0.5, 0.5] # 外边距 上边 右边
  3. # ncol=2 分两列
  4. # borderaxespad = 0.3图例的内边距
复制代码


举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • Gephi社会网络分析-马蜂窝游记文本分词并同
  • Gephi社会网络分析-基于马蜂窝游记文本以词
  • 知乎话题文本根据词语间距筛选后生成共词矩
  • 马蜂窝游记文本分词后以词语间距为筛选条件
  • 学习使用apriori算法挖掘关联关系

热门用户

GMT+8, 2024-4-20 14:48