目录
常用操作:
mayavi工具下,
matplotlib工具下,
实例:图像可视化
实例:普通数据可视化
常用操作:
mayavi工具下,
# 库
import numpy as np
from mayavi import mlab
# 基本函数
mlab.figure # 前景背景设置
mlab.surf # 表面渲染
mlab.mesh # 表面网格
mlab.contour_surf # 表面等高线
mlab.axes # 坐标设置(标签等)
mlab.outline # 网线可视化设置
mlab.show # 显示
matplotlib工具下,
# 库
import matplotlib.pyplot as plt
# 建立框图
fig = plt.figure()
# 实例化对象
ax = fig.add_subplot()
ax = fig.gca()
# 成员函数操作
ax.plot()# 点
ax.contour()# 轮廓线
ax.plot_surface()# 表面
ax.set_xlabel() # 标签
ax.set_xlim() # 轴坐标
plt.show() # 显示
实例:图像可视化 【机器学习|Python_库应用_数据可视化】建议使用mayai比较好看,数据格式shape三维保证: X(w,1)Y(1,h)Z(w,h)
'''
# function 输入灰度图,3D可视化
import cv2
import numpy as np
from mayavi import mlab
'''
def image_surf_3D():
# 数据输入
img = cv2.imread("raccoon-3.bmp")# 修改图片位置
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
imgd = np.array(img)# image类 转 numpy
# 准备数据
sp = imgd.shape
h = int(sp[0])# height(rows) of image
w = int(sp[1])# width(colums) of image
x, y = np.ogrid[0:w:1,0:h:1]# 将坐标向量变为坐标矩阵,列为x的长度,行为y的长度
z = imgd
mlab.figure(fgcolor=(0, 0, 0), bgcolor=(1, 1, 1)) #更改背景色
pl = mlab.surf(x, y, z, representation="wireframe", line_width=1.0)
mlab.contour_surf(x, y, z) # 等高线# mlab.axes(xlabel='x',ylabel='y',zlabel='z')# 显示 x,y,z 的label和数值
# mlab.outline(pl) # 画立体空间包围区域线
mlab.show()
文章图片
import numpy as np
from mayavi import mlabdef example():
x,y = np.ogrid[-2:2:160j,-2:2:160j]
# arange 函数产生的是一维数组,而ogrid函数产生的是二维数组
z = abs(x)*np.exp(-x**2-(y/.75)**2)
print(x.shape,y.shape)
print(z.shape)
mlab.figure(fgcolor=(0, 0, 0), bgcolor=(1, 1, 1)) #更改背景色
pl=mlab.surf(x,y,z,warp_scale=2)
mlab.axes(xlabel='x',ylabel='y',zlabel='z')
#mlab.outline(pl)
mlab.show()
文章图片
实例:普通数据可视化 matplotlib数据格式shape三维保证: X(w,h)Y(w,h)Z(w,h)
import matplotlib.pyplot as plt
from matplotlib import cm
def contour_surface():
# 第一步:构建框图
fig = plt.figure()
ax = fig.gca(projection='3d')# 第二步:构建输入数据
X, Y, Z = axes3d.get_test_data(0.05)# 第三步:绘制表面图
ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3)# 第四步:对应轴绘制等高线 offset=-100很重要
'''
contour 和 contourf 函数说明:contour画线、contourf画线面
'''
cset = ax.contourf(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm)
cset = ax.contourf(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm)
cset = ax.contourf(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm)# 第五步:设置表格的各轴范围和标签
ax.set_xlabel('X')
ax.set_xlim(-40, 40)
ax.set_ylabel('Y')
ax.set_ylim(-40, 40)
ax.set_zlabel('Z')
ax.set_zlim(-100, 100)# 第六步:文本注释
ax.text(-40, 20, 50, "SSSSSSSSSSSSSSS", color='red')plt.show()
文章图片
import matplotlib.pyplot as plt
import numpy as np
def data_xyz():
# 目标直径
w0 = np.random.randint(low=40, high=100, size=10, dtype='l')
h0 = np.random.randint(low=40, high=100, size=10, dtype='l')
# 大目标直径
W0 = np.random.randint(low = 1200, high = 1280,size = 10,dtype='l')
H0 = np.random.randint(low = 900, high = 1024, size = 10, dtype='l')# 对象
fig = plt.figure()
ax = fig.add_subplot(111)#, projection='3d'# 绘制
ax.plot(w0, h0, 'bo')
ax.plot(W0, H0, 'bo')# 文本
ax.text(30, 100, "S", color='red')
# 轴
ax.set_ylabel('y')
ax.set_xlim(0, 1280)
ax.set_xlabel('x')
ax.set_ylim(0, 1280)
plt.show()
文章图片
推荐阅读
- paddle|动手从头实现LSTM
- 人工智能|干货!人体姿态估计与运动预测
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- 读书笔记|《白话大数据和机器学习》学习笔记1
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件