matplotlib使用utf-8无法输出汉字

解决问题方法:
首行起添加如下代码(不包括“”,不知道#怎么在开头打出)
“# --coding:GBK --”
“# -- coding: utf-8 --”
from pylab import *
mpl.rcParams[‘font.sans-serif’] = [‘SimHei’]
注意上述代码自己打,编译器转译时显示出来的都是中文状态下输入的字符
要使用英文输入法

win10 Python35 单独 使用utf-8会有语法问题(但是注释,print()函数可以只用utf-8)
只用前面 两个行代码会出现乱码(文字以方框形式表达出来)
为甚:不晓得,反正能用了

参考资料:
1>https://blog.csdn.net/u012399684/article/details/81809220
2>https://blog.csdn.net/u012399684/article/details/81809220
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码有一些问题,比如: 1. 第3行的文件路径需要使用反斜杠(\)而非空格,否则会报错; 2. 第4行的编码格式名称应该是 "utf-8" 而非 "utf8"; 3. 第7行的函数名应该是 generate_wordcloud 而非 generate wordcloud; 4. 第10行的 mask 参数应该是一个 numpy 数组而非一个字符串路径,需要使用 plt.imread() 函数读取图片并转换为数组; 5. 第14行的函数调用应该是 generate_wordcloud(txt) 而非 generate_ wordcloud(txt)。 另外,如果要使用 jieba 分词包生成中文词云,需要先在命令行中使用 pip 安装 jieba 包,然后在代码中导入并使用 jieba 进行分词。 以下是修正后的代码示例: ```python import sys import jieba import wordcloud import matplotlib.pyplot as plt import chardet import numpy as np filename = r"E:\python2021-2\2021\第8计 输入输出\chat20212-1.txt" print(filename) with open(filename, 'r', encoding="utf-8") as f: txt = f.read() def generate_wordcloud(txt): mask = plt.imread(r'E:\python2021-2\2021\第8计 输入输出\back.jpg') w = wordcloud.WordCloud( background_color='black', mask=mask, height=2000, width=2400 ) if sys.getdefaultencoding() != 'utf-8': txt = txt.encode(sys.getdefaultencoding(), 'ignore').decode('utf-8') words = jieba.lcut(txt) w.generate(' '.join(words)) w.to_file(r"E:\python2021-2\2021\第8计 输入输出\wordcloud20212-3.png") generate_wordcloud(txt) ``` 注意,以上代码中的 jieba 分词包需要通过以下命令进行安装: ``` pip install jieba ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值