【超简单超清楚】mac环境matplotlib的中文配置

本文介绍在Matplotlib中正确显示中文标签的方法。适用于mac+homebrew环境下Python3.5及Matplotlib2.0版本。提供了两种解决方案:一是指定本地中文字体路径;二是从已注册字体中选择合适的中文字体。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家知道,matplotlib库中没有中文字体

所以我们如果需要显示一些中文label就需要进行配置。

我的环境: mac +  homebrew安装的python3.5 + matplotlib 2.0 

参考了网上很多文章, 很多方法在我这里都不可行。

比如:

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

该方法在我这里并不可行 微笑


######################################################


亲测可行方法


1.  比较蠢,考诉matplotlib你要用哪个中文字体。

另外,不需要把这些字体copy到

/usr/local/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf/ 只需要告诉matplotlib路径就行了。

from matplotlib.font_manager import FontProperties
font=FontProperties(fname='/Library/Fonts/Hanzipen.ttc',size=10)
ax1.set_xticklabels(ability_labels,fontproperties=font)

另外就是这个设置字体,要找起来非常简单,打开Alfred,输入font



好多字体可以选呢~ 我们选择第一个字体册,然后选一个你喜欢的中文字体。


我随便选了一个翩翩体,设置FontProperties为这个路径,然后告诉你的中文label用这个字体即可。

效果如下:



2. 参考自知乎 https://www.zhihu.com/question/25404709  @hengchao0248 的回答

不需要下载添加任何字体!

import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])

for i in a:
	print i


首先打印出你的font_manager的ttflist中所有注册的名字,你会得到246个注册名字,有常见的Times New Roman,也有不太常见的。

我大致看了一下,有一些看着就很像中文字体啊,比如这个STFangsong 仿宋啊有木有! Weibei SC 这个看着像北魏啥的

然后直接在python文件中加一条语句就ok了:

plt.rcParams['font.family']=['STFangsong']


对,没有错,选一个你喜欢的,设置font.family, 然后就OK了。那些 matplotlibrc 文件,~/.matplotlib/下的cache文件,统统不用改!!!只需要加一条设置font.family 的句子就行了!!!








另外,推荐一下 @Ray 的答案,我没有试,但是我觉得这是一个很不错的solution。

作者:Ray
链接:https://www.zhihu.com/question/25404709/answer/261291501
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

环境: Python 2.7

在Mac上和Windows上进行过测试,发现目前最简洁的方案应该是Pyplotz。基于matplotlib,无需修改任何设置,也可以和matplotlib,pandas,seaborn进行无缝衔接。关键是,跨平台还无需设置。目前支持 Python 2.7 和 Python 3。

(1)安装方式:

使用pip安装: pip install pyplotz

(2)使用示例

201528015329004/pyplotz

(3)这是它的github网站:

201528015329004/pyplotz





<think>好的,我现在要帮用户解决如何配置Gymnasium的Atari环境的问题。用户之前已经询问过如何安装Gymnasium,现在他们想进一步配置Atari环境,可能需要运行Atari游戏相关的强化学习任务。 首先,我需要回顾之前的对话,用户可能已经安装了基础的Gymnasium,但Atari环境需要额外的依赖和ROM文件。用户可能遇到了安装Atari依赖的问题,或者不知道如何获取ROM文件。 接下来,我需要分解步骤。配置Atari环境通常需要安装对应的依赖包,比如`gymnasium[atari]`,然后处理ROM文件的问题。因为ROM文件的版权问题,Gymnasium不能直接包含这些文件,用户需要自己获取。 然后,我需要考虑不同操作系统的差异。例如,Linux和Windows用户可能需要不同的步骤来安装依赖,比如安装CMake或者其他编译工具。此外,用户可能对如何设置ROM路径不太清楚,需要给出具体的代码示例。 另外,用户可能遇到的常见问题包括安装失败,可能是因为缺少系统依赖,或者ROM文件路径不正确。需要提前预见到这些问题,并提供解决方法,比如手动安装swig或者通过第三方库安装ROM。 还要提醒用户使用虚拟环境,避免依赖冲突,这在之前的回答中已经提到过,但这里可以再次强调,确保环境隔离。 最后,需要验证安装是否成功,建议用户运行一个简单的测试脚本,比如Pong游戏,并观察是否有图像界面弹出。如果出现问题,指导用户如何排查,比如检查ROM路径或重新安装依赖。 总结步骤:安装Atari依赖、获取ROM文件、配置ROM路径、处理系统依赖、验证安装。同时,需要给出具体的命令和代码示例,确保用户能够一步步操作。还要注意版权问题,提醒用户合法获取ROM文件,可能推荐使用`autorom`工具来自动处理。</think>以下是配置 **Gymnasium Atari环境** 的详细指南: --- ### 1. **核心依赖安装** 安装Atari支持的扩展包(需提前安装基础`gymnasium`): ```bash pip install gymnasium[atari] # 安装Atari依赖项 ``` - **注意**:部分系统需先安装 `cmake` 和 `zlib` 开发库: - **Linux**: ```bash sudo apt-get install cmake zlib1g-dev ``` - **Windows**:通过 [CMake官网](https://cmake.org/download/) 手动安装CMake --- ### 2. **ROM文件配置** Atari环境依赖游戏ROM文件(Gymnasium不直接提供): #### 合法获取方式: - **推荐工具**:使用 `AutoROM` 工具自动下载ROM(需接受条款): ```bash pip install autorom # 安装AutoROM AutoROM --accept-license # 自动下载并安装ROM ``` - 安装后ROM默认存储路径:`~/.gymnasium/roms/` - **手动配置**: 1. 从合法渠道获取ROM文件(如购买[Atari 2600合集](https://www.atari.com/)) 2. 设置环境变量指定ROM路径: ```python import gymnasium as gym env = gym.make("ALE/Pong-v5", rom_path="/your/roms/path") ``` --- ### 3. **验证Atari环境** 运行以下代码测试Pong游戏环境: ```python import gymnasium as gym env = gym.make("ALE/Pong-v5", render_mode="human") obs, info = env.reset() for _ in range(1000): action = env.action_space.sample() # 随机动作 obs, reward, terminated, truncated, _ = env.step(action) if terminated or truncated: obs, info = env.reset() env.close() ``` - **成功标志**:弹出一个Pong游戏窗口并显示随机动作效果 --- ### 4. **常见问题解决** - **报错`ROM Missing`**: - 确保ROM文件已正确放置到 `~/.gymnasium/roms/` 或通过 `rom_path` 指定路径 - 检查ROM文件名是否匹配(如 `pong.bin`) - **渲染黑屏/卡顿**: - 尝试更换渲染模式为 `rgb_array` 后手动显示图像: ```python import matplotlib.pyplot as plt plt.imshow(env.render()) # 替代 render_mode="human" ``` - **依赖冲突**: - 使用虚拟环境隔离安装(推荐): ```bash python -m venv atari_env source atari_env/bin/activate # Linux/Mac atari_env\Scripts\activate # Windows ``` --- ### 5. **高级配置** - **帧跳过与帧堆叠**: ```python env = gym.make("ALE/Pong-v5", frameskip=4, # 每动作执行4帧 repeat_action_probability=0.25) # 动作重复概率 ``` - **禁用声音加速渲染**: ```python env = gym.make("ALE/Pong-v5", render_mode="rgb_array", sound=False) ``` --- ### 6. **参考资源** - ROM文件合法性说明:[Atari Age Forum](https://atariage.com/) - 官方Atari环境文档:[Gymnasium Atari Docs](https://gymnasium.farama.org/environments/atari/) --- 通过以上步骤,你可以完整配置Atari强化学习环境。如果遇到复杂问题,建议查阅官方GitHub仓库的[Issues页面](https://github.com/Farama-Foundation/Gymnasium/issues)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值