import jieba
from matplotlib import pylab as plt
from wordcloud import WordCloud
from PIL import Image
import numpy as np
from pymysql import *
import json
# 文章词云
def get_article_img(targetImgSrc, resImgSrc):
conn = connect(host='localhost', port=3306, user='root', password='root', database='weiboarticles')
cursor = conn.cursor() # 游标
sql = 'select content from article' # 查找文章内容
cursor.execute(sql)
data = cursor.fetchall() # 获取所有数据
text = ''
for item in data:
text += item[0]
cursor.close()
conn.close()
cut = jieba.cut(text) # 切分
string = ' '.join(cut) # 词语之间空格连接
# print(string)
img = Image.open(targetImgSrc)
img_arr = np.array(img) # 将图片转换成列表
wc = WordCloud(
background_color='white',
mask=img_arr,
font_path='STHUPO.TTF'
)
wc.generate_from_text(string)
fig = plt.figure(1)
plt = imshow(wc)
plt.axis('off')
plt.savefig(resImgSrc, dpi=500) # 保存结果图片,dpi清晰度
if __name__ == '__main__':
get_article_img('./static/1.jpg', './static/article_cloud.jpg')
请问这个plt为什么会报错啊,怎么解决
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 笑面虎 2024-05-08 16:23关注
以下内容由CHATGPT及笑面虎共同生成、有用望采纳:
【问题概括】: 这个问题的目的是生成一个文章的词云图像,使用特定的遮罩图片和字体。
【问题出现原因】:
- 导入模块时使用了错误的别名,
from matplotlib import pylab as plt
应该是import matplotlib.pyplot as plt
。 - 在使用
plt
时,应该先导入matplotlib.pyplot
而不是pylab
。 imshow
函数应该直接调用plt.imshow()
而不是plt = imshow(wc)
。
【问题解决方案】: 修改导入
matplotlib
的方式,并修正代码中使用plt
的地方。【提供代码】: 以下是修改后的代码:
import jieba import matplotlib.pyplot as plt # 修改这里 from wordcloud import WordCloud from PIL import Image import numpy as np import pymysql # 文章词云 def get_article_img(targetImgSrc, resImgSrc): # ... [省略数据库操作代码] ... cut = jieba.cut(text) string = ' '.join(cut) img = Image.open(targetImgSrc) img_arr = np.array(img) wc = WordCloud( background_color='white', mask=img_arr, font_path='STHUPO.TTF' ) wc.generate_from_text(string) fig = plt.figure(1) # 使用 matplotlib.pyplot plt.imshow(wc) # 修改这里 plt.axis('off') plt.savefig(resImgSrc, dpi=500) # 保存结果图片,dpi清晰度 if __name__ == '__main__': get_article_img('./static/1.jpg', './static/article_cloud.jpg')
【代码运行方式】:
- 确保你的环境中安装了
jieba
,matplotlib
,wordcloud
,PIL
,numpy
, 和pymysql
。 - 将上述代码保存为
.py
文件。 - 在命令行或你的IDE中运行这个脚本。
【代码预期运行结果】: 如果代码正确无误,它将生成一个词云图片并保存到指定的路径。
【推荐相关链接】:
解决 无用评论 打赏 举报 编辑记录 - 导入模块时使用了错误的别名,
悬赏问题
- ¥15 AnolisOs7.9如何安装 Qt_5.14.2的运行库
- ¥20 求:怎么实现qt与pcie通信
- ¥50 前后端数据顺序不一致问题,如何解决?(相关搜索:数据结构)
- ¥15 基于蒙特卡罗法的中介效应点估计代码
- ¥15 罗技G293和UE5.3
- ¥20 Tesla 特斯拉K80显卡 如果需要使用该设备,你需要禁用系统上的另一个设备。
- ¥30 QT调用百度智能云千帆模型无法取得返回文本
- ¥50 CCD工业视觉相机检测出现光边
- ¥60 二次元手游日常任务自动化代肝(相关搜索:自动化)
- ¥15 mysql将查询的结果作为动态列名怎么实现