MatPlotLib.PyPlot画直方图:
主要是针对Gensim中LsiModel训练出的模型 进行可视化
#import cv2
#import numpy as np
#img = cv2.imread('WIN_20180622_10_31_13_Pro.jpg')
#
#a = np.array(img[:,666][:,0]).astype(np.int32)
#
#
#
#from matplotlib import pyplot as plt
##
#plt.plot(range(len(a)),list(a))
##plt.show()
from pylab import mpl
import time
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
from matplotlib import pyplot as plt
#with open('lsi_topics_record.txt','r'.encode='utf8') as file:
import pandas as pd
csv = pd.read_csv('lsi_topics_record.csv',header=None)
#fig = plt.figure()
#print(csv)
#print(csv.sample(5))
#csv
#print()
for i in range(len(csv)):
plt.figure(figsize=(5,80))
diclist = csv[1].tolist()
plt.grid(True)
s = diclist[i]
ss = s.split('+')
dic = {b[1]:float(b[0]) for b in [ a.strip().split('*') for a in ss if len(a)>8]}
dic = sorted(dic.items(),key = lambda d:d[1],reverse=True)
#print(dic)
plt.xlabel(u'决策率')
plt.ylabel(u'热点语料')
x_axis = tuple(d[0] for d in dic)
y_axis = tuple(d[1] for d in dic)
plt.barh(x_axis, y_axis,align='edge', color='rgb',height=0.7,orientation='horizontal') # 如果不指定color,所有的柱体都会是一个颜色
plt.savefig('LSI模型图\\第{}类建模图.png'.format(str(i)), dpi=300, bbox_inches = 'tight') # 保存为图片
# del diclist
# del s
# del ss
# del dic
# del x_axis
# del y_axis
#plt.show()
#plt.
效果:


本文介绍如何使用Matplotlib库中的Pyplot模块绘制由Gensim LSI模型生成的主题分布直方图,通过可视化手段展示热点语料的决策率,帮助理解主题模型的输出。
877

被折叠的 条评论
为什么被折叠?



