Linux/MacOS下matplotlib能正常显示的中文字体选择

2024-05-06 17:48

本文主要是介绍Linux/MacOS下matplotlib能正常显示的中文字体选择,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下面的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 subprocessmpl_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 CondensedAndale MonoApple BrailleApple ChanceryApple SymbolsAppleGothicAppleMyungjoArialArial BlackArial NarrowArial Rounded MT BoldArial Unicode MSAyuthayaBig CaslonBitstream Vera SansBitstream Vera Sans MonoBitstream Vera SerifBodoni 72 SmallcapsBodoni OrnamentsBradley HandBrush Script MTChalkdusterComic Sans MSConsolasCourier NewDIN AlternateDIN CondensedDejaVu SansDejaVu Sans DisplayDejaVu Sans MonoDejaVu SerifDejaVu Serif DisplayDiwan ThuluthEast Syriac AdiabeneEast Syriac CtesiphonEstrangelo AntiochEstrangelo EdessaEstrangelo MidyatEstrangelo NisibinEstrangelo Nisibin OutlineEstrangelo QuenneshrinEstrangelo TaladaEstrangelo TurAbdinFarisiGeorgiaGoha-Tibeb ZemenGurmukhi MTHerculanumHoefler TextImpactInaiMathiKhmer Sangam MNKokonorKrungthepLao Sangam MNLuminariLuxi MonoLuxi SansLuxi SerifMicrosoft Sans SerifMicrosoft YaHei MonoMishafiMishafi GoldPlantagenet CherokeeSTIXGeneralSTIXIntegralsDSTIXIntegralsSmSTIXIntegralsUpSTIXIntegralsUpDSTIXIntegralsUpSmSTIXNonUnicodeSTIXSizeFiveSymSTIXSizeFourSymSTIXSizeOneSymSTIXSizeThreeSymSTIXSizeTwoSymSTIXVariantsSathuSerto BatnanSerto JerusalemSerto Jerusalem OutlineSerto KharputSerto MalankaraSerto MardinSerto UrhoySilomSkiaSymbolSystem FontTahomaTimes New RomanTrattatelloTrebuchet MSVerdanaWebdingsWingdingsWingdings 2Wingdings 3YaHei Consolas HybridZapf DingbatsZapfinocmb10cmex10cmmi10cmr10cmss10cmsy10cmtt10
Fontconfig warning: ignoring UTF-8: not a valid region tagChinese font list get from fc-list:.Hiragino Sans GB Interface.LastResort.PingFang HK.PingFang SC.PingFang TCArial Unicode MSFixedGB18030 BitmapHeiti SCHeiti TCHiragino Sans GBMicrosoft YaHei MonoPingFang HKPingFang SCPingFang TCSTSongSongti SCSongti TCYaHei Consolas Hybridthe fonts we can use:.LastResortMicrosoft YaHei MonoYaHei Consolas HybridArial Unicode MS



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

这里选择了 YaHei Consolas Hybrid。



mpl.rcParams['font.sans-serif'] = ['YaHei Consolas Hybrid'] #指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题


这篇关于Linux/MacOS下matplotlib能正常显示的中文字体选择的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964957

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用