python matplotlib绘制三维图的示例
作者:catmelo 发布时间:2023-03-04 16:35:48
标签:matplotlib,绘制,三维图,python
作者:catmelo 本文版权归作者所有
链接:https://www.cnblogs.com/catmelo/p/4162101.html
本文参考官方文档:http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html
起步
新建一个matplotlib.figure.Figure对象,然后向其添加一个Axes3D类型的axes对象。
其中Axes3D对象的创建,类似其他axes对象,只不过使用projection='3d'
关键词。
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
3D曲线图
import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
mpl.rcParams['legend.fontsize'] = 10
fig = plt.figure()
ax = fig.gca(projection='3d')
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)
ax.plot(x, y, z, label='parametric curve')
ax.legend()
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
简化用法:
from pylab import *
from mpl_toolkits.mplot3d import Axes3D
plt.gca(projection='3d')
plt.plot([1,2,3],[3,4,1],[8,4,1],'--')
plt.xlabel('X')
plt.ylabel('Y')
#plt.zlabel('Z') #无法使用
3D散点图
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
def randrange(n, vmin, vmax):
return (vmax-vmin)*np.random.rand(n) + vmin
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
n = 100
for c, m, zl, zh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:
xs = randrange(n, 23, 32)
ys = randrange(n, 0, 100)
zs = randrange(n, zl, zh)
ax.scatter(xs, ys, zs, c=c, marker=m)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
来源:https://www.cnblogs.com/catmelo/p/4162101.html


猜你喜欢
- 目录查找算法 -- 简介顺序查找二分查找插值查找斐波那契查找树表查找1、二叉树查找算法。2、平衡查找树之2-3查找树(2-3 Tree)3、
- 背景我们通常会遇到想简易搬迁一台设备的python开发环境到另外一台设备的情况,但可能我们另一台设备本身的python环境包括系统环境是不可
- 单线程实现单线程实现道理比较简单,这里尝试Soket连接3389,连接成功说明端口开放,否则说明没有开远程服务。随便修改了一下就ok了,代码
- 本文利用python opencv进行图像的边缘检测,一般要经过如下几个步骤:1、去噪如cv2.GaussianBlur()等函数;2、计算
- 我们经常使用傅里叶变换来计算数字信号的频谱,进而分析数字信号,离散时间傅里叶变换的公式为:可是自己动手实现一遍才是最好的学习。在数字分析里面
- 如果你对长篇大论没有兴趣,也可以直接看看结果,或许你对结果感兴趣。在实际应用中经过存储、优化可以做到在超过9千万数据中的查询响应速度控制在1
- 引言本人因为种种原因(说来听听),放弃大学学的java,走上了golang这条路,本着干一行爱一行的情怀,做开发嘛,不能只会使用这门语言,所
- # -*- coding: utf-8 -*-# 测试各种排序算法# link:www.jb51.net# date:2013/2/2#选择
- 前言本文提供Python上传minio以及阿里oss文件工具,给自己留个记录。环境依赖安装minio以及oss2依赖pip install
- 示例from optparse import OptionParser[...]def main():
- 车牌识别在高速公路中有着广泛的应用,比如我们常见的电子收费(ETC)系统和交通违章车辆的检测,除此之外像小区或地下车库门禁也会用到,基本上凡
- 微信小程序图片上传,供大家参考,具体内容如下先来看一下微信小程序的api来看一下页面效果查看大图wxml文件代码:<view clas
- pyc的破解相对容易,使用cython将python文件编译成.so文件,能在一定程度上增强python源码的私密性。编译成.so文件环境准
- python启用多线程后,调用exit出现无法退出的情况,原因是exit会抛出Systemexit的异常,如果在exit外围调用了try,就
- 回顾一下已经了解的数据类型:int/str/bool/list/dict/tuple还真的不少了.不过,python是一个发展的语言,没准以
- 一、DAFONT 英文字体很多,分类很详细,字体多数都是免费,唯一的缺点中文字体少了些.http://www.dafont.co
- 在Jupyter Notebook上使用Python+opencv实现如下图像缺陷检测。关于opencv库的安装可以参考:Python下op
- 一、需求描述1.图片展示从如图所示的数据中提取含有"python"、"ubuntu"关键词的所有行数
- vue-i18n 仓库地址:https://github.com/kazupon/vue-i18n兼容性:支持 Vue.js 2.x 以上版
- ThinkPHP提供的视图查询应用功能十分强大,用户利用视图查询功能可以将多个数据表的字段内容按需要进行指定和筛选,组织成一个基于这些数据表