python+mac+matplotlib 中文乱码

  1. 查看系统中有那些字体
import matplotlib.font_manager
a = sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
for i in a:
    print(i)
  1. 查看配置文件位置
     import matplotlib
     matplotlib.matplotlib_fname() #将会获得matplotlib包所在文件夹
  1. 下载微软雅黑字体并在添加,文件-》添加字体;(command+o),并且他放到 fonts/ttf 下
    窗口开的太多忘记在哪下载的了,索性传到github上吧
    微软雅黑字体下载

在这里插入图片描述
4. 取消font.famliy ,font.sans-serif 注释,并添加微软雅黑字体在这里插入图片描述
5. 重现加载字体库

from matplotlib.font_manager import _rebuild
_rebuild()
  1. 定义全局变量,使用即可
mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']
### 解决方案概述 在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() ``` 如果一切顺利的话,应该可以看到带有清晰可读汉字符号的图形窗口弹出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值