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中列表和元祖的使用方法
Apr 25 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
Jun 07 Python
JSON Web Tokens的实现原理
Apr 02 Python
通过Python实现自动填写调查问卷
Sep 06 Python
使用Python的turtle模块画图的方法
Nov 15 Python
基于python生成器封装的协程类
Mar 20 Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 Python
python Web flask 视图内容和模板实现代码
Aug 23 Python
Python中Unittest框架的具体使用
Aug 27 Python
Python sys模块常用方法解析
Feb 20 Python
Python 操作 MySQL数据库
Sep 18 Python
在python中实现导入一个需要传参的模块
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 采集书并合成txt格式的实现代码
2009/03/01 PHP
php pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
js几秒以后倒计时跳转示例
2013/12/26 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
js仿淘宝商品放大预览功能
2017/03/15 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
python中list常用操作实例详解
2015/06/03 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
Python Requests库基本用法示例
2018/08/20 Python
python实现石头剪刀布程序
2021/01/20 Python
Python的高阶函数用法实例分析
2019/04/11 Python
Django中Middleware中的函数详解
2019/07/18 Python
Python Django基础二之URL路由系统
2019/07/18 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
个人查摆剖析材料
2014/02/04 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
党员个人整改措施
2014/10/24 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
团支部书记竞选稿
2015/11/21 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS