python 3D数据可视化(一)

本文介绍了如何使用matplotlib库在Python中安装和绘制3D图像。首先讲解了matplotlib的pip和conda安装方法,接着详细阐述了如何创建3D图形,包括figure()函数的作用和Axes3D()的创建。然后,通过代码示例展示了如何计算并绘制3D点的坐标,使用plot_surface()和contourf()函数绘制3D曲面及投影。最后,附带了相关资源链接供进一步学习。
摘要由CSDN通过智能技术生成

一、matplotlib安装

pip安装:

pip install matplotlib

conda安装:

conda install matplotlib

二、绘制图像

1、绘制3D图像

先放源码及结果

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

fig = plt.figure(num=1)
ax = Axes3D(fig)

X = np.arange(-4,4,0.25)
Y = np.arange(-4,4,0.25)
X,Y = np.meshgrid(X,Y)
Z = np.sin(np.sqrt(X**2+Y**2))

ax.plot_surface(X,Y,Z,rstride=1,cstride=1,edgecolor='black',cmap=plt.get_cmap('rainbow'))
ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap='rainbow')
plt.show()

绘制结果

函数详细解释

# 创建新的图形
fig = plt.figure(num=1)

作用为一个创建新的图形
figure()函数具有以下常用可选项,
num:为图片提供一个独一无二的标识,若无该项,则程序将自动自1开始累加,figure1、figure2、figure3…
figsize:图片大小,默认值为6.4*4.8,单位为英寸
dpi:每英寸点数,默认值100
facecolor:背景色,默认为白色
edgecolor:边框色,默认为白色
frameon:bool值,False不绘制图形框架,True(默认)绘制框架

# 三维轴对象
ax = Axes3D(fig)

作用是创建一个三维的坐标轴
坐标轴
Axes3D()函数部分常用项如下,
fig:图像,表示画在哪个图像里
rect:四个浮点型的数,分别代表了距离左下角的坐标、宽度和高度,即(left,bottom,width,height)
azim:方位视角,默认值为-60
elev:仰角,默认值为30
proj_type:投影类型,默认为透视

#计算x,y,z的坐标
X = np.arange(-4,4,0.25)
Y = np.arange(-4,4,0.25)
X,Y = np.meshgrid(X,Y)
Z = np.sin(np.sqrt(X**2+Y**2))

这里是在计算点的坐标,np.meshgrid的作用是根据给定X轴和Y轴所有的点,将X和Y放到两个数组,进行笛卡尔乘积,从而得到所有的点。举个例子,x=[1,2] y=[3,4],那么通过np.meshgrid(X,Y)就可以得到四个坐标[1,3] ,[1,4],[2,3]和[2,4]。

ax.plot_surface(X,Y,Z,rstride=1,cstride=1,edgecolor='black',cmap=plt.get_cmap('rainbow'))

这里的作用是绘制出曲面的图形,但是不包括等高线的图~
plot_surface函数部分项如下,
X, Y, Z:数据值
rcount, ccount:每个方向上使用的最大样本数。如果数据被向下采样,则将被向下采样。默认为50。
rstride, cstride:每个方向的下采样步幅。来看个例子,左图是取rstride=1, cstride=1时的场景,右图是取rstride=2, cstride=2时的场景。
在这里插入图片描述

color:曲面片的颜色。
cmap:曲面片的颜色。ColorMap将级别值映射到颜色。例如cmap=plt.get_cmap('rainbow'),彩色的好看好多~
shade:阴影,默认为True
lightsource:使用光源

ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap='rainbow')

这个的作用是绘制投影的部分(如下图)
投影图
contourf()函数部分项如下,
X, Y:坐标值
Z:高度值
colors:颜色
alpha:默认值:不透明度,介于0(透明)和1(不透明)之间。
cmap:ColorMap将级别值映射到颜色。
最终图形如下
最终展示

三、参考链接及相关资源

1 官方文档matplotlib介绍文档
2 推荐一个很不错的视频莫烦Pyhton画图教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值