下面的Python脚本可以检测到 *nix 系统内 matplotlib 支持正常显示的中文字体(用到了命令行工具 fc-list ):

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# File Name: font_check.py

# Created Time: Thu Mar 23 16:53:59 2017

__author__ = 'minyu'

__mail__ = 'minyu7374@gmail.com'

from matplotlib.font_managerimport FontManager

import subprocess

mpl_fonts = set(f.namefor f in FontManager().ttflist)

print ('all font list get from matplotlib.font_manager:')

for f in sorted(mpl_fonts):

print('\t' + f)

# for python2

# output = subprocess.check_output('fc-list :lang=zh -f "%{family}\n"', shell=True)

# for python3

output = subprocess.check_output('fc-list :lang=zh -f "%{family}\n"', shell=True, encoding="utf8")

zh_fonts = set(f.split(',',1)[0] for f in output.split('\n'))

print('\n' +'Chinese font list get from fc-list:')

for f in sorted(zh_fonts):

print('\t' + f)

print('\n' +'the fonts we can use:')

available = set(mpl_fonts) & set(zh_fonts)

for f in available:

print('\t' + f)

在个人的 MacOS Sierra 系统下运行结果如下:

Fontconfig warning: ignoring UTF-8: not a valid region tag

all font list get from matplotlib.font_manager:

.Keyboard

.LastResort

.SF Compact Display

.SF Compact Rounded

.SF Compact Text

.SF NS Display Condensed

.SF NS Text Condensed

Andale Mono

Apple Braille

Apple Chancery

Apple Symbols

AppleGothic

AppleMyungjo

Arial

Arial Black

Arial Narrow

Arial Rounded MT Bold

Arial Unicode MS

Ayuthaya

Big Caslon

Bitstream Vera Sans

Bitstream Vera Sans Mono

Bitstream Vera Serif

Bodoni 72 Smallcaps

Bodoni Ornaments

Bradley Hand

Brush Script MT

Chalkduster

Comic Sans MS

Consolas

Courier New

DIN Alternate

DIN Condensed

DejaVu Sans

DejaVu Sans Display

DejaVu Sans Mono

DejaVu Serif

DejaVu Serif Display

Diwan Thuluth

East Syriac Adiabene

East Syriac Ctesiphon

Estrangelo Antioch

Estrangelo Edessa

Estrangelo Midyat

Estrangelo Nisibin

Estrangelo Nisibin Outline

Estrangelo Quenneshrin

Estrangelo Talada

Estrangelo TurAbdin

Farisi

Georgia

Goha-Tibeb Zemen

Gurmukhi MT

Herculanum

Hoefler Text

Impact

InaiMathi

Khmer Sangam MN

Kokonor

Krungthep

Lao Sangam MN

Luminari

Luxi Mono

Luxi Sans

Luxi Serif

Microsoft Sans Serif

Microsoft YaHei Mono

Mishafi

Mishafi Gold

Plantagenet Cherokee

STIXGeneral

STIXIntegralsD

STIXIntegralsSm

STIXIntegralsUp

STIXIntegralsUpD

STIXIntegralsUpSm

STIXNonUnicode

STIXSizeFiveSym

STIXSizeFourSym

STIXSizeOneSym

STIXSizeThreeSym

STIXSizeTwoSym

STIXVariants

Sathu

Serto Batnan

Serto Jerusalem

Serto Jerusalem Outline

Serto Kharput

Serto Malankara

Serto Mardin

Serto Urhoy

Silom

Skia

Symbol

System Font

Tahoma

Times New Roman

Trattatello

Trebuchet MS

Verdana

Webdings

Wingdings

Wingdings 2

Wingdings 3

YaHei Consolas Hybrid

Zapf Dingbats

Zapfino

cmb10

cmex10

cmmi10

cmr10

cmss10

cmsy10

cmtt10

Fontconfig warning: ignoring UTF-8: not a valid region tag

Chinese font list get from fc-list:

.Hiragino Sans GB Interface

.LastResort

.PingFang HK

.PingFang SC

.PingFang TC

Arial Unicode MS

Fixed

GB18030 Bitmap

Heiti SC

Heiti TC

Hiragino Sans GB

Microsoft YaHei Mono

PingFang HK

PingFang SC

PingFang TC

STSong

Songti SC

Songti TC

YaHei Consolas Hybrid

the fonts we can use:

.LastResort

Microsoft YaHei Mono

YaHei Consolas Hybrid

Arial Unicode MS

YaHei Consolas Hybrid 是我自己安装的字体,其他三个都是系统默认的,

这里选择了 YaHei Consolas Hybrid。

mpl.rcParams['font.sans-serif'] = ['YaHei Consolas Hybrid'] #指定默认字体

mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

osx 字体 linux,Linux/MacOS下matplotlib能正常显示的中文字体选择相关推荐

  1. qt linux mac,MacOS下Qt Installer Framework使用教程【个人经验】

    MacOS下Qt Installer Framework怎么使用?使用Qt Installer Framework之前,必须先下载它, 下载地址: 下载完成之后自己进行安装,安装之后,我们就可以开始进 ...

  2. python微软雅黑字体_win10+python3.7下matplotlib显示中文,可使用微软雅黑.md

    win10+python3.7下matplotlib显示中文,可使用微软雅黑和思源黑体 更新时间20200109 网上很多教程,基本上都没用有效解决win10下matplotlib显示中文雅黑的问题, ...

  3. Matplotlib绘图显示缺少中文字体-RuntimeWarning: Glyph 8722 missing from current font.

    pyplot 并不默认支持中文显示,也没有自带中文字体,因此需要自行下载所需字体,并修改 rcParams 参数来显示中文.下面以 SimHei (黑体)字体为例进行说明. 说明:系统环境为 Linu ...

  4. Python用matplotlib画图无法显示宋体中文及Font family [‘sans-serif‘] not found解决办法

    原文出处:https://blog.csdn.net/sinat_40875078/article/details/104326855 1.在终端python 的环境下查看字体路径 import ma ...

  5. vue set设置html根字体,vue-quill-editor安装及使用:自定义工具栏和自定义中文字体,把字体写在html的style中...

    一.自定义工具栏把toolbar在vue的data return里配置就可以: 二.用vue-quill-editor写出来的邮件,发出去之后字体样式变了,那是应该vue-quill-editor改变 ...

  6. 苹果字体怎么改_GoodNotes制作电子手帐之添加中文字体

    Goodnotes除了用来记笔记还是一个很好的做电子手帐的APP,有着多种书写笔和丰富的颜色,支持插入图片并进行任意形状的裁剪.然而我在录入文字时发现了一个问题,goodnotes自带的字体都是英文字 ...

  7. python tk label 多字体_Python3 tkinter基础 Label compound 图片上显示文字 fg字体颜色 font字体大小...

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

  8. java+字体包下载_onlyoffice5.4.2离线包下载—解决中文字体问题

    向全国奋战在医疗一线的医护工作者们致敬. 花了一天时间,将onlyoffice的包重新打包,https://blog.csdn.net/hotqin888/article/details/982404 ...

  9. 在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题

    iconv命令是运行于linux/unix平台的文件编码装换工具.当我们在linux/unix系统shell查看文本文件时,常常会发现文件的中文是乱码的,这是由于文本文件的编码与当前操作系统设置的编码 ...

  10. Linux 下中文字体安装

    一.查看系统字体 在开始安装之前,我们先查看系统中已经安装的字体. 要查看系统中已经安装的字体,我们可以使用fc-list命令进行查看.如果系统中没有该命令的话,我们需要先安装相关的软件包. 在cen ...

最新文章

  1. 线段树区间扫描线超详解,一篇文章搞懂扫描线
  2. 浅谈Service Mesh体系中的Envoy
  3. 串口通讯编程一日通3(COMMTIMEOUTS DCB整理)
  4. 深度学习之生成式对抗网络 GAN(Generative Adversarial Networks)
  5. 对口计算机专业分数线,湖南省2021年普通高校招生本科批(职高对口类)平行一志愿投档分数线公布...
  6. 【渝粤教育】电大中专Office办公软件 (3)作业 题库
  7. 在Win7中IIS配置Asp.Net虚拟文件夹的方法及错误总结!
  8. RestTemplate 配置http连接池
  9. 5分钟实战QQ机器人教程(保姆级)
  10. 【电脑讲解】硬件知识
  11. Hard Link 与 Symbolic Link
  12. 触宝电话推“免费拨打国际长途”新业务
  13. 树莓派 无线网卡服务器,树莓派(Raspberry Pi)USB无线网卡配置方法
  14. spark写入Oracle 报错 java.lang.ArrayIndexOutOfBoundsException: -32423
  15. 【算法】求n的m次方(快速幂取模)
  16. msp430单片机c语言应用程序,MSP430单片机C语言应用程序设计实例精讲
  17. Lasso 和 Ridge回归中的超参数调整技巧
  18. 《数据结构与算法之哈夫曼树(Java实现)》
  19. 批量修改AD账号Account
  20. 弹性云服务器做云终端,云终端解决方案中云服务器做双机热备的必要性(转载)...

热门文章

  1. Matlab画圆且坐标轴图片等比例显示
  2. matlab机器人画圆
  3. python人脸识别方法_python实现人脸识别代码
  4. cad汉仪长仿宋体_长仿宋体字体下载 cad工程机械绘图工程制图国标字体下载
  5. 声道测试音频_一音成佛的尺八音色,电吹管的单声道和双声道录音对比(2)
  6. 常见debug指令和使用
  7. Linux 系统的安全加固
  8. POJ题目分类(转)
  9. linux中hdfs格式化,HDFS操作命令
  10. 高级操作系统——XV6内存管理