首页 > 代码库 > ubuntu 16.04 + python + matplotlib下画图显示中文设置
ubuntu 16.04 + python + matplotlib下画图显示中文设置
一、需求
因为在python画图显示的时候,经常需要展示一些中文,但是ubuntu系统下按照默认安装方式安装的时候,一般是不能显示中文的,当强行给legend、xlabel、ylabel赋予中文的时候,会显示为方块
二、参考
http://blog.csdn.net/onepiece_dn/article/details/46239581
三、配置方法
(1) 显示本机的同时可用的中文和西文字体
def dispFonts(): #显示可用的中文字体,同时支持英文的 from matplotlib.font_manager import FontManager import subprocess fm = FontManager() mat_fonts = set(f.name for f in fm.ttflist) output = subprocess.check_output( ‘fc-list :lang=zh -f "%{family}\n"‘, shell=True) output = output.decode(‘utf-8‘) # print ‘*‘ * 10, ‘系统可用的中文字体‘, ‘*‘ * 10 # print output zh_fonts = set(f.split(‘,‘, 1)[0] for f in output.split(‘\n‘)) available = mat_fonts & zh_fonts print ‘*‘ * 10 + u‘可用的中文字体‘+‘*‘ * 10 for f in available: print(f)
(2) 找到对应的字体的位置
在终端输入 fc-list :lang=zh (:前有一个空格)
(3) 根据想设置的字体,找到上面的完整文件名
在画图的python 程序中添加
from matplotlib import rcParams from matplotlib.font_manager import FontProperties import matplotlib.pyplot as plt myfont = FontProperties(fname=‘/usr/share/fonts/wps-office/FZWBK.TTF‘,size=20) rcParams[‘axes.unicode_minus‘]=False #解决负号‘-‘显示为方块的问题
from matplotlib import rcParams from matplotlib.font_manager import FontProperties import matplotlib.pyplot as plt myfont = FontProperties(fname=‘/usr/share/fonts/wps-office/FZWBK.TTF‘,size=20) rcParams[‘axes.unicode_minus‘]=False #解决负号‘-‘显示为方块的问题 fig = plt.figure() ax1 = fig.add_subplot(1, 1, 1) ax1.plot([1, 2, 3],[1,2,3],‘bv-‘) ax1.set_xlabel(u‘x轴标签‘, fontproperties=myfont) ax1.set_ylabel(u‘y轴标签‘, fontproperties=myfont) plt.show() ax1.legend([u‘图例标签‘], loc=‘best‘,prop=myfont)
ubuntu 16.04 + python + matplotlib下画图显示中文设置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。