当前位置: 首页 > ds >正文

【Matplotlib】中文显示问题

中文显示问题

本地Mac上作图,可以方便地实现中文字体显示。比如在Jupter中,通过:

方法一:不下载字体库即可实现中文显示 (MAC)

plt.rcParams['font.family']=['Arial Unicode MS']

方法二:下载指定字体训即可实现中文显示

plt.rcParams['font.sans-serif'] = 'SimHei'

该方法需确保SimHei.ttf字体文件存在于:anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf

对于Linux系运行python代码的画图脚本,则需要一些额外的配置。在此记录详细过程及细节提示,以供后续参考。

1.若安装字体:

# Matplotlib中设置字体-黑体,解决Matplotlib中文乱码问题
# 解决Matplotlib坐标轴负号'-'显示为方块的问题plt.rcParams['font.sans-serif']=['SimHei']  
plt.rcParams['axes.unicode_minus']=False    

另外seaborn

sns.set(font='SimHei')  # Seaborn中设置字体-黑体,解决Seaborn中文乱码问题

  1. 若未安装字体
    a.下载simhei.tff
    b.查看位置
import matplotlib
print(matplotlib.matplotlib_fname())
/Users/bayes/anaconda3/envs/Env_3.6/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
cp ./simhei.ttf /Users/bayes/anaconda3/envs/Env_3.6/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf

c.修改配置

vi /Users/bayes/anaconda3/envs/Env_3.6/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
font.family         : sans-serif
#去掉前面的#
font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
#去掉前面的#,并在冒号后面添加SimHei
axes.unicode_minus  : False
#去掉前面的#,并将True改为False

d.缓存位置

matplotlib.get_cachedir()
'/Users/bayes/.matplotlib'
rm -rf /Users/bayes/.matplotlib

e.重启

3.各种字体大小

import matplotlib.pyplot as plt
SMALL_SIZE = 8
MEDIUM_SIZE = 10
BIGGER_SIZE = 12
plt.rc('font', size=SMALL_SIZE)          # controls default text sizes
plt.rc('axes', titlesize=SMALL_SIZE)     # fontsize of the axes title
plt.rc('axes', labelsize=MEDIUM_SIZE)    # fontsize of the x and y labels
plt.rc('xtick', labelsize=SMALL_SIZE)    # fontsize of the tick labels
plt.rc('ytick', labelsize=SMALL_SIZE)    # fontsize of the tick labels
plt.rc('legend', fontsize=SMALL_SIZE)    # legend fontsize
plt.rc('figure', titlesize=BIGGER_SIZE)  # fontsize of the figure title

http://www.xdnf.cn/news/17651.html

相关文章:

  • 企业级WEB应用服务器TOMCAT — WEB技术详细部署
  • 正点原子esp32s3探测土壤湿度
  • openpnp - 顶部相机如果超过6.5米影响通讯质量,可以加USB3.0信号放大器延长线
  • Effective C++ 条款34:区分接口继承和实现继承
  • 数据库面试题集
  • DFT的几点理解(二)
  • 计算二分类误差时的常见错误及解决方案
  • 农经权二轮延包—已有软件与后续研究
  • Spring之【详解AOP】
  • NLP 2025全景指南:从分词到128专家MoE模型,手撕BERT情感分析实战(第四章)
  • scanpy单细胞转录组python教程(三):单样本数据分析之数据标准化、特征选择、细胞周期计算、回归等
  • 制动电阻烧损记录学习
  • Spark执行计划与UI分析
  • JVM调优好用的内存分析工具!
  • jvm有哪些垃圾回收器,实际中如何选择?
  • 工业相机选择规则
  • leetcode经典题目——单调栈
  • 机器学习第八课之K-means聚类算法
  • Android 16 KB页面大小适配的权威技术方案总结
  • Android Camera 打开和拍照APK源码
  • Suno API V5 全面升级——多语言接入,开启 AI 音乐创作新时代
  • GPT‑5 重磅发布
  • 【开源】分层状态机(HFSM)解析:复杂逻辑的清晰表达与FPGA实现(附完整的Verilog交通灯案例及仿真)
  • Loki+Alloy+Grafana构建轻量级的日志分析系统
  • 随机向量正交投影定理(Orthogonal Projection Theorem, OPT)_学习笔记
  • 【YOLO学习笔记】YOLOv11详解
  • Vue 3 快速入门 第五章
  • 强制类型转换
  • 五种 IO 模型与阻塞 IO
  • vscode uv 发布一个python包:编辑、调试与相对路径导包