设置话题4个,为什么输出只有3个图
{dis_cols = 4 dis_rows = 3 dis_wordnum=10
plt.figure(figsize=(5 * dis_cols, 5 * dis_rows),dpi=128) kind=len(df['topic'].unique())
for i in range(kind):
ax=plt.subplot(dis_rows,dis_cols,i+1)
most10 = [ (k,float(v)) for k,v in word_pro[i].items()][:dis_wordnum] #高频词
python中的LDA问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- K_n_i_g_h_t_1990 2023-12-26 14:51关注
# 导入matplotlib库 import matplotlib.pyplot as plt # 设置话题个数为4 dis_cols = 4 dis_rows = 3 dis_wordnum = 10 plt.figure(figsize=(5 * dis_cols, 5 * dis_rows), dpi=128) kind = len(df['topic'].unique()) # 循环绘制每个主题的高频词图 for i in range(kind-1): # 注意这里要减一,否则只会绘制三个图 ax = plt.subplot(dis_rows, dis_cols, i+1) # 注意这里要加一,否则第一个图会被覆盖 most10 = [(k, float(v)) for k, v in word_pro[i].items()][:dis_wordnum] # 高频词 # 提取高频词的词和频率 words = [w[0] for w in most10] freqs = [w[1] for w in most10] # 绘制柱状图 ax.bar(words, freqs) # 设置图的标题和坐标轴 ax.set_title(f"Topic {i+1}") # 注意这里要加一,否则第一个主题会显示为0 ax.set_xlabel("Word") ax.set_ylabel("Frequency") # 显示或保存图像 plt.show() # plt.savefig("topics.png")
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 基础的图像处理问题求解答
- ¥50 全国两定智慧医保接口开发相关业务文档,以及技术实现流程文档
- ¥15 idea做图书管理系统,要求如下
- ¥15 最短路径分配法——多路径分配
- ¥15 SQL server 2022安装程序(英语)无法卸载
- ¥15 关于#c++#的问题:把一个三位数的素数写在另一个三位数素数的后面
- ¥15 求一个nao机器人跳舞的程序
- ¥15 anaconda下载后spyder内无法正常运行
- ¥20 统计PDF文件指定词语的出现的页码
- ¥50 分析一个亿级消息接收处理策略的问题?