目录
? 基本 3D 曲面图示例
? 说明
? 其他常见 3D 图类型(简要示例)
1. 3D 散点图(Scatter Plot)
2. 3D 曲线图(Line Plot)
3. 3D 柱状图(Bar Plot)
✅ 小贴士
首页 后端开发 Python教程 Python matplotlib 3D图示例

Python matplotlib 3D图示例

Jul 31, 2025 am 06:53 AM

首先使用 matplotlib 和 mpl_toolkits.mplot3d 绘制 3D 曲面图,具体步骤为:1. 用 np.linspace 和 np.meshgrid 创建二维网格数据;2. 计算对应 Z 值;3. 创建 projection='3d' 的坐标轴;4. 调用 ax.plot_surface 绘制曲面并设置颜色映射;5. 添加标题、坐标轴标签和颜色条;6. 使用 plt.show() 显示图形,该方法可扩展至 3D 散点图、曲线图和柱状图。

python matplotlib 3d plot example

下面是一个使用 Python 的 matplotlib 绘制 3D 图的简单示例,展示如何绘制一个三维曲面图(3D surface plot)。这个例子使用了 mpl_toolkits.mplot3d 模块来支持 3D 绘图。

python matplotlib 3d plot example

? 基本 3D 曲面图示例

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D  # Required for 3D plotting

# 创建数据
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2   Y**2))  # 示例函数:径向正弦

# 创建 3D 图像
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')

# 绘制曲面
surf = ax.plot_surface(X, Y, Z, cmap='viridis', edgecolor='none', alpha=0.9)

# 添加标题和标签
ax.set_title('3D Surface Plot of sin(r)')
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')

# 添加颜色条
fig.colorbar(surf, ax=ax, shrink=0.5, aspect=10)

# 显示图形
plt.show()

? 说明

  • np.meshgrid: 将一维的 x 和 y 转换为二维网格,用于计算每个 (x, y) 点对应的 z 值。
  • projection='3d': 启用 3D 坐标轴。
  • plot_surface: 绘制 3D 曲面图,cmap 控制颜色映射。
  • alpha: 控制透明度(可选)。
  • colorbar: 显示高度(Z值)对应的颜色刻度。

? 其他常见 3D 图类型(简要示例)

1. 3D 散点图(Scatter Plot)

ax.scatter(X.flatten(), Y.flatten(), Z.flatten(), c=Z.flatten(), cmap='coolwarm', s=10)

2. 3D 曲线图(Line Plot)

t = np.linspace(0, 10, 100)
x = np.sin(t)
y = np.cos(t)
z = t
ax.plot(x, y, z, label='3D螺旋线')
ax.legend()

3. 3D 柱状图(Bar Plot)

x = y = np.arange(4)
xx, yy = np.meshgrid(x, y)
x, y = xx.ravel(), yy.ravel()
z = np.zeros_like(x)
dx = dy = 0.5 * np.ones_like(x)
dz = np.random.rand(16)
ax.bar3d(x, y, z, dx, dy, dz, shade=True)

✅ 小贴士

  • 确保已安装 matplotlib
    pip install matplotlib
  • Axes3D 导入虽然在新版本中有时可省略,但显式导入更保险。
  • 可通过 ax.view_init(elev, azim) 调整视角(仰角、方位角)。

  • 基本上就这些。这个例子足够帮你开始用 Matplotlib 做 3D 可视化了。不复杂但容易忽略细节,比如 meshgridprojection='3d'

    以上是Python matplotlib 3D图示例的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Stock Market GPT

Stock Market GPT

人工智能驱动投资研究,做出更明智的决策

Clothoff.io

Clothoff.io

AI脱衣机

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用Python自动化从Excel到Web表单的数据输入? 如何使用Python自动化从Excel到Web表单的数据输入? Aug 12, 2025 am 02:39 AM

使用Python自动化将Excel数据填入网页表单的方法是:先用pandas读取Excel数据,再用Selenium控制浏览器自动填写并提交表单;具体步骤包括安装pandas、openpyxl和Selenium库,下载对应浏览器驱动,用pandas读取data.xlsx文件中的Name、Email、Phone等字段,通过Selenium启动浏览器打开目标网页,定位表单元素并逐行填入数据,使用WebDriverWait处理动态加载内容,添加异常处理和延迟确保稳定性,最后提交表单并循环处理所有数据行

Python中的类方法是什么 Python中的类方法是什么 Aug 21, 2025 am 04:12 AM

ClassmethodsinPythonareboundtotheclassandnottoinstances,allowingthemtobecalledwithoutcreatinganobject.1.Theyaredefinedusingthe@classmethoddecoratorandtakeclsasthefirstparameter,referringtotheclassitself.2.Theycanaccessclassvariablesandarecommonlyused

如何处理不适合内存的Python中的大型数据集? 如何处理不适合内存的Python中的大型数据集? Aug 14, 2025 pm 01:00 PM

当Python中处理超出内存的大型数据集时,不能一次性加载到RAM中,而应采用分块处理、磁盘存储或流式处理等策略;可通过Pandas的chunksize参数分块读取CSV文件并逐块处理,使用Dask实现类似Pandas语法的并行化和任务调度以支持大内存数据操作,编写生成器函数逐行读取文本文件减少内存占用,利用Parquet列式存储格式结合PyArrow高效读取特定列或行组,使用NumPy的memmap对大型数值数组进行内存映射以按需访问数据片段,或将数据存入SQLite或DuckDB等轻量级数据

HDF5 数据集名称与组名称冲突:解决方案与最佳实践 HDF5 数据集名称与组名称冲突:解决方案与最佳实践 Aug 23, 2025 pm 01:15 PM

本文针对使用 h5py 库操作 HDF5 文件时,数据集名称与组名称冲突的问题,提供详细的解决方案和最佳实践。文章将深入分析冲突产生的原因,并提供代码示例,展示如何有效地避免和解决此类问题,确保 HDF5 文件的正确读写。通过本文,读者将能够更好地理解 HDF5 文件结构,并编写更健壮的 h5py 代码。

python asyncio队列示例 python asyncio队列示例 Aug 21, 2025 am 02:13 AM

asyncio.Queue是用于异步任务间安全通信的队列工具,1.生产者通过awaitqueue.put(item)添加数据,消费者用awaitqueue.get()获取数据;2.每处理完一项需调用queue.task_done(),以便queue.join()等待所有任务完成;3.使用None作为结束信号通知消费者停止;4.多个消费者时,需发送多个结束信号或在取消任务前确保所有任务已处理完毕;5.队列支持设置maxsize限制容量,put和get操作自动挂起不阻塞事件循环,程序最终通过canc

python numpy阵列示例 python numpy阵列示例 Aug 08, 2025 am 06:13 AM

NumPy数组的使用包括:1.创建数组(如从列表、全零、全一、范围创建);2.形状操作(reshape、转置);3.向量化运算(加减乘除、广播、数学函数);4.索引与切片(一维和二维操作);5.统计计算(最大值、最小值、均值、标准差、求和及轴向操作);这些操作高效且无需循环,适合大规模数值计算,最终掌握需多加练习。

如何使用Python进行股票市场分析和预测? 如何使用Python进行股票市场分析和预测? Aug 11, 2025 pm 06:56 PM

Python可以用于股票市场分析与预测,答案是肯定的,通过使用yfinance等库获取数据,利用pandas进行数据清洗和特征工程,结合matplotlib或seaborn进行可视化分析,再运用ARIMA、随机森林、XGBoost或LSTM等模型构建预测系统,并通过回测评估性能,最终可借助Flask或FastAPI部署应用,但需注意市场预测的不确定性、过拟合风险及交易成本影响,成功依赖于数据质量、模型设计和合理预期。

如何使用Python中的RE模块使用正则表达式? 如何使用Python中的RE模块使用正则表达式? Aug 22, 2025 am 07:07 AM

正则表达式在Python中通过re模块实现,用于搜索、匹配和操作字符串。1.使用re.search()在整个字符串中查找第一个匹配项,re.match()仅在字符串开头匹配;2.用括号()捕获匹配的子组,可命名以提高可读性;3.re.findall()返回所有非重叠匹配的列表,re.finditer()返回匹配对象的迭代器;4.re.sub()替换匹配的文本,支持函数动态替换;5.常用模式包括\d、\w、\s等,可使用re.IGNORECASE、re.MULTILINE、re.DOTALL、re

See all articles