matplotlib字体设置看这一篇就够了

简介: matplotlib字体设置看这一篇就够了

1 简介

matplotlib作为数据可视化的利器,被广泛用于数据分析之中,但不太友好的是matplotlib中书写非英文文字内容时,如果不事先对字体进行相关设置,会发现绘制出的诸如「中文」等均显示为「方块乱码」,而今天的内容,我们就来小小总结一下matplotlib中字体设置的常用技巧。

图1

2 在matplotlib中设置字体的常用方法

matplotlib中设置字体的方法按作用范围可分为全局设置与临时设置:

2.1 在matplotlib中设置全局字体

我们在默认状态下使用matplotlib书写中文内容时之所以显示出乱码,是因为matplotlib默认的字体为英文字体,导致许多unicode编码的语言文字都无法书写。

而全局设置字体的方式,指的是我们可以通过修改本地配置文件或在程序开头设置字体相关参数,从而人为地为当前kernel下的matplotlib规定使用指定的字体,主要有以下几种情况:

  • 「使用系统自带字体」

所谓「系统自带字体」,譬如对于windows,其系统盘Windows/Fonts下的诸多已安装到系统中的字体:

图2

当然,matplotlib可以检测到的字体不止上述的这些,我们可以通过下列方式查看matplotlib中默认已经识别到的所有可用字体:

import matplotlib.pyplot as plt
from matplotlib import font_manager
for font in font_manager.fontManager.ttflist:
    # 查看字体名以及对应的字体文件名
    print(font.name, '-', font.fname)

图3

其中在font_manager.fontManager.ttflist中迭代到的每个对象,其name属性即为我们下面设置字体要使用到的名称,以「华文琥珀」为例,我们先查看到其对应的字体文件名称:

图4

接着我们写两行程序来找到其对应的名称:

图5

接着按照plt.rcParams['font.sans-serif'] = 字体名称的格式设置即可:

图6

可以看到这时我们全局所有文字都变成「华文琥珀」

  • 「使用任意的字体」

如果你想要的字体不在系统默认字体中,且你只想临时使用不想安装到系统字体中,则可以利用font_manager.fontManager.addfont()来传入字体文件路径临时注册一个字体,以我下载的三方字体文件MaShanZheng-Regular.ttf为例:

图7 图8

2.2 在matplotlib中设置局部字体

而如果你只是想要在数据可视化作品中的部分元素譬如文字标注中临时使用一下字体,则可以利用font_manager.FontProperties()将字体路径作为fname参数传入,并传入到对应matplotlib绘图API相应参数中,以text()为例:

图9

而刻度标签则可以参考下面的方式:

图10

相关文章
|
3月前
|
Python
matplotlib中改变字体的方法
matplotlib中改变字体的方法
159 1
成功解决matplotlib绘图中描述性字体特殊符号(比如数值的右上角标和右下角标表示)
成功解决matplotlib绘图中描述性字体特殊符号(比如数值的右上角标和右下角标表示)
|
Python Linux
Matplotlib 中文用户指南 4.4 默认字体
默认字体 原文:Text properties and layout 译者:飞龙 协议:CC BY-NC-SA 4.
1122 0
|
7天前
|
数据可视化 Python
Python中的数据可视化:使用Matplotlib绘制图表
【9月更文挑战第11天】在这篇文章中,我们将探索如何使用Python的Matplotlib库来创建各种数据可视化。我们将从基本的折线图开始,然后逐步介绍如何添加更多的功能和样式,以使您的图表更具吸引力和信息量。无论您是数据科学家、分析师还是任何需要将数据转化为视觉形式的专业人士,这篇文章都将为您提供一个坚实的起点。让我们一起潜入数据的海洋,用视觉的力量揭示其背后的故事。
31 16
|
7天前
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化
|
20天前
|
数据可视化 物联网 区块链
探索Python中的数据可视化:使用Matplotlib和Seaborn绘制图表探索未来:区块链、物联网与虚拟现实的融合趋势与应用前景
【8月更文挑战第30天】本文旨在引导读者通过Python编程语言,利用Matplotlib和Seaborn库,轻松掌握数据可视化技术。文章以浅显易懂的语言,结合实用的代码示例,从基础的图表绘制到高级定制功能,逐步深入讲解如何在数据分析中运用这些工具。无论你是编程新手还是希望提升可视化技能的开发者,都能在这篇文章中找到有价值的信息,让你的数据“活”起来。
|
20天前
|
机器学习/深度学习 数据可视化 数据挖掘
Python中的数据可视化:使用Matplotlib库绘制图表
【8月更文挑战第30天】数据可视化是数据科学和分析的关键组成部分,它帮助我们以直观的方式理解数据。在Python中,Matplotlib是一个广泛使用的绘图库,提供了丰富的功能来创建各种类型的图表。本文将介绍如何使用Matplotlib库进行数据可视化,包括安装、基本概念、绘制不同类型的图表以及自定义图表样式。我们将通过实际代码示例来演示如何应用这些知识,使读者能够轻松地在自己的项目中实现数据可视化。
|
2月前
|
数据可视化 数据挖掘 Python
数据界的颜值担当!Python数据分析遇上Matplotlib、Seaborn,可视化美出新高度!
【7月更文挑战第24天】在数据科学领域,Python的Matplotlib与Seaborn将数据可视化升华为艺术,提升报告魅力。Matplotlib作为基石,灵活性强,新手友好;代码示例展示正弦波图的绘制与美化技巧。Seaborn针对统计图表,提供直观且美观的图形,如小提琴图,增强数据表达力。两者结合,创造视觉盛宴,如分析电商平台销售数据时,Matplotlib描绘趋势,Seaborn揭示类别差异,共塑洞察力强的作品,使数据可视化成为触动人心的艺术。
47 7
|
2月前
|
数据可视化 数据挖掘 Python
惊呆了!Python数据分析师如何用Matplotlib、Seaborn秒变数据可视化大师?
【7月更文挑战第24天】在数据驱动时代,分析师穿梭数字海洋揭示故事,数据可视化如魔法棒般将复杂数据转化成直观图形。Matplotlib与Seaborn成为黄金搭档:前者作为基础绘图库提供高度定制化选项;后者在其上构建,简化复杂图表绘制并增强美观度。两者结合,助力分析师高效完成任务。
27 6
|
2月前
|
数据可视化 数据挖掘 开发者
数据可视化新纪元!Python + Matplotlib + Seaborn,让你的数据故事生动起来!
【7月更文挑战第23天】在数据驱动时代,Python通过Matplotlib与Seaborn引领数据可视化新纪元。Matplotlib基础强大,提供广泛绘图选项;Seaborn则简化流程,图表更美观,适合快速可视化。两者结合,轻松应对复杂定制需求,将数据转化为生动故事,支持决策与交流。
29 6