linux设置matplotlib中文字体


linux设置matplotlib中文字体

在Linux上设置Matplotlib使用中文字体的步骤如下:

步骤 1: 安装中文字体

scp_zh/fonts/SimHei.ttf at master · StellarCN/scp_zh下载中文字体

安装SimHei字体

import matplotlib.pyplot as plt
from matplotlib import rcParams
import pandas as pd

# 设置中文字体
rcParams['font.sans-serif'] = ['SimHei']  # 或者使用 'Microsoft YaHei'
rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 示例数据
data = {'日期': ['2024-01-01', '2024-01-02', '2024-01-03'],
        '销售额': [150, 200, 250]}
df = pd.DataFrame(data)

# 绘制图表
plt.plot(df['日期'], df['销售额'])
plt.title('销售额趋势')
plt.xlabel('日期')
plt.ylabel('销售额')
plt.xticks(rotation=45)
plt.show()

执行命令找到配置目录

import matplotlib
matplotlib.matplotlib_fname()

# xxx/matplotlib/matplotlibrc

修改文件matplotlibrc,找到font.sans-serif: DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif, SimHei

vim matplotlibrc

SimHei就是我添加的中文字体

删除缓存

cd ~/.cache/matplotlib
rm * -r

步骤 2: 配置Matplotlib使用中文字体

测试代码

import matplotlib.pyplot as plt
from matplotlib import rcParams
import pandas as pd

# 设置中文字体
rcParams['font.sans-serif'] = ['SimHei']  # 或者使用 'Microsoft YaHei'
rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 示例数据
data = {'日期': ['2024-01-01', '2024-01-02', '2024-01-03'],
        '销售额': [150, 200, 250]}
df = pd.DataFrame(data)

# 绘制图表
plt.plot(df['日期'], df['销售额'])
plt.title('销售额趋势')
plt.xlabel('日期')
plt.ylabel('销售额')
plt.xticks(rotation=45)
plt.show()

文章作者: 0xdadream
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 0xdadream !
评论
  目录