鱼C论坛

 找回密码
 立即注册
查看: 2109|回复: 20

[已解决]matplotlib不能显示中文问题

[复制链接]
发表于 2020-6-1 14:20:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

https://fishc.com.cn/forum.php?mod=viewthread&tid=169010&highlight=matplotlib

怎么配置才能使matplotlib显示中文?
连接中源码在我的电脑是显示如附件图片
最佳答案
2020-6-1 18:55:00
# _*_ coding:utf-8 _*_

from matplotlib.font_manager import FontProperties  # 管理字体的类

font = FontProperties(fname=r'c:\windows\fonts\simsun.ttc', size=12)  # 寻找并设置系统字体

看的教学视频里面是这么设置的,而且自己写了代码也能显示中文
Capture.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-1 14:25:02 | 显示全部楼层
那就要用另一种比较麻烦的了,手动添加字体路径
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 14:26:47 | 显示全部楼层
我没怎么用过这个方法,太麻烦了,按这个方法即可:
https://jingyan.baidu.com/article/37bce2beb3c06f1002f3a22a.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 14:36:34 | 显示全部楼层
楼上正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 14:38:55 | 显示全部楼层
还有个方法,之前老师PPT上的   不过 mac 系统不行的  只支持 liux 和 windows
import matplotlib
font = {'family':'SIMHEI',
        'size':'10'}
matplotlib.rc('font',**font)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-1 14:45:23 | 显示全部楼层
Twilight6 发表于 2020-6-1 14:38
还有个方法,之前老师PPT上的   不过 mac 系统不行的  只支持 liux 和 windows

这个赋值进去,没有效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 14:48:42 | 显示全部楼层
rsj0315 发表于 2020-6-1 14:45
这个赋值进去,没有效果
import matplotlib
font = {'family':'Microsoft Yahei',
        'size':'10'}
matplotlib.rc('font',**font)
这样试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-1 14:55:22 | 显示全部楼层
按照百度的那个方法,测试原程序,还是不行。。。
Capture.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 14:56:52 | 显示全部楼层
rsj0315 发表于 2020-6-1 14:55
按照百度的那个方法,测试原程序,还是不行。。。

他只支持ttf 的字体  不支持 ttc 的好像
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 15:57:01 | 显示全部楼层
rsj0315 发表于 2020-6-1 14:55
按照百度的那个方法,测试原程序,还是不行。。。

用ttf试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-1 18:03:15 | 显示全部楼层
ttf也不行
@Twilight6
@xiaosi4081
Capture.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 18:19:54 | 显示全部楼层
rsj0315 发表于 2020-6-1 18:03
ttf也不行
@Twilight6
@xiaosi4081

import matplotlib
font = {'family':'Microsoft Yahei',
        'size':'10'}
matplotlib.rc('font',**font)

这个重新试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 18:26:40 | 显示全部楼层
plt.rcParams['font.sans-serif'] = [u'SimHei']
plt.rcParams['axes.unicode_minus'] = False
这样 也试试...我也懵了 你的方法怎么都不行的  这是我去百度的 你看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-1 18:55:00 | 显示全部楼层    本楼为最佳答案   
# _*_ coding:utf-8 _*_

from matplotlib.font_manager import FontProperties  # 管理字体的类

font = FontProperties(fname=r'c:\windows\fonts\simsun.ttc', size=12)  # 寻找并设置系统字体

看的教学视频里面是这么设置的,而且自己写了代码也能显示中文
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-1 23:35:12 | 显示全部楼层
疾风怪盗 发表于 2020-6-1 18:55
# _*_ coding:utf-8 _*_

from matplotlib.font_manager import FontProperties  # 管理字体的类

放到连接的源码上了,还是不行。
是不是我的windows上没这个字体。

win10,64位
家里的另外一台电脑就可以显示中文。
真是奇怪了。
不知道怎么弄了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-2 09:04:52 | 显示全部楼层
各位大佬:
既然用下边这各代码报错,我们是不是吧这个字体搞一份,然后放到电脑上某个位置就解决呢?
plt.rcParams['font.sans-serif'] = ['SIMHEI']
---------------------------------------------------
因为楼上的他其几种方法,也尝试了,不太明白原理,没有起到效果。
是不是转换到,把这个缺失的字体添加到电脑上就能解决呢?
版主快来啊
Capture.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-2 09:41:12 | 显示全部楼层
报告各位太兴奋了,找到了一个解决办法。上传代码如下:
水边附件字体
import numpy as np
import pylab as pl
import matplotlib.font_manager as fm

myfont = fm.FontProperties(fname=r'C:\Users\renro001\Desktop\simhei.ttf') # 设置字体
t = np.arange(0.0,2.0 * np.pi,0.01) # 自变量取值范围
s = np.sin(t) # 计算正弦函数值
z = np.cos(t) # 计算余弦函数值
pl.plot(t,s,label='正弦')
pl.plot(t,z,label='余弦')
pl.xlabel('x-变量',fontproperties=myfont,fontsize=24) #设置标签
pl.ylabel('y-正弦余弦函数值',fontproperties=myfont,fontsize=24)
pl.title('sin-cos函数图像',fontproperties=myfont,fontsize=32) #图像标题
pl.legend(prop=myfont)
pl.show()
Capture.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-2 09:48:34 | 显示全部楼层
rsj0315 发表于 2020-6-2 09:41
报告各位太兴奋了,找到了一个解决办法。上传代码如下:
水边附件字体

simhei的字体压缩后大于1m,不让传。
后边谁需要,在留言吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-2 09:50:12 | 显示全部楼层
是按照下边连接方法的最后一种方法实现的
https://www.cnblogs.com/hum0ro/p/9781390.html
感谢各位回答!
-------------------------------------------------------------------------
已解决
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-2 09:51:24 | 显示全部楼层
疾风怪盗 发表于 2020-6-1 18:55
# _*_ coding:utf-8 _*_

from matplotlib.font_manager import FontProperties  # 管理字体的类

import matplotlib.font_manager as fm
myfont = fm.FontProperties(fname=r'C:\Users\renro001\Desktop\simhei.ttf') # 设置字体
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 20:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表