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()