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的Tornado框架对子域名和泛域名的支持
May 02 Python
python中异常捕获方法详解
Mar 03 Python
Python装饰器用法实例总结
Feb 07 Python
Python 3.7新功能之dataclass装饰器详解
Apr 21 Python
Python批量删除只保留最近几天table的代码实例
Apr 01 Python
Python3 列表,数组,矩阵的相互转换的方法示例
Aug 05 Python
分享一个pycharm专业版安装的永久使用方法
Sep 24 Python
pytorch 准备、训练和测试自己的图片数据的方法
Jan 10 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
Django中使用Json返回数据的实现方法
Jun 03 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
Feb 03 Python
python装饰器代码深入讲解
Mar 01 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文件上传类
2016/08/29 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
关于NodeJS中的循环引用详解
2019/07/23 NodeJs
nodejs文件夹深层复制功能
2019/09/03 NodeJs
详细分析Node.js 多进程
2020/06/22 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
详解vue路由
2020/08/05 Javascript
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
如何通过Django使用本地css/js文件
2020/01/20 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
自我反省检讨书
2014/01/23 职场文书
给校长的建议书作文300字
2015/09/14 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
python中使用 unittest.TestCase单元测试的用例详解
2021/08/30 Python
如何利用python实现列表嵌套字典取值
2022/06/10 Python