python matlibplot绘制3D图形


Posted in Python onJuly 02, 2018

本文实例为大家分享了python matlibplot绘制3D图形的具体代码,供大家参考,具体内容如下

1、散点图使用scatter

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


# 生成3D示例数据

mu_vec1 = np.array([0,0,0]) # 均值向量
cov_mat1 = np.array([[1,0,0],[0,1,0],[0,0,1]]) # 协方差矩阵

class1_sample = np.random.multivariate_normal(mu_vec1, cov_mat1, 20)
class2_sample = np.random.multivariate_normal(mu_vec1 + 1, cov_mat1, 20)
class3_sample = np.random.multivariate_normal(mu_vec1 + 2, cov_mat1, 20)


# class1_sample.shape -> (20, 3), 20 rows, 3 columns


fig = plt.figure(figsize=(8,8))
ax = fig.add_subplot(111, projection='3d')

ax.scatter(class1_sample[:,0], class1_sample[:,1], class1_sample[:,2],
   marker='x', color='blue', s=40, label='class 1')
ax.scatter(class2_sample[:,0], class2_sample[:,1], class2_sample[:,2],
   marker='o', color='green', s=40, label='class 2')
ax.scatter(class3_sample[:,0], class3_sample[:,1], class3_sample[:,2],
   marker='^', color='red', s=40, label='class 3')

ax.set_xlabel('variable X')
ax.set_ylabel('variable Y')
ax.set_zlabel('variable Z')

plt.title('3D Scatter Plot')

plt.show()

python matlibplot绘制3D图形

2、直线使用plot3D

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
from itertools import product, combinations
fig = plt.figure(figsize=(7,7))
ax = fig.gca(projection='3d')
ax.set_aspect("equal")


# 画点

 

# 立方体里的点

X_inside = np.array([[0,0,0],[0.2,0.2,0.2],[0.1, -0.1, -0.3]])

X_outside = np.array([[-1.2,0.3,-0.3],[0.8,-0.82,-0.9],[1, 0.6, -0.7],
      [0.8,0.7,0.2],[0.7,-0.8,-0.45],[-0.3, 0.6, 0.9],
      [0.7,-0.6,-0.8]])

for row in X_inside:
 ax.scatter(row[0], row[1], row[2], color="r", s=50, marker='^')

for row in X_outside:
 ax.scatter(row[0], row[1], row[2], color="k", s=50)


# 画立方体

h = [-0.5, 0.5]
for s, e in combinations(np.array(list(product(h,h,h))), 2):
 if np.sum(np.abs(s-e)) == h[1]-h[0]:
  ax.plot3D(*zip(s,e), color="g")

ax.set_xlim(-1.5, 1.5)
ax.set_ylim(-1.5, 1.5)
ax.set_zlim(-1.5, 1.5)

plt.show()

python matlibplot绘制3D图形

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现文件分组复制到不同目录的例子
Jun 04 Python
Python中用函数作为返回值和实现闭包的教程
Apr 27 Python
Python实现基本数据结构中栈的操作示例
Dec 04 Python
详解python中的json和字典dict
Jun 22 Python
Python实现微信消息防撤回功能的实例代码
Apr 29 Python
python+selenium 鼠标事件操作方法
Aug 24 Python
python实现删除列表中某个元素的3种方法
Jan 15 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
解决Python安装cryptography报错问题
Sep 03 Python
Python中快速掌握Data Frame的常用操作
Mar 31 Python
python中Tkinter 窗口之输入框和文本框的实现
Apr 12 Python
Python学习之os包使用教程详解
Mar 21 Python
对numpy Array [: ,] 的取值方法详解
Jul 02 #Python
Python使用itertools模块实现排列组合功能示例
Jul 02 #Python
python绘制立方体的方法
Jul 02 #Python
python numpy 一维数组转变为多维数组的实例
Jul 02 #Python
Python实现通过继承覆盖方法示例
Jul 02 #Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 #Python
Python 中的range(),以及列表切片方法
Jul 02 #Python
You might like
php实现的漂亮分页方法
2014/04/17 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
node.js中的fs.open方法使用说明
2014/12/17 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
js数组去重的N种方法(小结)
2018/06/07 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
Python之pymysql的使用小结
2019/07/01 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
python @classmethod 的使用场合详解
2019/08/23 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
Python partial函数原理及用法解析
2019/12/11 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
Python self用法详解
2020/11/28 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
Delphi CS笔试题
2014/01/04 面试题
医学院学生的自我评价分享
2013/11/19 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
学校爱国卫生月活动总结
2014/06/25 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
化工实习心得体会
2014/09/09 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书
实习指导老师意见
2015/06/04 职场文书
自考生自我评价
2019/06/21 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
Html5生成验证码的示例代码
2021/05/10 Javascript
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android