How to solve matplotlib Chinese garbled characters in Ubuntu 22.04

embedded/2024/10/18 16:45:55/
conda create -n huizhou python=3.8
conda activate huizhou
conda install numpy matplotlib
pip install mplfonts
mplfonts init
# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt# 创建角度数组,从0到2π
x = np.linspace(0, 2 * np.pi, 100)# 计算正弦、余弦和正切值
sin_x = np.sin(x)
cos_x = np.cos(x)
tan_x = np.tan(x)# 创建绘图
fig, axes = plt.subplots(3, 1, figsize=(8, 12))plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体(SimHei)字体
plt.rcParams['axes.unicode_minus'] = False   # 允许在坐标轴上显示负号# plt.rcParams['font.family'] = 'serif'
# plt.rcParams['font.sans-serif'] = ['Noto Sans CJK JP']
# plt.rcParams['axes.unicode_minus'] = False # 允许在坐标轴上显示负号# plt.rcParams['font.sans-serif'] = ['WenQuanYi Micro Hei']
# plt.rcParams['axes.unicode_minus'] = False  # 允许在坐标轴上显示负号# 绘制正弦函数的波形
axes[0].plot(x, sin_x, label='sin(x)', color='blue')
axes[0].set_title('正弦函数的波形')
axes[0].set_xlabel('角度 (弧度)')
axes[0].set_ylabel('sin(x)')
axes[0].legend()
axes[0].grid(True)# 绘制余弦函数的波形
axes[1].plot(x, cos_x, label='cos(x)', color='green')
axes[1].set_title('余弦函数的波形')
axes[1].set_xlabel('角度 (弧度)')
axes[1].set_ylabel('cos(x)')
axes[1].legend()
axes[1].grid(True)# 绘制正切函数的波形
axes[2].plot(x, tan_x, label='tan(x)', color='red')
axes[2].set_title('正切函数的波形')
axes[2].set_xlabel('角度 (弧度)')
axes[2].set_ylabel('tan(x)')
axes[2].legend()
axes[2].grid(True)
axes[2].set_ylim(-10, 10)  # 限制y轴范围以便更好地显示正切函数# 调整布局
plt.tight_layout()
# 显示图形
plt.show()

在这里插入图片描述

参考文献

  • github / matplotlibChinesefix
  • How To Install fonts-noto-cjk on Ubuntu 22.04
  • How To Install fonts-noto-cjk-extra on Ubuntu 22.04
  • Why chinese character can’t be displayed after installing noto cjk
  • How to install and manage fonts on Linux
  • 在Ubuntu系统中安装字体(以安装华文行楷和方正舒体为例)
  • 一招解决Ubuntu在英文系统上汉字字形不正确问题
  • pypi / mplfonts
  • github / mplfonts
  • A Guide to Displaying CJK Characters in Matplotlib

http://www.ppmy.cn/embedded/16590.html

相关文章

BGP配置和应用案例

策略路由的配置步骤 l 策略路由的配置步骤如下: 创建route-map 通过ACL匹配感兴趣的数据,定义策略动作 在指定接口下通过ip policy 命令应用route-map l 最终实现对通过该接口进入设备的数据进行检查,对匹配的数据执行规定的策略…

【深度学习】StabelDiffusion,Lora训练过程,秋叶包,Linux,SDXL Lora训练

文章目录 一、环境搭建指南二、个性化安装流程三、启动应用四、打开web五、开始训练 19.27服务器 一、环境搭建指南 打造一个高效且友好的开发环境,我们推荐使用以下简洁明了的中文资源: 项目源码获取: 通过以下命令轻松克隆项目及所有子模…

CentOS即将停服,国产化系统替代参考

国产化替代CentOS的产品有多个选择,主要包括以下几种: Alibaba Cloud Linux:阿里云提供的Linux操作系统,旨在为用户提供稳定、安全、高性能的云服务器环境。此外,阿里云还发布了“龙蜥”(Anolis OS&#x…

centos学习-网络配置命令-实用技巧

CentOS网络配置命令详解:轻松掌握网络配置技巧 在CentOS服务器的搭建和管理过程中,网络配置是至关重要的一环。良好的网络配置不仅可以确保服务器的稳定运行,还能够保障网络安全和数据传输效率。本文将详细介绍CentOS网络配置命令&#xff0…

机器学习中的 K-均值聚类算法及其优缺点

K-均值聚类算法是一种常用的聚类算法,用于将数据集划分成 K 个不同的组(簇),每个组内的数据点相似度较高,组间的数据点相似度较低。下面我将详细介绍 K-均值聚类算法及其优缺点。 K-均值聚类算法的步骤如下&#xff1…

win c++使用lua环境配置 5.3.5版本

编译lua 下载lua源码,github仓库 使用vs编译源码,新建一个静态库项目(只会生成lib文件),想要dll的话就新建dll项目(有一个lib文件和dll文件) 把lua源码下面的文件夹都是,复制到vs项目中 lib目录是我手动…

AR模块中通用对账的优化尝试

背景: 用户在唯品会下单后,是可以自由选择不同支付方式进行支付的,支付后,支付系统会将一笔收款单传送给AR,AR财务可以从此处看到收款情况。但是,真实的资金是按照不同支付方式,由银行或者其他渠…

硬件玩物 | 性价比超高的NAS,威联通【TS-464-C2】快速上手初体验!

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路。] 大家好,我是【WeiyiGeek/唯一极客】一个正在向全栈工程师(SecDevOps)前进的技术爱好者 作者微信:WeiyiGeeker 公众号/知识星球:全栈工程师修炼指南 主页博…