当前位置:首页>python>Python 绘图中文乱码快速搞定

Python 绘图中文乱码快速搞定

  • 2026-10-11 08:22:44
Python 绘图中文乱码快速搞定

👇 连享会 · 推文导航 |www.lianxh.cn

连享会:2026五一论文班 · 线上
时间:5月2-4日
嘉宾:郭士祺 (上海交通大学)、戚树森 (厦门大学)、李学恒 (中山大学)
咨询:王老师 18903405450(微信)

 本次课程框架为:因果证据链的构建 → 在顶刊论文中感受和校准这套因果证据链判断 → AI Agent 辅助实现完成

  • • 先导课报名后可看回放
  • • 从「会跑回归」到「会做研究设计」。 从 RCT 出发,覆盖 DID、固定效应、工具变量的识别逻辑与论证策略,重点不在方法本身,而在于如何围绕一个研究问题构建完整的因果证据链——这是 AI 替代不了、也最值得花时间打磨的核心能力。
  • • 顶刊论文,原作者精讲。 戚树森老师亲自讲解自己参与完成的 Review of Finance 论文,覆盖选题缘起、识别策略设计、审稿意见的回应过程——不只是呈现结果,而是还原论文背后真实的决策过程。
  • • 用 AI Agent 真正解放执行环节。 学完这门课,你将掌握两套可以直接上手的 AI Agent 工作流——文献综述和论文修改——并理解如何把自己的研究方法论写成 Skill,让 Agent 按照你的标准自动执行,而不是每次重新解释。

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

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. 1. 我的系统是 Windows / Mac,请务必包含对应的 plt.rcParams 设置以解决中文乱码和负号问题。
  2. 2. 导出图片时请使用 plt.savefig(..., dpi=300, bbox_inches='tight')。
  3. 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. 1. 设置后仍然乱码:重启 Python 内核或重启编辑器,重新运行一遍设置代码。
  2. 2. macOS 提示字体不存在:可将字体改为 Arial Unicode MS 或 PingFang SC。
  3. 3. 负号依旧方块:检查是否遗漏了 plt.rcParams['axes.unicode_minus'] = False。

7. 相关推文

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

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

连享会:2026五一论文班 · 线上
时间:5月2-4日
嘉宾:郭士祺 (上海交通大学)、戚树森 (厦门大学)、李学恒 (中山大学)
咨询:王老师 18903405450(微信)

New! Stata 搜索神器:lianxh 和 songblGIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉  使用:
. lianxh DID 倍分法
. songbl all

🍏 关于我们

  • • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • • 直通车: 👉【百度一下:连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。

引用链接

[1] lianxhcn@163.com: mailto:lianxhcn@163.com
[2] disfit:随心所欲拟合各种常见分布函数-Python: https://www.lianxh.cn/details/1667.html
[3] 前因后果,一图了然:基于bnlearn的因果推理与Python实操: https://www.lianxh.cn/details/1699.html
[4] 手把手人工神经网络系列(二):卷积神经网络(CNN): https://www.lianxh.cn/details/1733.html
[5] Python绘图神器seaborn:直方图-密度图-小提琴图-热力图: https://www.lianxh.cn/details/1746.html
[6] Python:绘制动态地图-pyecharts: https://www.lianxh.cn/details/922.html
[7] Python:手绘风格的可视化图形: https://www.lianxh.cn/details/1596.html
[8] Stata-Python交互-5:边际效应三维立体图示: https://www.lianxh.cn/details/555.html
[9] AI助手系列:借助AI工具复现高质量图形: https://www.lianxh.cn/details/1584.html
[10] 新书推荐:《图解大模型》轻松上手 LLM!: https://www.lianxh.cn/details/1603.html
[11] Python金融分析系列-2:数据可视化: https://www.lianxh.cn/details/1295.html

最新文章

随机文章