码迷,mamicode.com
首页 > 编程语言 > 详细

ubuntu 16.04 + python + matplotlib下画图显示中文设置

时间:2017-06-29 13:29:15      阅读:1555      评论:0      收藏:0      [点我收藏+]

标签:pen   字体   false   family   set   available   one   sha   plt   

 

一、需求

  因为在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)
dispFonts

  技术分享

  (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 #解决负号‘-‘显示为方块的问题
Former Codes

 

技术分享
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(ux轴标签, fontproperties=myfont)
ax1.set_ylabel(uy轴标签, fontproperties=myfont)
plt.show()
ax1.legend([u图例标签], loc=best,prop=myfont)
Test Codes

 

  技术分享

 

    

    

 

ubuntu 16.04 + python + matplotlib下画图显示中文设置

标签:pen   字体   false   family   set   available   one   sha   plt   

原文地址:http://www.cnblogs.com/interstellar1145/p/7093801.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!