Mac OS上使用matplotlib库显示中文字体

文章目录

    • 问题描述
    • 解决步骤
    • 参考文章

问题描述

如果我们想要使用matplotlib画图的话,可能会出现下面的这种warning:

UserWarning: Glyph 24212 (\N{CJK UNIFIED IDEOGRAPH-5E94}) missing from current font.

解决步骤

解决这个问题,可以按照下面的做法来实现:
1.首先找到matplotlib库字体在那里。

import matplotlib
print(matplotlib.matplotlib_fname())

例如我这里得到的地址就是

/Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/matplotlibrc

我们就需要进入到matplotlibrc上一级目录即可

/Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/

找到这里面的fonts文件夹。进入后,再进入到ttf文件夹
2. 在这个字体网址中找到你需要下载的字体。例如我这里需要下载宋体,就需要搜索SimSun,然后下载即可。至于,我们想找的字体的英文名字是什么,可以去这个字体名字上看。
3. 将下载好的SimSun.tff文件放在上面提到的/Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf文件夹中。就像下面这个样子
在这里插入图片描述
4. 然后修改下面这个文件路径的内容。这个路径就是你在步骤1中获得的地址(和我下面的这个不一样的)。为了保险起见,你可以先备份这个文件一份。

/Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/matplotlibrc

需要修改的内容有:
a. 你搜索我下面图中箭头所指的关键词,然后加入你刚刚下载的字体名称。就像我下载的是SimSun.tff,所以在下面两处中加入的就是SimSun
在这里插入图片描述
b. 为了防止中文的 - 出现乱码,需要修改下面的内容。本来axes.unicode_mius: True,现在需要将其修改为False.
在这里插入图片描述
5. 然后输入下面的代码,刷新matplotlib的字体缓存

import shutil
import matplotlib
shutil.rmtree(matplotlib.get_cachedir())

执行完毕后,就可以使用matplotlib库来显示中文了。使用下面的代码就可以使用宋体了。

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimSun']

参考文章

中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑
Mac OS系统下实现python matplotlib包绘图显示中文(亲测有效)
module ‘matplotlib.font_manager‘ has no attribute ‘_rebuild‘解决方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/784536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel求解二元一次方程

背景:如果想求解二元一次方程,常规方法就是联立方程求出一个未知数,然后带入任意一个等式。那么在excel里面应该怎么解决呢? 总所周知,大学里面会学矩阵行列式,二元一次方程其实就是一个简单的矩阵行列式。…

复现黄金票据

一、搭建环境 搭建域环境可以点击这个查看步骤 在这里面monowall的配置查看 二、实验步骤 拿到域名 拿到SID 使用mimikatz拿到krbtgt用户的哈希 删除票据 也可以使用mimikatz.exe删除票据,命令是kerberos::purge 伪造票据 拿到域控 伪造成功

字符串(java)

字符串的特点: 1.String是java定义好的一个类,定义在java.lang包里面,所以使用的时候是不需要进行导包的 2.java程序中的所有字符串文字,都被实为此类的对象。也就是说当我们就算是进行赋值,这个也会创造…

YOLOv8改进 | 低照度检测 | 2024最新改进CPA-Enhancer链式思考网络(适用低照度、图像去雾、雨天、雪天)

一、本文介绍 本文给大家带来的2024.3月份最新改进机制,由CPA-Enhancer: Chain-of-Thought Prompted Adaptive Enhancer for Object Detection under Unknown Degradations论文提出的CPA-Enhancer链式思考网络,CPA-Enhancer通过引入链式思考提示机制&am…

(1)半导体设备之sorter机(上)

01、什么是sorter 其实sorter 就是分选机,大家日常生活买的土豆,苹果,会用到这个, 大家日常用的硬币,游戏币,都是用sorter来进行挑选的,否则人工数硬币又累又苦逼,钱再对不上号&…

【JavaScript】函数 ② ( 函数参数 | 形式参数 | 实际参数 )

文章目录 一、JavaScript 函数参数1、形式参数2、实际参数3、代码示例 - 形参和实参 一、JavaScript 函数参数 在 JavaScript 语言中 , 参数 分为以下两种 : 形式参数 Parameter , 简称 " 形参 " , 是 在函数定义时列出的变量 , 用于预期函数将接收的输入值 ;实际参…

计算机网络-从输入网址到访问网站的全过程

当我们在浏览器中输入一个网址并按下回车键时,会发生一系列复杂的过程,最终使我们能够看到网页的内容。以下是这个过程的详细步骤: 客户端:首先,用户在浏览器中键入网址,然后浏览器会根据这个网址生成一个H…

ER图与关系模型

1、试画出数据库系统的三级模式结构图。 2、试画出数据库系统的组成图。 3、学校运动会有来自全校各学院运动员组成的代表团参赛各类竞赛项目。一个 代表团由多名运动员组成;一个运动员可以参加不同项目的比赛,而一个竞赛项目允许多名运动员参赛。为了…

ADB(Android Debug Bridge)操作命令详解及示例

ADB(Android Debug Bridge)是一个强大的命令行工具,它是Android SDK的一部分,主要用于Android设备(包括真实手机和平板电脑以及模拟器)的调试、系统控制和应用程序部署。 下面是一些ADB的常用命令&#xff…

小程序开发调试指南

调试指南 一、Vconsole 一些线上问题需要在真机中进行调试或日志输出,为方便查看前端日志的输出,App 端提供了调试模式, 打开调试模式后面板界面中会显示 vConsole 按钮,点击后可打开手机端 vConsole界面查看日志输出。 1.如何开启 点击小…

数字示波器

数字示波器 综述:本文讲述了数字示波器的电路组成。 一.定义 显示电信号波形的仪器 二.组成 由模拟前端处理电路、电源电路、单片机电路、控制电路、触发电路、校准电路组成。 1)模拟前端处理电路 将输入的模拟信号处理后传…

CAN(1) 入门介绍

1.基本概念 CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519以及ISO11898),是国际上应用最广泛的现场总线之一。 CAN 总线协议已经成为汽车计算机控制系…

OmniGraffle Pro for mac 出色的图形设计软件

OmniGraffle Pro是一款非常出色的图形设计软件,它主要适用于Mac和iPad平台,可以用来轻松绘制各种精美的图表、示意图和界面设计。 软件下载:OmniGraffle Pro for mac中文注册激活版 以下是OmniGraffle Pro的一些主要特点和功能: 界…

短剧猫H5页面html源码

短剧猫H5页面html源码,包含一个接口,像俩天块样式发送剧名回复网盘链接,文件上传解压就能用。 源码免费下载地址抄笔记 (chaobiji.cn)https://chaobiji.cn/

【IP组播】PIM-SM的RP、RPF校验

目录 一:PIM-SM的RP 原理概述 实验目的 实验内容 实验拓扑 1.基本配置 2.配置IGP 3.配置PIM-SM和静态RP 4.配置动态RP 5.配置Anycast RP 二: RPF校验 原理概述 实验目的 实验内容 实验拓扑 1.基本配置 2.配置IGP 3.配置PIM-DM 4.RPF校…

F280049的JTAG接口与仿真器XDS100V3六线解法,仿真器供电

虽然程序更新和调试主要用CAN、SCI接口加上二次bootloader以及上位机。但是仿真器在初期或者有时候,还是要用一用的。板子上尽量以最小空间留一个仿真器的接插件。 用低成本的仿真器XDS100V3,用六根线实现连接。有几点改动,在此记录下。 根据数据手册中…

SOC内部集成网络MAC外设+ PHY网络芯片方案:MII/RMII 接口与 MDIO 接口

一. 简介 本文来了解一下常用的一种网络硬件方案:SOC内部集成网络MAC外设 PHY网络芯片方案。 其中涉及的 MII接口,RMII接口(MII接口与RMII接口二选一),MDIO接口,RJ45。 二. MII/RMII 接口,M…

JavaWeb学习笔记01

一、教程简介 全新JAVAWEB(里程碑版) 一套更适合后端工程师学习的WEB教程 All in Java 1、后端 ① Spring全家桶及微服务框架 ② 高性能数据库和消息组件 ③ Web攻击防护安全控制手段 ④ 其他第三方SDK生态环境 ...... 2、前端 ① 视图三大件&…

从0到1手把手撸码搭建后台管理系统

从0到1手把手撸码搭建后台管理系统 第一章:系统介绍开发目的与过程 要使用 Vue3 搭建后台,你可以按照以下步骤进行: 安装 Vue3:使用包管理工具(如 npm 或 yarn)安装 Vue3。选择构建工具:选择一个适合的构…

选择排序及其优化

目录 思想: 代码: 代码优化: 需要注意的特殊情况: 可能出现的所有特殊情况: 优化完成代码: 思想: 每一次遍历数组,选择出最大或最小的数,将其与数组末尾或首位进行…