python之画三维图像

一:利用的包:
(1)构建三维对象:mpl_toolkits.mplot3d里面导入Axes3D
(2)数据方面操作:numpy
(3)绘图工具包:matplotlib.pyplot

二:绘图:
1、绘图主要分成两种情况:
(1)一种是根据函数来绘制三维图
(2)一种是根据三维坐标绘制散点图

2、代码一:绘制散点图(加颜色,修饰什么的省略)

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import csv

#读取数据

datasets=[]
with open(r‘a.csv‘,‘rt‘) as f:
             lines=csv.reader(f)
             for line in lines:
                     datasets.append(line)

#获取有用部分
datesets=datasets[1:]

#转化为array数组,便于列数据的切片获取
datasets=np.array(datasets)

#数据类型转换一下,以防止画图时精度缺失报错
X=datasets[:,-3].astype(‘float32‘)
Y=datasets[:,-2].astype(‘float32‘)
Z=datasets[:,-1].astype(‘float32‘)

ax=plt.subplot(111,projection=‘3d‘)
ax.scater(X,Y,Z)
ax.set_zlabel(‘z‘)
ax.set_ylabel(‘y‘)
ax.set_xlabel(‘x‘)

plt.show()

代码二:以z=x+y2为例画出三维图:


from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import nmpy as np
fig=plt.figure()
ax=Axes3D(fig)

#生成x,y的网格数据
X=np.arange(-4,4,0.25)
Y=np.arange(-4,4,0.25)

X,Y=np.meshgrid(X,Y)
R=np.sqrt(X+Y**2)

Z=np.sin(R)

ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=‘rainbow‘)

原文地址:http://blog.51cto.com/13831593/2172126

时间: 2024-11-10 01:11:40

python之画三维图像的相关文章

python如何画三维图像?

python三维图像输出的代码如下所示:#画3D函数图像输出from mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import cmimport matplotlib.pyplot as pltimport numpy as npimport mpl_toolkits.mplot3dfigure=plt.figure()#ax = Axes3D(figure)ax=figure.gca(projection="3d")x1=np.

matlab画三维图像

当我们学习surface命令时,已经看到了三维作图的一些端倪.在matlab中我么可以调用mesh(x,y,z)函数来产生三维图像. 首先,我们用z=cos(x)sin(y)在-2pi ≤x,y≤ 2pi内的图像来看看: [x,y] = meshgrid(-2*pi:0.1:2*pi);z = cos(x).*sin(y);mesh(x,y,z),xlabel('x'),ylabel('y'),zlabel('z') 显示图像如下: 同样用mesh命令产生z = ye-(x2+y2)的三维图像:

Python画三维图-----插值平滑数据

一.二维的插值方法: 原始数据(x,y) 先对横坐标x进行扩充数据量,采用linspace.[如下面例子,由7个值扩充到300个] 采用scipy.interpolate中的spline来对纵坐标数据y进行插值[也由7个扩充到300个]. 画图 import matplotlib.pyplot as plt import numpy as np#数据 T = np.array([6, 7, 8, 9, 10, 11, 12]) power = np.array([1.53E+03, 5.92E+

三维图像技术与OpenGL基础理论

英文原文:3D Graphics with OpenGL Basic Theory 中文译文:三维图像技术与OpenGL基础理论 1. 计算机图像硬件 1.1 GPU(图像处理单元) 如今,计算机拥有用来专门做图像处理显示的GPU模块,拥有独立的图像处理储存(显存). 1.2 像素和画面 任何图像显示都是基于栅格的格式.一个栅格既是一张二维的像素直角坐标网.像素具有两个属性:颜色和位置.颜色通常使用RGB(红绿蓝)来表示,典型的有用8位或者24位二进制位(真彩色)表示一种颜色.位置则用坐标(x,

Python文件夹下图像数据可视化

Python文件夹下图像数据可视化 import matplotlib.pyplot as plt import matplotlib.image as mpimg import numpy as np   import urllib2 import urllib import os import shutil   subdir= "/7" homedir = os.getcwd() + subdir # "/home/haoyou/Dev/last_caffe_with_s

OpenGL ES学习笔记(二)——平滑着色、自适应宽高及三维图像生成

首先申明下,本文为笔者学习<OpenGL ES应用开发实践指南(Android卷)>的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载. <Android学习笔记--OpenGL ES的基本用法.绘制流程与着色器编译>中实现了OpenGL ES的Android版HelloWorld,并且阐明了OpenGL ES的绘制流程,以及编译着色器的流程及注意事项.本文将从现实世界中图形显示的角度,说明OpenGL ES如何使得图像在移动设备上显示的更加真实.首先,物体有各种颜色

matlab中画三维图形

这里主要讲述两个方法用matlab画三维图形: 1.mesh函数 先看一个简单的例子: 1 x = 1:1:3; 2 y = 1:1:4; 3 [X, Y] = meshgrid(x, y); 4 Z = zeros(4,3); 5 Z = [ 1 2 3; 6 2 3 4; 7 3 4 5; 8 4 5 6] 9 mesh(X, Y, Z); 这是个简单的用mesh函数画的三维图,结果是: 这里需要注意一点: 矩阵Z的行列,Z的行是Y坐标系的值(meshgrid的右边位置的数y),Z的列是X坐

如何用Python代码画小猪佩奇

Python语言的功能太强大了,可以制作出很多想想的作品来,不信吗?用Python代码还可以画出小猪佩奇,代码其实很简单的,下面,就将几个关键步骤代码分享出来. 怎么用Python代码画小猪佩奇? 首先需要初始化画笔的一些属性,包括颜色.画笔的画画速度等. def init_pen(): ''' 初始化画笔的一些属性 ''' t.pensize(4) # 设置画笔的大小 t.colormode(255) # 设置GBK颜色范围为0-255 t.color((255, 155, 192), "pi

Python绘制不同激活函数图像

1 """ 2 功能:Python绘制不同激活函数图像 3 姓名:侯俊龙 4 日期:2019/12/07 5 """ 6 7 import matplotlib.pyplot as plt 8 import numpy as np 9 10 x = np.linspace(-10,10) 11 # 绘制sigmoid图像 12 fig = plt.figure() 13 y_sigmoid = 1/(1+np.exp(-x)) 14 ax = f