rsj0315 发表于 2020-6-1 14:20:27

matplotlib不能显示中文问题


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

怎么配置才能使matplotlib显示中文?
连接中源码在我的电脑是显示如附件图片

Twilight6 发表于 2020-6-1 14:25:02

那就要用另一种比较麻烦的了,手动添加字体路径

Twilight6 发表于 2020-6-1 14:26:47

我没怎么用过这个方法,太麻烦了,按这个方法即可:
https://jingyan.baidu.com/article/37bce2beb3c06f1002f3a22a.html

xiaosi4081 发表于 2020-6-1 14:36:34

楼上正解

Twilight6 发表于 2020-6-1 14:38:55

还有个方法,之前老师PPT上的   不过 mac 系统不行的只支持 liux 和 windows

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

rsj0315 发表于 2020-6-1 14:45:23

Twilight6 发表于 2020-6-1 14:38
还有个方法,之前老师PPT上的   不过 mac 系统不行的只支持 liux 和 windows

这个赋值进去,没有效果

Twilight6 发表于 2020-6-1 14:48:42

rsj0315 发表于 2020-6-1 14:45
这个赋值进去,没有效果

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

rsj0315 发表于 2020-6-1 14:55:22

按照百度的那个方法,测试原程序,还是不行。。。

Twilight6 发表于 2020-6-1 14:56:52

rsj0315 发表于 2020-6-1 14:55
按照百度的那个方法,测试原程序,还是不行。。。

他只支持ttf 的字体不支持 ttc 的好像

xiaosi4081 发表于 2020-6-1 15:57:01

rsj0315 发表于 2020-6-1 14:55
按照百度的那个方法,测试原程序,还是不行。。。

用ttf试试

rsj0315 发表于 2020-6-1 18:03:15

ttf也不行
@Twilight6
@xiaosi4081

Twilight6 发表于 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)

这个重新试试

Twilight6 发表于 2020-6-1 18:26:40

plt.rcParams['font.sans-serif'] =
plt.rcParams['axes.unicode_minus'] = False
这样 也试试...我也懵了 你的方法怎么都不行的这是我去百度的 你看看

疾风怪盗 发表于 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)# 寻找并设置系统字体

看的教学视频里面是这么设置的,而且自己写了代码也能显示中文

rsj0315 发表于 2020-6-1 23:35:12

疾风怪盗 发表于 2020-6-1 18:55
# _*_ coding:utf-8 _*_

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


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

win10,64位
家里的另外一台电脑就可以显示中文。
真是奇怪了。
不知道怎么弄了。。。

rsj0315 发表于 2020-6-2 09:04:52

各位大佬:
既然用下边这各代码报错,我们是不是吧这个字体搞一份,然后放到电脑上某个位置就解决呢?
plt.rcParams['font.sans-serif'] = ['SIMHEI']
---------------------------------------------------
因为楼上的他其几种方法,也尝试了,不太明白原理,没有起到效果。
是不是转换到,把这个缺失的字体添加到电脑上就能解决呢?
版主快来啊

rsj0315 发表于 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()

rsj0315 发表于 2020-6-2 09:48:34

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

simhei的字体压缩后大于1m,不让传。
后边谁需要,在留言吧

rsj0315 发表于 2020-6-2 09:50:12

是按照下边连接方法的最后一种方法实现的
https://www.cnblogs.com/hum0ro/p/9781390.html
感谢各位回答!
-------------------------------------------------------------------------
已解决

rsj0315 发表于 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') # 设置字体
页: [1] 2
查看完整版本: matplotlib不能显示中文问题