博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu 16.04 + python + matplotlib下画图显示中文设置
阅读量:4548 次
发布时间:2019-06-08

本文共 1650 字,大约阅读时间需要 5 分钟。

 

一、需求

  因为在python画图显示的时候,经常需要展示一些中文,但是ubuntu系统下按照默认安装方式安装的时候,一般是不能显示中文的,当强行给legend、xlabel、ylabel赋予中文的时候,会显示为方块

二、参考

  

三、配置方法

  (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 rcParamsfrom matplotlib.font_manager import FontPropertiesimport matplotlib.pyplot as pltmyfont =  FontProperties(fname='/usr/share/fonts/wps-office/FZWBK.TTF',size=20)rcParams['axes.unicode_minus']=False #解决负号'-'显示为方块的问题
Former Codes

 

from matplotlib import rcParamsfrom matplotlib.font_manager import FontPropertiesimport matplotlib.pyplot as pltmyfont =  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)
Test Codes

 

  

 

    

四、补充——字体下载参考

   

  

 

转载于:https://www.cnblogs.com/interstellar1145/p/7093801.html

你可能感兴趣的文章
第15章 面向对象程序设计
查看>>
C#读写socket的常用方式
查看>>
JAVA语法——归并排序
查看>>
力扣——第N个泰波那契数
查看>>
服务器 以及HTTP请求的关系
查看>>
JMETER使用
查看>>
如何优化Mysql千万级快速分页,limit优化快速分页,MySQL处理千万级数据查询的优化方案!(zz)...
查看>>
整体性学习的一般顺序 如何进行整体性学习
查看>>
罗永浩简历(自荐新东方的简历)
查看>>
js特效,轻松实现内容的无缝平滑滚动
查看>>
[leetcode]Valid Palindrome
查看>>
LeetCode第四题,Add Two Numbers
查看>>
mysql删除重复数据
查看>>
[DataStructure]多项式加法与乘法--A.数组存储(适用于零元系数少的多项式)
查看>>
大批量数据处理
查看>>
JavaScript笔记基础篇(三)
查看>>
第一次作业
查看>>
lwip 分析一
查看>>
写出高效优美的单片机C语言代码
查看>>
我的单元测试
查看>>