Linux服务器Python Matplotlib中文乱码修复指南

远山来客
远山来客
发布时间:2026-10-13| 6人浏览过
原创

本文详解在Linux服务器环境下使用Python进行K-means算法绘图时,Matplotlib出现中文乱码的解决方案。通过查找字体路径、上传simhei.ttf字体、清除缓存及修改配置文件等步骤,有效解决图表中文显示异常问题,并附带JMeter测试时的UTF-8参数设置建议。

Linux下Python Matplotlib中文乱码修复指南

1. 场景描述

在安装了Anaconda3的Linux服务器环境中运行Python的K-means算法时,生成的图表出现中文字符乱码现象。此前虽曾解决该问题但未做记录,此次在新服务器配置时再次遇到。默认情况下Matplotlib绘图会显示乱码,现将完整的解决流程整理如下,供个人备忘及有相同需求的开发者参考。

2. 解决方案

网络上存在多种解决思路,此处仅介绍经实际测试可行的操作步骤。

查看matplotlib字体位置

1. 查看matplotlib字体位置


python
import matplotlib 
print(matplotlib.matplotlib_fname())

#记录下来,字体位置我的是:/home/ruanjianlaowang/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

exit()

上传字体到服务器

2. 上传字体到服务器


cd /home/ruanjianlaowang/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf

通过FTP或其他传输方式将字体文件上传至服务器,本次使用的字体文件名为:simhei.ttf。

删除字体缓存

3. 删除字体缓存


cd ~/.cache/matplotlib
rm -rf *

重启python应用

4. 重启python应用


nohup python k-means.py &

配置文件修改与JMeter测试插曲

说明:若上述操作后仍未生效,可尝试修改相关配置文件。此前未修改此文件时未出现问题,但本次测试中遇到一个插曲:使用JMeter进行压力测试时,即便完成前述配置,图表依然显示乱码。经排查发现,这并非Matplotlib配置问题,而是JMeter本身的设置所致。


cd /home/ruanjianlaowang/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data

vi matplotlibrc 
font.family     : sans-serif #去掉前面的#
font.serif     : simhei, DejaVu Serif,  #新加了simhei

插曲

在使用JMeter进行测试时,发现即使完成所有Matplotlib配置,中文仍显示为乱码。最终在JMeter的请求参数中显式添加UTF-8编码设置后,问题得以解决。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。