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基础之list列表实例解析
Aug 13 Python
Python中用memcached来减少数据库查询次数的教程
Apr 07 Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
Feb 03 Python
使用python编写监听端
Apr 12 Python
python使用Plotly绘图工具绘制柱状图
Apr 01 Python
使用python判断jpeg图片的完整性实例
Jun 10 Python
python中多个装饰器的调用顺序详解
Jul 16 Python
python 通过手机号识别出对应的微信性别(实例代码)
Dec 22 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 Python
Python 捕获代码中所有异常的方法
Aug 03 Python
selenium判断元素是否存在的两种方法小结
Dec 07 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 intval的测试代码发现问题
2008/07/27 PHP
php仿discuz分页效果代码
2008/10/02 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
php for 循环使用的简单实例
2016/06/02 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
分页栏的web标准实现
2011/11/01 Javascript
javascript中动态加载js文件多种解决办法总结
2013/11/15 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
javascript Promise简单学习使用方法小结
2016/05/17 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
详谈AngularJs 控制器、数据绑定、作用域
2017/07/09 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
python正则表达式re之compile函数解析
2017/10/25 Python
Python数据结构之哈夫曼树定义与使用方法示例
2018/04/22 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
django model object序列化实例
2020/03/13 Python
mysql有关权限的表都有哪几个
2015/04/22 面试题
销售员自我评价怎么写
2013/09/19 职场文书
征婚广告词
2014/03/17 职场文书
酒店开业庆典主持词
2014/03/21 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
创新社会管理心得体会
2014/09/12 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
创业计划书之便利店
2019/09/05 职场文书
python实现web邮箱扫描的示例(附源码)
2021/03/30 Python
django学习之ajax post传参的2种格式实例
2021/05/14 Python
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android
什么是Python装饰器?如何定义和使用?
2022/04/11 Python