Python绘制定制3D曲面图

简介: 8月更文挑战第19天

使用Python绘制和定制3D曲面图可以通过多种库来实现,其中最常用的是Matplotlib和Mayavi。以下是使用Matplotlib的示例代码,展示如何绘制一个简单的3D曲面图并进行定制。
Matplotlib 是一个用于创建数据可视化的 Python 库。

它具有以下特点和优势:

广泛的绘图类型:支持绘制折线图、柱状图、直方图、饼图、散点图、3D 图等多种类型的图表。
高度定制化:可以对图表的几乎所有元素进行定制,包括坐标轴、标签、标题、线条样式、颜色、标记等。
易于使用:通过简单的几行代码就能创建出复杂而美观的图表。
与 NumPy 和 Pandas 集成良好:能够方便地处理和可视化这两个库中处理的数据。
安装Matplotlib
如果你还没有安装Matplotlib,可以使用以下命令进行安装:

pip install matplotlib
绘

制3D曲面图
以下是一个使用Matplotlib绘制3D曲面图的示例代码:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# 创建数据
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))

# 创建图形对象
fig = plt.figure(figsize=(10, 7))
ax = fig.add_subplot(111, projection='3d')

# 绘制3D曲面图
surf = ax.plot_surface(x, y, z, cmap='viridis', linewidth=0, antialiased=False)

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

# 设置标题和标签
ax.set_title('3D Surface Plot')
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')

# 显示图形
plt.show()

代码解释
导入库:
matplotlib.pyplot 用于绘图。
mpl_toolkits.mplot3d 中的 Axes3D 用于3D绘图。
numpy 用于生成数据。
创建数据:
使用 np.linspace 生成等间隔的数组。
使用 np.meshgrid 生成网格点。
计算 z 值,这里使用了一个简单的函数 np.sin(np.sqrt(x2 + y2))。
创建图形对象:
使用 plt.figure 创建一个图形对象,并设置图形大小。
使用 add_subplot 添加一个3D子图。
绘制3D曲面图:
使用 plot_surface 绘制3D曲面图,并设置颜色映射、线宽和抗锯齿。
添加颜色条:
使用 fig.colorbar 添加颜色条,并设置其大小和比例。
设置标题和标签:
使用 set_title、set_xlabel、set_ylabel 和 set_zlabel 设置标题和轴标签。
显示图形:
使用 plt.show 显示图形。
定制3D曲面图
你可以通过调整参数和添加更多功能来进一步定制3D曲面图。例如,你可以更改颜色映射、添加光照效果、调整视角等。以下是一些定制选项:

更改颜色映射:

surf = ax.plot_surface(x, y, z, cmap='plasma', linewidth=0, antialiased=False)
添加光照效果:

surf = ax.plot_surface(x, y, z, cmap='viridis', linewidth=0, antialiased=False, shade=True)
调整视角:

ax.view_init(elev=30, azim=45)
通过这些定制选项,你可以创建更加复杂和美观的3D曲面图。

相关文章
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇——3D生成技术
在Python中,人工智能(AI)与3D生成技术的结合可以体现在多个方面,比如使用AI算法来优化3D模型的生成、通过机器学习来预测3D模型的属性,或者利用深度学习来生成全新的3D内容。然而,直接通过AI生成完整的3D模型(如从文本描述中生成)仍然是一个活跃的研究领域。 3D生成技术是一种通过计算机程序从二维图像或文本描述自动创建三维模型的过程。这一技术在近年来得到了飞速的发展,不仅为游戏、动画和影视行业带来了革命性的变革,还在虚拟现实、增强现实以及工业设计等多个领域展现出了巨大的应用潜力
58 2
|
4月前
|
数据可视化 Python
Python中绘制3D曲面图的艺术
【7月更文挑战第4天】使用Python的Matplotlib和mpl_toolkits.mplot3d库,可以轻松绘制3D曲面图。首先安装matplotlib,然后导入numpy和相关模块。通过定义函数和使用numpy的meshgrid生成数据,接着用`plot_surface`绘制曲面,可定制色彩映射、添加标签、标题、色标、透明度和阴影。通过自定义颜色映射和添加网格线,能进一步增强图形的解读性。这些技巧使3D数据可视化更具洞察力和吸引力。
88 0
|
数据可视化 Python
【100天精通Python】Day67:Python可视化_Matplotlib 绘制动画,2D、3D 动画 示例+代码
【100天精通Python】Day67:Python可视化_Matplotlib 绘制动画,2D、3D 动画 示例+代码
422 0
【100天精通Python】Day67:Python可视化_Matplotlib 绘制动画,2D、3D 动画 示例+代码
|
数据可视化 Python
【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码
【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码
366 0
|
6月前
|
Python
3D红色玫瑰花代码(python
3D红色玫瑰花代码(python
64 0
3D红色玫瑰花代码(python
|
6月前
|
机器学习/深度学习 监控 PyTorch
PointNet:基于Python和PyTorch的3D分割的实用指南
PointNet:基于Python和PyTorch的3D分割的实用指南
|
6月前
|
存储 图形学 Python
Python小姿势 - Python代码实现3D模型翻转
Python小姿势 - Python代码实现3D模型翻转
|
数据可视化 Python
【100天精通Python】Day69:Python可视化_实战:导航定位中预测轨迹和实际轨迹的3D动画,示例+代码
【100天精通Python】Day69:Python可视化_实战:导航定位中预测轨迹和实际轨迹的3D动画,示例+代码
237 1
|
Python
python画3D动态柱状图代码教程
python画3D动态柱状图代码教程
99 0
|
数据可视化 关系型数据库 Python
【100天精通Python】Day66:Python可视化_Matplotlib 3D绘图,绘制3D曲面图、3D填充图,3D极坐标图,示例+代码
【100天精通Python】Day66:Python可视化_Matplotlib 3D绘图,绘制3D曲面图、3D填充图,3D极坐标图,示例+代码
207 0