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 相关文章推荐
使用Python3制作TCP端口扫描器
Apr 17 Python
python使用代理ip访问网站的实例
May 07 Python
Python中偏函数用法示例
Jun 07 Python
在Pycharm中执行scrapy命令的方法
Jan 16 Python
Python如何获得百度统计API的数据并发送邮件示例代码
Jan 27 Python
python对象与json相互转换的方法
May 07 Python
Python PO设计模式的具体使用
Aug 16 Python
python 进程 进程池 进程间通信实现解析
Aug 23 Python
Tensorflow 多线程设置方式
Feb 06 Python
Python实现UDP程序通信过程图解
May 15 Python
python中使用.py配置文件的方法详解
Nov 23 Python
Pyhton模块和包相关知识总结
May 12 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/06/28 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
php文件压缩之PHPZip类用法实例
2015/06/18 PHP
轻松实现php文件上传功能
2017/02/17 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
Javascript 遍历对象中的子对象
2009/07/03 Javascript
js 利用className得到对象的实现代码
2011/11/15 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
php常见的页面跳转方法汇总
2015/04/15 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
python实现简单中文词频统计示例
2017/11/08 Python
利用Python在一个文件的头部插入数据的实例
2018/05/02 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
Python数据存储之 h5py详解
2019/12/26 Python
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
教师求职自荐信范文
2015/03/04 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
摘录式读书笔记
2015/07/01 职场文书
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
2022/05/11 MySQL