How to solve matplotlib Chinese garbled characters in Ubuntu 22.04

发布于:2024-04-29 ⋅ 阅读:(20) ⋅ 点赞:(0)
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()

在这里插入图片描述

参考文献