mac上Matplotlib中文乱码问题

解决Python绘图中文显示问题
本文介绍如何在使用matplotlib或seaborn进行数据可视化时,解决中文字符无法正常显示的问题。通过设置字体参数,确保在不同操作系统下中文能够正确显示。
部署运行你感兴趣的模型镜像

本地 python3版本
用matplotlib或seaborn作图时,出现以下告警,表明是中文显示的问题。

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

(此条可能只适用于mac,上面这条不管用,改成下面的字体)

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']

管用!

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### 解决方案概述 在Mac操作系统中解决`matplotlib`中文显示乱码问题主要涉及设置合适的字体以及确保这些字体被正确加载到环境中。通过调整Matplotlib的配置参数并安装兼容的中文字体,可以有效避免中文字符显示为方块或乱码的情况。 ### 安装适合的中文字体 对于Mac用户而言,推荐安装支持中文字体如'SimHei'(黑体)[^3]。可以通过网络资源获取`.ttf`格式的字体文件,并将其放置于系统的Fonts目录下以便全局调用: ```bash # 下载SimHei.ttf至本地磁盘某位置 cd ~/Downloads/ curl -O http://example.com/path_to/SimHei.ttf # 替换URL为实际下载链接 # 将字体移动到系统字体库 cp SimHei.ttf ~/Library/Fonts/ ``` ### 修改Matplotlib配置以适应新字体 为了让Matplotlib识别刚刚添加的新字体,在脚本开头加入如下代码片段来指定使用的字体族名称: ```python import matplotlib from matplotlib import pyplot as plt plt.rcParams["font.family"] = "SimHei" plt.rcParams['axes.unicode_minus'] = False # 处理负号(-)显示异常问题 ``` 另外一种方式是在运行环境变量里临时改变rcParams字典内的键值对,这适用于不想永久修改配置的情形;也可以直接编辑位于站点包(`site-packages`)下的`matplotlib/mpl-data/matplotlibrc`文件,将其中关于`sans-serif`的部分改为已知可用的中文字体名列表[^4]。 ### 验证更改效果 完成上述步骤之后,创建简单的图表测试是否能正常渲染汉字: ```python fig, ax = plt.subplots() ax.set_title('这是一个标题') ax.plot([0, 1], [0, 1]) plt.show() ``` 如果一切顺利的话,应该可以看到带有清晰可读汉字符号的图形窗口弹出。
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值