找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 902|回复: 0

[讨论] matplotlib seaborn不能显示中文解决

1

主题

2

帖子

2

积分

贫民

积分
2
onlyou 发表于 2022-6-10 15:13:22 | 显示全部楼层 |阅读模式
本帖最后由 onlyou 于 2022-6-10 15:25 编辑

import matplotlib.pyplot as plt
import matplotlib as mpt

plt.style.use('seaborn')  #放在前面免得覆盖已有的matplotlib设置

方法1
mpt.rc("font",family='MicroSoft YaHei',weight="bold")

#方法2
font ={
    'family':'MicroSoft YaHei',
    'weight':'bold',
    'size': 10
}
mpt.rc('font',**font)

#方法3
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus'] = False

#方法4
修改python下面的site-packages/matplotlib/mpl-data/matplotlibrc文件搜索下面的三个
font.family
font.sans-serif
axes.unicode_minus =False
去掉注释,加入你要用的font

#方法5
把自己喜欢用的字体复制到site-packages/matplotlib/mpl-data/fonts/ttf/目录下
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
#每个调用的地方加上你用的my_font
plt.xticks(range(len(a)),a,fontproperties=my_font)
plt.xlabel("月份",fontproperties=my_font)
plt.ylabel("数量",fontproperties=my_font)
plt.title("每月数量",fontproperties=my_font)



#如果不知道matplotlib 支持那些font,比如MicroSoft YaHei, SimHei等等,可以反注释掉下面的代码看一下

# from matplotlib.font_manager import FontManager
# import subprocess
# mpl_fonts = set(f.name for f in FontManager().ttflist)
# print('all font list get from matplotlib.font_manager:')
# for f in sorted(mpl_fonts):
#     print('\t' + f)





回复

使用道具 举报

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

本版积分规则

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