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下的常用下载安装工具pip的安装方法
Nov 13 Python
Python工程师面试题 与Python基础语法相关
Jan 14 Python
python3如何将docx转换成pdf文件
Mar 23 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
Aug 18 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
python os模块在系统管理中的应用
Jun 22 Python
一篇文章搞懂python的转义字符及用法
Sep 03 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
浅析Python的命名空间与作用域
Nov 25 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
Jan 05 Python
利用Matlab绘制各类特殊图形的实例代码
Jul 16 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/08/23 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
php简单复制文件的方法
2016/05/09 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
PHP实现简单登录界面
2019/10/23 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
开源的javascript项目Kissy介绍
2014/11/28 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
vue template中slot-scope/scope的使用方法
2018/09/06 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
Python定时执行之Timer用法示例
2015/05/27 Python
python判断完全平方数的方法
2018/11/13 Python
python实现爬山算法的思路详解
2019/04/09 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
英国现代市场:ARKET
2019/04/10 全球购物
机械设计及其自动化求职推荐信
2014/02/17 职场文书
开服装店计划书
2014/08/15 职场文书
地震捐款倡议书
2014/08/29 职场文书
出售房屋委托书范本
2014/09/24 职场文书
周恩来的四个昼夜观后感
2015/06/03 职场文书
清明节主题班会
2015/08/14 职场文书
交通事故协议书范本
2016/03/19 职场文书
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android
Nginx配置https的实现
2021/11/27 Servers
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技