机器学习|Python_库应用_数据可视化

目录
常用操作:
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()

机器学习|Python_库应用_数据可视化
文章图片

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()

机器学习|Python_库应用_数据可视化
文章图片

实例:普通数据可视化 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()


机器学习|Python_库应用_数据可视化
文章图片

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()

机器学习|Python_库应用_数据可视化
文章图片

    推荐阅读