matplotlib 三维图表绘制方法简介
作者:アハハハ君 发布时间:2023-08-06 00:06:52
1. python三维图表绘制方法简介
python三维图表的绘制算是二维图表的一个进阶版本,本质上和二维图表的绘制并无差别,唯一的区别在于使用的库略有差异。
相较于二维图表使用的pyplot库,三维图表的绘制使用的是Axes3D库。
库引入语句为:
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
上下的操作就和二维图表绘制大差不差了,首先定义三维画布,然后向里面绘制三维图表,最后打印出结果即可。
下面,我们通过一些实例来进行说明。
2. 实例说明
1. 三维曲线图绘制
首先,我们来看一下三维曲线图的绘制。
三维曲线图的绘制和二维曲线图的绘制方法极其相似,只是我们需要做以下两点修改:
将画布修改为三维坐标系;
传参时同时传入x、y、z三个维度的坐标信号。
另外,plot函数需要修改三维曲线绘制的Axes3D.plot
函数。
给出代码样例如下:
import numpy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
theta = numpy.linspace(0, 3.14*4, 200)
r = numpy.linspace(0, 1, 200)
x = r * numpy.cos(theta)
y = r * numpy.sin(theta)
z = numpy.linspace(0, 2, 200)
fig = plt.figure(figsize=(12, 7))
ax1 = plt.axes(projection='3d')
ax1.plot(x, y, z)
plt.show()
运行即可得到一张三维曲线图。
2. 三维散点图绘制
下面,我们来看一下三维空间中的散点图绘制方法。
其方法其实挺简单的,就是先绘制x、y面的网点坐标,计算相应的z轴高度,而后创建一张三维图,然后通过Axes3D.scatter
函数进行散点图绘制即可。
我们给出具体的代码样例如下:
import numpy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = numpy.linspace(-2, 2, 10)
y = numpy.linspace(-2, 2, 10)
xx, yy = numpy.meshgrid(x, y)
z = xx ** 2 - yy ** 2
fig = plt.figure(figsize=(12, 7))
ax1 = plt.axes(projection='3d') # 创建三维坐标轴
ax1.scatter(xx, yy, z) # 绘制三维散点图
plt.show()
运行即可得到三维散点图。
3. 三维曲面图绘制
三维曲面图的绘制与三维极其类似,只需要将Axes3D.scatter
函数替换为Axes3D.plot_surface
函数即可。
我们就不再多做解释了,直接给出代码样例如下:
import numpy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = numpy.linspace(-2, 2, 10)
y = numpy.linspace(-2, 2, 10)
xx, yy = numpy.meshgrid(x, y)
print(xx.shape, yy.shape)
z = xx ** 2 - yy ** 2
fig = plt.figure(figsize=(12, 7))
ax1 = plt.axes(projection='3d') # 创建三维坐标轴
ax1.plot_surface(xx, yy, z) # 绘制三维曲面图
plt.show()
运行即可得到三维曲面图。
3. 参考链接
https://matplotlib.org/tutorials/toolkits/mplot3d.html
Python三维绘图–Matplotlib
来源:https://blog.csdn.net/codename_cys/article/details/108686439


猜你喜欢
- 前期准备qrcode下载地址:qrcode · PyPIQR Code image generatorhttps://pypi.org/pr
- pycharm安装lxml库失败怎么办?众所周知,在pycharm中安装lxml库,一般的安装流程流程为file->settings-
- 本文实例为大家分享了python自动化生成IOS的图标,供大家参考,具体内容如下每次上架之前都要生成十几个图片感觉无聊麻烦,考虑使用脚本处理
- 想必每个DBA都喜欢挑战数据导入时间,用时越短工作效率越高,也充分的能够证明自己的实力。实际工作中有时候需要把大量数据导入数据库,然后用于各
- 1.简介介绍-网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息
- python删除缓存文件的方法:首先输入“find.-name '__pycache__' -type d -exec rm
- 但是我们可以换一种方法解决这个问题。下面就来分析下解决办法。对text或ntext类型的数据在查询中不能进行字符串操作。这时用得最多的是把t
- 问题问题1:如何解决事务提交时flush redo log带来的性能损失WAL是实现事务持久性(D)的一个常用技术,基本原理是将事务的修改记
- 代码如下_init_.pyfrom flask import Flask, request, url_for, redirect, rend
- python2.7环境下运行安装相关模块想要每天定时启动,最好是把程序放在linux服务器上运行,毕竟linux可以不用关机,即定时任务一直
- 阅读《YUI学习笔记(1)》YAHOO.lang.dump 与 YAHOO.lang.substitute。1.&nbs
- 项目是基于vue2 的移动端项目,供大家参考,具体内容如下1、实际效果地址 * 联动 mint-ui picker.png2、首先你需要去下载
- python保存文本文件的方法:使用python内置的open()类可以打开文本文件,向文件里面写入数据可以用write()函数,写完之后,
- 概述在实践中,我们发现上述的代码重复率非常高,新增和修改都费力,并且是没技术含量的体力活。 但又必须要这样做,不适合以公共函数的形式重用,为
- 引言事情是这样的,最近在做开源软件供应链安全相关的项目,之前没了解这方面知识的时候感觉服务器被黑,数据库被删,网站被攻,这些东西都离我们太遥
- 前言前面我们介绍了 pandas 的基础语法操作,下面我们开始介绍 pandas 的数据读写操作。pandas 的 IO API 是一组顶层
- 本文实例讲述了python多重继承用法,分享给大家供大家参考。具体实现方法如下:1.mro.py文件如下:#!/usr/bin/python
- 首先啊,在python中我们熟知的py文件就是一个模块,也就是换言之以py结尾的Python源代码文件都是一个模块我就简单概括一下了直接上代
- 查询重写插件从MySQL 5.7.6开始,MySQL Server支持查询重写插件,可以在服务器执行之前检查并可能修改服务器接收的语句。以下
- MySQL Workbench - 建模和设计工具1.模型是大多数有效和高性能数据库的核心。MySQL workbench具有允许开发人员和