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

Python 绘图中文乱码快速搞定

温馨提示:若页面不能正常显示数学公式和代码,请阅读原文获得更好的阅读体验。

作者:丁闪闪(连享会)
邮箱:lianxhcn@163.com

Title:Python 绘图中文乱码快速搞定
Keywords:Python 绘图,Matplotlib,中文乱码,可视化, SimHei, 微软雅黑, 黑体

数据可视化是数据分析和实证分析的关键步骤。然而,很多同学在使用 AI 生成 Python 绘图代码时,往往会卡在最后关头:

代码运行完美,生成的图表却满屏都是方框(俗称「豆腐块」)。原本清晰的「收益率」变成了「□□□」,本该展示负值趋势的减号-也变成了乱码。

1. 为什么会出现中文乱码?

原因很简单:Python 最常用的绘图库Matplotlib默认调用的是英文环境下的字体(如DejaVu Sans)。这些字体库中并不包含汉字的点阵信息。

当 AI 为你写代码时,它通常只会完成绘图逻辑。如果你不明确告知你的操作系统(Windows 或 Mac),它给出的通用代码在中文环境下几乎必然「翻车」。

2. 核心解决方案:针对性「止痛药」

对于绝大多数同学来说,你不需要复杂的兼容性设置。根据你目前的电脑系统,直接将下面对应的代码块粘贴到import语句之后即可。

A. Windows 用户(最常用)

Windows 系统自带了「黑体」(SimHei),两行代码即可搞定。

import matplotlib.pyplot as plt # 1. 设置中文字体为黑体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 2. 解决负号 '-' 显示为方块的问题 plt.rcParams['axes.unicode_minus'] = False

B. macOS 用户

Mac 系统推荐使用「华文黑体」(STHeiti),显示效果非常细腻。

import matplotlib.pyplot as plt # 1. 设置中文字体为华文黑体 plt.rcParams['font.sans-serif'] = ['STHeiti'] # 2. 解决负号 '-' 显示为方块的问题 plt.rcParams['axes.unicode_minus'] = False

3. 进阶:跨平台通用设置

如果需要编写一份既能在自己电脑运行,又能让合作者(不同系统)直接使用的通用性代码,建议使用以下跨平台通用配置

import matplotlib.pyplot as plt def set_ch_style(): # 解决负号乱码 plt.rcParams['axes.unicode_minus'] = False # 定义字体备选名单:按顺序自动匹配,谁有就用谁 plt.rcParams['font.sans-serif'] = [ 'Microsoft YaHei', # Windows: 微软雅黑 'SimHei', # Windows: 黑体 'Arial Unicode MS', # macOS: 通用中文字体 'Heiti SC', # macOS: 华文黑体 'sans-serif' # 保底方案 ] # 执行初始化 set_ch_style()

4. 驯服 AI:如何给 AI 发指令?

在向 ChatGPT 或 Claude 索要绘图代码时,为了避免反复修改,请在提示词中加入这一段「金句」。

提示词模板:

请帮我写一段 Python 绘图代码。要求:

  1. 我的系统是Windows / Mac,请务必包含对应的plt.rcParams设置以解决中文乱码和负号问题。
  2. 导出图片时请使用plt.savefig(..., dpi=300, bbox_inches='tight')
  3. 图表的标题、坐标轴标签请全部使用中文。

5. 小贴士:图片格式和质量

如果你打算将图表发布在GitHub Pages、博客或公众号平台,请务必注意图片质量:

  • 格式选 PNG:在网页和微信推文中,.png的兼容性最好。
  • 清晰度选 300 DPI:默认的绘图往往很模糊,在保存时设置dpi=300,即便在手机端放大查看,文字依然锐利。
  • 自动修剪边缘:添加bbox_inches='tight'参数可以自动剪掉多余的白边,让图表在推文中排版更紧凑。
# 推荐的保存方式 plt.savefig('my_research_plot.png', dpi=300, bbox_inches='tight')

掌握了这几招,你就能专注于实证逻辑本身,不再为「豆腐块」乱码而烦恼。

6. 常见问题与排查

  1. 设置后仍然乱码:重启 Python 内核或重启编辑器,重新运行一遍设置代码。
  2. macOS 提示字体不存在:可将字体改为Arial Unicode MSPingFang SC
  3. 负号依旧方块:检查是否遗漏了plt.rcParams['axes.unicode_minus'] = False

7. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh python 图 +, nocat md2
安装最新版lianxh命令:
ssc install lianxh, replace

  • 张祖冲, 2025, disfit:随心所欲拟合各种常见分布函数-Python.
  • 张逸林, 2025, 前因后果,一图了然:基于bnlearn的因果推理与Python实操.
  • 张逸林, 2025, 手把手人工神经网络系列(二):卷积神经网络(CNN).
  • 彭晴, 2026, Python绘图神器seaborn:直方图-密度图-小提琴图-热力图.
  • 王卓, 2022, Python:绘制动态地图-pyecharts.
  • 王烨文, 2025, Python:手绘风格的可视化图形.
  • 连享会, 2021, Stata-Python交互-5:边际效应三维立体图示.
  • 连小白, 2025, AI助手系列:借助AI工具复现高质量图形.
  • 陈云菲, 2025, 新书推荐:《图解大模型》轻松上手 LLM!.
  • 陈卓然, 2023, Python金融分析系列-2:数据可视化.

推荐课程:

资源共享

  • 连享会资料 ……
  • 在线视频:lianxh-class.cn
    • Stata 33 讲,100 万+ 播放,Stata 入门必备,公开课
    • 直击面板数据模型,10 万+ 播放,白话面板模型,公开课
    • … more …
  • 论文复现和数据
    • 学术论文重现网站大全
    • 常用数据库 | 人文社科开放数据库
  • 主题分类
    • 所有分类| Stata教程 | 结果输出 | 绘图 | 数据处理
    • 回归分析 | 面板数据 | 交乘项 | 因果推断 | DID | RDD
    • Markdown | 工具软件 | 机器学习 | 其它
  • 热门推文
    • Stata:DID 入门教程
    • 稳健性检验! | 安慰剂检验! | 内生性!
    • 面板数据模型 | 聚类调整后的标准误

温馨提示:若页面不能正常显示数学公式和代码,请阅读原文获得更好的阅读体验。

http://www.cnnetsun.cn/news/2218343.html

相关文章:

  • 魔兽世界GSE宏编译器终极指南:告别复杂操作,实现一键智能连招
  • Windows 11终极瘦身指南:用Win11Debloat轻松告别系统臃肿
  • 如何在macOS上使用HSTracker免费提升炉石传说胜率:终极指南
  • KMS智能激活工具:Windows和Office永久激活终极指南
  • 创业团队如何通过taotoken低成本试用多种主流大模型
  • 别再死磕官方文档了!MuJoCo XML建模避坑指南:从`<compiler>`到`<geom>`的实战配置详解
  • NewTab Redirect终极指南:如何轻松自定义Chrome新标签页
  • PromptBridge:大语言模型提示工程的跨模型迁移解决方案
  • Godot-MCP:用AI对话创建游戏,5分钟开启智能开发新时代
  • Speechless:无需登录,5分钟掌握微博内容永久备份的完整方案
  • Harepacker-resurrected终极指南:解密MapleStory游戏资源编辑与地图创作
  • 别再死记硬背公式了!用Multisim仿真带你直观理解最大功率传输定理
  • 从‘无法访问’到‘轻松保存’:一个Android相册保存功能的重构实战(TargetSdkVersion 30+)
  • 华硕笔记本终极控制神器GHelper:免费轻量级性能优化完全指南
  • 观察taotoken在多地域访问下的路由优化与容灾表现
  • C++量子计算模拟框架深度对比(QPP、QCL、XACC三强实测报告)
  • MYC-YG2UL工业级SoM:异构计算与工业应用解析
  • 抖音批量下载完整指南:一键保存所有喜爱内容
  • 掌握Notepad--文件关联配置:打造你的专属文本编辑体验
  • 终极指南:如何用Firmware Extractor一键提取20+种Android固件格式
  • Taotoken 多模型聚合平台为数据分析工作流注入 AI 动力
  • 当科学发现遇上个人偏见:从光电效应看学术争议如何塑造物理学史
  • 如何用BilibiliDown高效下载B站视频?全面解析这款开源工具的实用技巧
  • 通过curl命令直接测试Taotoken聊天接口的完整步骤
  • Obsidian Excel插件技术解析:在知识库中实现结构化数据工作流
  • Tushare Pro接口保姆级入门:从注册Token到获取第一份股票日线数据
  • 哔咔漫画下载器:打造个人永久漫画库的完整解决方案
  • OpenCV玩转热力图:用applyColorMap给灰度图‘穿’上22套‘皮肤’,Python代码保姆级教程
  • 为什么Linux内核开发者集体反对C++27协程默认调度器?——嵌入式+实时OS场景下不可绕过的7个硬约束
  • 网盘直链解析技术全解析:突破下载限制的专业解决方案