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中numpy包使用教程之数组和相关操作详解
Jul 30 Python
Tensorflow卷积神经网络实例进阶
May 24 Python
Python基础之循环语句用法示例【for、while循环】
Mar 23 Python
如何为Python终端提供持久性历史记录
Sep 03 Python
Python爬虫之urllib基础用法教程
Oct 12 Python
python groupby 函数 as_index详解
Dec 16 Python
Django中F函数的使用示例代码详解
Jul 06 Python
详解Python中的路径问题
Sep 02 Python
python遍历路径破解表单的示例
Nov 21 Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 Python
python用700行代码实现http客户端
Jan 14 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修改时间格式的代码
2011/05/29 PHP
调整PHP的性能
2013/10/30 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
[01:11]辉夜杯战队访谈宣传片—CDEC.Y
2015/12/26 DOTA
Python第三方库的安装方法总结
2016/06/06 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
Python3模拟登录操作实例分析
2019/03/12 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
Python气泡提示与标签的实现
2020/04/01 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
西班牙网上书店:Casa del Libro
2016/11/01 全球购物
化工工艺专业求职信
2013/09/22 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
买卖合同协议书范本
2014/10/18 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技