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中List、Set和Tuple的区别

    Python中List、Set和Tuple是常用的三种数据类型,它们都可以存储一组数据。但是它们有一些重要的区别,下面我将详细讲解这些区别。 List List是Python内置的一种数据类型,它可以存储一组元素,元素可以是任何数据类型。List使用方括号[]来表示,每个元素用逗号分隔。 # 示例1:定义一个List my_list = [1, 2, 3, …

    python-answer 2023年3月25日
    00
  • 在 Python 中使用多个分隔符分割字符串。获取 TypeError:预期的字符串或类似字节的对象

    【问题标题】:Splitting strings using multiple delimiters- in Python. Getting TypeError: expected string or bytes-like object在 Python 中使用多个分隔符分割字符串。获取 TypeError:预期的字符串或类似字节的对象 【发布时间】:2023…

    Python开发 2023年4月7日
    00
  • 教你如何使用Python开发一个钉钉群应答机器人

    教你如何使用Python开发一个钉钉群应答机器人 简介 本攻略将会教你如何使用 Python 来开发一个简单的钉钉群应答机器人,使其能够自动应答群中的消息。 环境要求 Python 3.6 或以上版本 钉钉开放平台账号 准备工作 首先需要在钉钉开放平台上创建一个自定义机器人,获取到钉钉开发者账号中的 access_token。 安装 dingtalkchat…

    python 2023年5月23日
    00
  • Python基础知识之函数,类,模块

    Python是一门灵活多变的编程语言,在学习过程中,函数、类和模块是必不可少的基础知识。本文将详细讲解Python的函数、类和模块,让你了解其重要性和运用方法。 函数 在Python中,函数是一种可重用的代码块,用于完成特定的任务。以下是Python函数的定义: # 定义函数 def function_name(parameters): statement(…

    python 2023年5月31日
    00
  • Python selenium爬虫实现定时任务过程解析

    下面我将为您详细讲解Python selenium爬虫实现定时任务的过程。 一、准备工作 在开始实现定时任务之前,需要先安装selenium和定时任务模块schedule。 安装selenium 使用pip安装selenium模块: pip install selenium 安装schedule模块 使用pip安装schedule模块: pip instal…

    python 2023年6月6日
    00
  • Python encode()方法和decode()方法详解

    下面是“Python encode()方法和decode()方法详解”的完整攻略。 1. encode()方法详解 1.1 什么是encode()方法 在 Python 中,字符串也是一个对象。字符串对象具有许多方法,其中一个方法是encode(),该方法用于将字符串编码成指定的编码格式。encode()方法的语法如下: string.encode(enco…

    python 2023年5月31日
    00
  • python socket多线程实现客户端与服务器连接

    下面是详细的讲解。 Python Socket 多线程实现客户端与服务器连接 简介 Socket编程是指在不同计算机节点间使用网络进行数据通信的方法。 Python提供了socket模块,通过该模块可以轻松实现socket通信。 在Python中使用socket的过程中,我们常常使用多线程来实现客户端与服务器的连接。 本文将详细介绍Python Socket…

    python 2023年5月19日
    00
  • Python中用xlwt制作表格实例讲解

    以下是Python中用xlwt制作表格实例讲解的完整实例教程: 目录 xlwt模块简介 创建Excel文件 创建工作表 添加数据到工作表 保存Excel文件 完整实例演示 示例说明 1. xlwt模块简介 xlwt是Python中的第三方库,用于创建和操作.xls格式(Excel 97-2003)文件。 2. 创建Excel文件 首先需要导入xlwt模块,并…

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