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中getattr函数使用方法 getattr实现工厂模式
Jan 20 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
Apr 08 Python
Python对文件操作知识汇总
May 15 Python
Python中的日期时间处理详解
Nov 17 Python
Django的用户模块与权限系统的示例代码
Jul 24 Python
Django 拆分model和view的实现方法
Aug 16 Python
python输出数组中指定元素的所有索引示例
Dec 06 Python
用Python制作mini翻译器的实现示例
Aug 17 Python
python PIL模块的基本使用
Sep 29 Python
Python爬虫破解登陆哔哩哔哩的方法
Nov 17 Python
Django解决frame拒绝问题的方法
Dec 18 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 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
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
php开启openssl的方法
2014/05/15 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
PHP实现简单日历类编写
2020/08/28 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
js日期时间补零的小例子
2013/03/05 Javascript
获取中文字符串的实际长度代码
2014/06/05 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
基于Python的关键字监控及告警
2017/07/06 Python
python opencv之SURF算法示例
2018/02/24 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
详解python的变量缓存机制
2021/01/24 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
CLR与IL分别是什么含义
2016/08/23 面试题
计算机维护专业推荐信
2014/02/27 职场文书
企业委托书范本
2014/09/13 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
商务邀请函
2015/01/30 职场文书
2015年基层党建工作总结
2015/05/14 职场文书
催款函范文
2015/06/24 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python