Python绘制3D图形

Python绘制3D图形的完整攻略

1. 引言

Python是一种直截了当且让人意想不到地灵活的编程语言,而它在技术界的重要地位无人可比。之所以如此受欢迎,其原因之一就是大量可供选择的模块或库包括用于数据可视化的matplotlib模块和3D图形可视化的plotly。

本文将以matplotlib为例,介绍如何使用Python绘制3D图形。

2. 环境安装

首先需要安装如下两个模块:

pip3 install matplotlib
pip3 install mpl_toolkits

3. 绘制3D图形

3.1 加载matplotlib

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

3.2 具体实现(以绘制立体正弦函数为例)

fig = plt.figure()  # 创建一个窗口
ax = Axes3D(fig)  # 设置3D坐标轴
X = np.arange(-4, 4, 0.25)  # X轴
Y = np.arange(-4, 4, 0.25)  # Y轴
X, Y = np.meshgrid(X, Y)  # 网格坐标的形成
Z = np.sin(np.sqrt(X**2 + Y**2))  # Z轴(立体正弦函数)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'))  # 绘制3D图形
ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap='rainbow')  # 在Z=-2的位置处用等高线表示
ax.set_zlim(-2, 2)  # Z轴的范围设置
plt.show()  # 显示结果

3.3 代码解释:

  • figax用于绘制3D图形和设置3D坐标轴。

  • XY获取网格坐标。

  • Z代表立体正弦函数中的Z轴的取值。

  • ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'))用于绘制3D图形。参数rstridecstride表示行列的跨度,cmap=plt.get_cmap('rainbow')用于设置颜色的映射。

  • ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap='rainbow')在Z=-2的位置处用等高线表示。

  • ax.set_zlim(-2, 2)表示设置Z轴的范围。

  • plt.show()显示结果。

4. 示例说明

示例1:绘制3D的谷歌标志

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

#定义坐标
X,Y = np.mgrid[-2:2:20j,-2:2:20j]
Z = 3*X**2+1*Y**2

#创建3D坐标轴
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

#绘制3D图形
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))

#将图形保存为图片
plt.savefig('google.png', dpi=300, bbox_inches='tight')

plt.show() #显示结果

示例2:绘制散点空间图

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

#生成随机数据
x = np.random.randint(low=0, high=100, size=100)
y = np.random.randint(low=0, high=100, size=100)
z = np.random.randint(low=0, high=100, size=100)

#创建3D坐标轴
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

#绘制3D图形
ax.scatter(x, y, z, s=20, c='r', marker='o')

#将图形保存为图片
plt.savefig('scatter.png', dpi=300, bbox_inches='tight')

plt.show() #显示结果

参考文献:
Python 3D作图入门及实战教程

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python绘制3D图形 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • 一文深入了解Python中的继承知识点

    一文深入了解Python中的继承知识点 1. 什么是继承? 继承是一种面向对象编程中常用的技术,它允许子类继承父类的属性和方法。子类可以使用父类的所有属性和方法,并且可以添加自己的属性和方法。 在Python中,继承使用class subclass(base_class):的形式实现。其中,subclass是子类名称,base_class是父类名称。 下面是…

    python 2023年6月5日
    00
  • python读取配置文件方式(ini、yaml、xml)

    Python可以通过解析不同类型的配置文件(如ini、yaml、xml)来读取配置信息,下面我将详细讲解三种配置文件读取方式的完整攻略。 1. INI配置文件 INI是一种Windows操作系统常见的文件格式,它是一种键值对(key-value)格式的配置文件,使用.ini作为文件后缀。在Python中通常使用configparser模块来读取INI格式的配…

    python 2023年6月3日
    00
  • Python使用requests模块爬取百度翻译

    下面是关于使用 requests 模块爬取百度翻译的攻略。 1. 学习准备 首先,我们需要了解一下 requests 模块。requests 是 Python 中一个非常强大的网络库,常用于网络数据的获取等操作。需要注意的是,requests 库需要单独安装,可以通过 pip 工具进行安装。 pip install requests 另外,我们还需要了解一下…

    python 2023年5月14日
    00
  • 浅析Python语言自带的数据结构有哪些

    浅析Python语言自带的数据结构有哪些 Python是一种高级编程语言,其自带了很多数据结构,包括列表、元组、集合、字典等。这些数据结构既可以存储数据,也可以对数据进行操作。 列表 列表是Python中最常用的基本数据结构之一。它是一组有序的元素,可以包含任何类型的数据,甚至包括其他列表。列表的标识符是方括号([])。 示例一: lst = [1, 2, …

    python 2023年5月13日
    00
  • Python教程之无限迭代器的使用详解

    下面我就详细讲解一下Python教程之无限迭代器的使用详解。 什么是迭代器 在了解无限迭代器之前,我们需要先了解一下什么是迭代器。迭代器是Python中一种用于遍历数据集合的对象,可以用来逐个访问集合中的元素。Python语言内置了很多迭代器对象,比如list、tuple、set、dict等集合对象,都可以使用迭代器进行遍历操作。 对于一个可迭代的对象,比如…

    python 2023年6月3日
    00
  • Python实现的双色球生成功能示例

    首先,我们来介绍一下如何实现双色球随机生成的功能。本文使用Python实现。 确定双色球的范围 双色球的红球范围为1-33,蓝球范围为1-16。我们可以通过常量来定义这个范围。 RED_RANGE = range(1, 34) BLUE_RANGE = range(1, 17) 随机生成双色球的号码 我们可以借助Python的random模块来实现双色球号码…

    python 2023年6月3日
    00
  • 使用Python处理KNN分类算法的实现代码

    KNN(K-Nearest Neighbors)是一种常用的分类算法,它的基本思想是根据样本之间的距离来判断它们的类别。在本文中,我们将介绍如何使用Python实现KNN分类算法,并提供两个示例说明。 KNN分类算法的实现 KNN分类算法的实现过程包括以下几个步骤: 加载数据集 划分训练集和测试集 计算样本之间的距离 选择K个最近邻样本 根据K个最近邻样本的…

    python 2023年5月14日
    00
  • Win7 64位下python3.6.5安装配置图文教程

    以下是Win764位下Python3.6.5的安装配置图文教程: 1. 下载安装包 首先,你需要从官网下载Python3.6.5的安装包,链接如下: https://www.python.org/ftp/python/3.6.5/python-3.6.5-amd64.exe 下载完成后,双击安装包,选择“Add Python 3.6 to PATH”,然后一…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部