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

大家知道,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>好的,用户现在问的是关于Python框架和环境的介绍。让我先理清楚他们的需求。用户之前问了关于如何使用DeepSeek进行独立样本检验,现在转向Python相关的问题,可能是想进一步了解如何在实际编程中应用统计分析,或者他们想开始学习Python用于数据分析。 首先,用户可能不太清楚Python框架和环境的区别,或者他们想了解在数据科学中常用的框架有哪些,以及如何设置开发环境。我需要确保回答覆盖这两个方面:框架和环境。 在框架部分,常见的Python框架和库包括Django、Flask用于Web开发,TensorFlow、PyTorch用于机器学习,Pandas、NumPy用于数据处理。用户之前的问题涉及统计分析,所以可能需要强调数据分析相关的库,比如SciPy、Pandas,以及可能用于机器学习的库如Scikit-learn。同时,可能用户对深度学习框架感兴趣,比如TensorFlow或PyTorch,但需要根据他们的问题来判断。不过,用户的问题比较宽泛,所以应该涵盖主要框架。 然后是环境部分,这里需要解释Python虚拟环境的重要性,常用的工具如venv、conda,以及如何管理依赖。此外,可能还需要提到开发工具,比如Jupyter Notebook、IDE(如PyCharm、VSCode),以及包管理工具pip和conda。环境管理对于项目隔离和依赖控制非常关键,特别是当用户处理多个项目时,不同的项目可能需要不同版本的库。 接下来,我需要考虑用户的潜在需求。他们可能刚开始学习Python,或者已经有一定基础,想要进入数据科学领域。因此,回答需要结构清晰,分点说明,让用户能够逐步了解框架和环境的概念,同时提供实际例子,比如安装命令和创建虚拟环境的步骤,这样用户可以直接应用这些知识。 另外,用户可能对如何选择框架和环境管理工具感到困惑,因此需要给出建议,比如根据项目类型选择框架,推荐使用conda或venv进行环境管理。还要提醒常见问题,比如版本冲突,以及如何解决这些问题,比如使用虚拟环境。 最后,确保语言简洁明了,避免使用过多技术术语,但也要准确。可能需要给出一个总结性的步骤指南,帮助用户快速上手,比如从安装Python开始,到创建环境,安装库,运行代码的流程。这样用户即使没有太多经验,也能按照步骤操作。</think>以下是关于 **Python框架** 和 **开发环境** 的详细介绍,涵盖常用工具和配置建议: --- ### **一、Python框架分类** Python框架是预先构建的代码库或工具集,用于简化特定类型应用的开发。以下是主要分类及代表框架: #### **1. Web开发框架** - **Django** - **特点**:全栈框架,内置ORM、模板引擎、认证系统,适合快速构建复杂Web应用。 - **适用场景**:企业级网站、内容管理系统(CMS)。 - **示例代码**: ```python from django.http import HttpResponse def hello(request): return HttpResponse("Hello, Django!") ``` - **Flask** - **特点**:轻量级微框架,灵活易扩展,适合小型项目或API开发。 - **适用场景**:RESTful API、微服务。 - **示例代码**: ```python from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Hello, Flask!" ``` - **FastAPI** - **特点**:高性能异步框架,自动生成API文档,适合现代Web开发。 - **适用场景**:高性能API、实时数据处理。 --- #### **2. 数据科学与机器学习框架** - **NumPy & Pandas** - **用途**:数值计算(NumPy)、数据清洗与分析(Pandas)。 - **示例**: ```python import pandas as pd data = pd.read_csv("data.csv") ``` - **Scikit-learn** - **用途**:传统机器学习(分类、回归、聚类)。 - **示例**: ```python from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() model.fit(X_train, y_train) ``` - **TensorFlow/PyTorch** - **用途**:深度学习模型开发(TensorFlow适合生产,PyTorch适合研究)。 --- #### **3. 自动化与脚本工具** - **Selenium**:浏览器自动化(如网页测试、爬虫)。 - **Scrapy**:专业爬虫框架。 - **Automagica**:桌面自动化(模拟鼠标键盘操作)。 --- ### **二、Python开发环境配置** 开发环境是编写、运行和调试代码的工具集合,以下是核心组件: #### **1. Python解释器** - **安装**:从 [Python官网](https://www.python.org/) 下载对应操作系统的版本(推荐Python 3.7+)。 - **验证安装**: ```bash python --version # 或 python3 --version ``` #### **2. 虚拟环境管理** 隔离项目依赖,避免版本冲突: - **venv**(内置工具): ```bash python -m venv myenv # 创建虚拟环境 source myenv/bin/activate # 激活(Linux/Mac) myenv\Scripts\activate # 激活(Windows) ``` - **Conda**(跨平台,适合科学计算): ```bash conda create --name myenv python=3.9 conda activate myenv ``` --- #### **3. 包管理工具** - **pip**:Python官方包管理器。 ```bash pip install numpy # 安装包 pip freeze > requirements.txt # 导出依赖 ``` - **Poetry**:高级依赖管理(自动处理版本兼容性)。 --- #### **4. 开发工具(IDE/编辑器)** - **PyCharm**:专业Python IDE,功能强大(适合大型项目)。 - **VS Code**:轻量级编辑器,通过插件支持Python开发。 - 必备插件:Python、Pylance、Jupyter。 - **Jupyter Notebook**:交互式数据分析工具(适合快速实验)。 --- #### **5. 代码质量工具** - **Linters**:检查代码风格(如Pylint、Flake8)。 - **Formatters**:自动格式化代码(如Black、Autopep8)。 --- ### **三、环境配置示例** 以数据科学项目为例: 1. **创建虚拟环境**: ```bash conda create -n datascience python=3.10 conda activate datascience ``` 2. **安装依赖包**: ```bash pip install numpy pandas matplotlib scikit-learn jupyter ``` 3. **启动Jupyter Notebook**: ```bash jupyter notebook ``` --- ### **四、框架选择建议** - **Web开发**:Django(全功能) vs Flask/FastAPI(轻量级)。 - **数据分析**:Pandas + Jupyter。 - **深度学习**:PyTorch(研究优先)或 TensorFlow(生产优先)。 --- ### **五、常见问题** 1. **版本冲突**:使用虚拟环境隔离不同项目。 2. **依赖安装失败**:检查Python版本和操作系统兼容性。 3. **调试困难**:在IDE中设置断点(如VS Code的调试模式)。 --- 通过合理选择框架和配置环境,可以大幅提升开发效率!如果需要更具体的工具链配置(如深度学习环境),请进一步说明需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值