当前位置: 首页 > news >正文

如何在Mac 上使用Python Matplotlib

在本文中,我将向您展示如何在 macOS Big Sur 上安装 Python,包括 NumPy、SciPy 和 Matplotlib。我将向您展示如何使用 arm64 Apple Silicon 版本原生安装上述三个库。我假设您使用的是 M1 或更新的 arm64 处理器。

MacOS Big Sur 默认搭载 Python 2.7,目前仅修复了一些错误,并且自 2020 年起已停止支持。Python 3 是未来的发展方向,所有主流 Python 库都支持它。在本教程中,我们将使用 Python 3.9,这是撰写本文时 Python 的最新稳定版本。

首先安装 macOS 的命令行工具。请注意,即使您已经安装了 Xcode,也仍然需要命令行工具。打开终端并输入:

xcode-select --install


另外需要注意的是,安装命令行工具后,您还会获得一个稍旧的 Python 3 版本 (3.8)。截至撰写本文时,无论是 https://www.python.org/ 上的官方 Python 版本还是 Apple 提供的版本,都无法使用默认的 Python 机制通过 pip 原生安装 NumPy、SciPy 或 Matplotlib。

为了能够原生安装上述三个库,我们将使用 Miniforge,Apple 也推荐使用 Miniforge 来安装其他尚未通过 pip 支持的 arm64 库。

在 Miniforge 页面上,请确保下载适用于 arm64(Apple Silicon)架构的库:

Miniforge 下载页面

您的下载文件夹中应该会包含一个名为 Miniforge3-MacOSX-arm64.sh 的文件。

接下来,打开终端,导航到“下载”文件夹,使 Miniforge3-MacOSX-arm64.sh 可执行并运行脚本:

cd Downloads
chmod +x Miniforge3-MacOSX-arm64.sh
./Miniforge3-MacOSX-arm64.sh


您可以放心地接受默认设置,并对所有问题都回答“是”。安装完成后,激活 Miniforge:

source ~/miniforge3/bin/activate


此时,您的提示符应该会显示您正在使用基础环境。如果您在终端中打开新标签页或重新启动终端,基础环境将默认激活。

现在,我们将使用 Miniforge 中的 conda 命令创建一个名为 work 的新环境(您可以使用其他名称),并激活它:

conda create -n work python=3.13
conda activate work


此时,您的提示符应该会显示您正在使用工作环境。

激活工作环境后,我们可以将 NumPy、SciPy 或 Matplotlib 安装到此环境中:

conda install numpy scipy matplotlib


请注意,如果您重新启动终端,它将恢复到基础环境。如果您需要使用工作环境或刚刚安装的库,请使用:

conda activate work


来激活它。

另外,当您处于活动环境中时,您可以使用 python 命令调用 Python 解释器,而无需使用版本号。


现在让我们尝试一些更有趣的事情,用 Matplotlib 绘制一个简单的函数。启动 Python 解释器并尝试接下来的示例。

首先,我们将使用以下命令导入 NumPy 和 Matplotlib:

1 import numpy as np
2 import matplotlib.pylab as plt
接下来,我们可以在 (0, 1) 区间定义一些点:

1 t = np.linspace(0, 1, 100)
现在,让我们绘制一个定义在上述区间的抛物线:

1 plt.plot(t, t**2)
2 plt.show()

完整的代码:

import numpy as np
import matplotlib.pylab as plt
t = np.linspace(0, 1, 100)
plt.plot(t, t**2)
plt.show()
~           


你应该看到类似这样的结果:

#Three lines to make our compiler able to draw:
import sys
import matplotlib
matplotlib.use('Agg')import matplotlib.pyplot as plt
import numpy as npxpoints = np.array([0, 6])
ypoints = np.array([0, 250])plt.plot(xpoints, ypoints)
plt.show()#Two  lines to make our compiler import numpy as np
import matplotlib.pylab as plt
t = np.linspace(0, 1, 100)
plt.plot(t, t**2)
plt.show()able to draw:
plt.savefig(sys.stdout.buffer)

 

 

http://www.xdnf.cn/news/604477.html

相关文章:

  • Redis 详解
  • G1人形机器人软硬件组成
  • vite学习笔记
  • Jenkins 2.426.2配置“构建历史的显示名称,加上包名等信息“
  • 计算机网络——每一层的用到的设备及其作用
  • Spring MVC-面试题(33)
  • Python asyncio库:基本概念与使用方法
  • voc怎么转yolo,如何分割数据集为验证集,怎样检测CUDA可用性 并使用yolov8训练安全帽数据集且构建基于yolov8深度学习的安全帽检测系统
  • React+MapBox GL JS引入URL服务地址实现自定义图标标记地点、区域绘制功能
  • vue 鼠标经过时显示/隐藏其他元素
  • FPGA高效验证工具Solidify 8.0:全面重构图形用户界面
  • 游戏引擎学习第306天:图结构排序的调试
  • QT-VStudio2107加载项目,报出“元素 <LanguageStandard>只有无效值“Default“”
  • ten-vad:低延迟、轻量化且高性能的流式语音活动检测系统
  • 2025年5月网工基础知识
  • rosbridge_suit、roslibpy 源码阅读与简单测试 —— 图片编解码与传输
  • 从 Docker 到 runC
  • 小说漫画管理系统
  • FRP技术概览
  • 黑马点评--短信登录实现
  • 针对面试-java集合篇
  • Alpha shapes算法边缘点进行排序(C++)
  • 「二叉搜索树·手撕暴走篇」:用C++《一路向北》狂写指针のの死亡轮盘!
  • 初识main函数
  • C/C++的OpenCV 进行图像梯度提取
  • [原创](计算机数学)(The Probability Lifesaver)(P14): 推导计算 In(1-u) 约等于 -u
  • 游戏引擎学习第308天:调试循环检测
  • 服务器修改/home的挂载路径
  • 课外活动:大语言模型Claude的技术解析 与 自动化测试框架领域应用实践
  • 【心海资源】【原创开发】TG,飞机,电报,协议号及直登号转API