7. 可视化实例
来源:互联网 发布:省市区街道数据库 编辑:程序博客网 时间:2024/05/16 12:54
- 标量数据可视化
- 等值面
- 切平面
- 复合观测
- 矢量数据可视化
- Quiver绘制
- Masking Vector采样
- Cut Plane切面
- 级数的等值面
- Flow可视化
- 复合观测
标量数据可视化
等值面
import numpy as npfrom mayavi import mlabx, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j]s = np.sin(x*y*z)/(x*y*z)mlab.contour3d(s)mlab.show()
切平面
import numpy as npfrom mayavi import mlabx, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j]s = np.sin(x*y*z)/(x*y*z)mlab.pipeline.image_plane_widget(mlab.pipeline.scalar_field(s), # 数据的标量数据场 plane_orientation='x_axes', # 切平面的方向 slice_index=10 )mlab.pipeline.image_plane_widget(mlab.pipeline.scalar_field(s), plane_orientation='y_axes', slice_index=10 )mlab.outline()mlab.show()
复合观测
import numpy as npfrom mayavi import mlabx, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j]s = np.sin(x * y * z) / (x * y * z)src = mlab.pipeline.scalar_field(s)mlab.pipeline.iso_surface(src, contours=[s.min() + 0.1 * s.ptp(), ], opacity=0.1)mlab.pipeline.iso_surface(src, contours=[s.max() - 0.1 * s.ptp(), ])mlab.pipeline.image_plane_widget(src, plane_orientation='z_axes', slice_index=10, )mlab.show()
矢量数据可视化
Quiver绘制
import numpy as npfrom mayavi import mlabx, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]u = np.sin(np.pi * x) * np.cos(np.pi * z)v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)mlab.quiver3d(u, v, w)mlab.outline()mlab.show()
Masking Vector采样
import numpy as npfrom mayavi import mlabx, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]u = np.sin(np.pi * x) * np.cos(np.pi * z)v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)src = mlab.pipeline.vector_field(u, v, w)mlab.pipeline.vectors(src, mask_points=10, # 每10个点取一个点 scale_factor=2.0 # 放缩比例 )mlab.show()
Cut Plane切面
import numpy as npfrom mayavi import mlabx, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]u = np.sin(np.pi * x) * np.cos(np.pi * z)v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)src = mlab.pipeline.vector_field(u, v, w)mlab.pipeline.vector_cut_plane(src, mask_points=10, # 每10个点取一个点 scale_factor=2.0 # 放缩比例 )mlab.show()
Mac上闪退…… Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
级数的等值面
import numpy as npfrom mayavi import mlabx, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]u = np.sin(np.pi * x) * np.cos(np.pi * z)v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)src = mlab.pipeline.vector_field(u, v, w)magnitude = mlab.pipeline.extract_vector_norm(src)mlab.pipeline.iso_surface(magnitude, contours=[2.0, 0.5])mlab.outline()mlab.show()
Flow可视化
import numpy as npfrom mayavi import mlabx, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]u = np.sin(np.pi * x) * np.cos(np.pi * z)v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)flow = mlab.flow(u, v, w, seed_scale=1, seed_resolution=5, integration_direction='both' # 'forword' 'backword' 'both' )mlab.outline()mlab.show()
复合观测
import numpy as npfrom mayavi import mlabx, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]u = np.sin(np.pi * x) * np.cos(np.pi * z)v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)src = mlab.pipeline.vector_field(u, v, w)magnitude = mlab.pipeline.extract_vector_norm(src)iso = mlab.pipeline.iso_surface(magnitude, contours=[2.0, ], opacity=0.3)vec = mlab.pipeline.vectors(magnitude, mask_points=40, line_width=1, color=(0.8, 0.8, 0.8), scale_factor=4.)flow = mlab.pipeline.streamline(magnitude, seedtype='plane', seed_visible=False, seed_scale=0.5, seed_resolution=1, linetype='ribbon')vcp = mlab.pipeline.vector_cut_plane(magnitude, mask_points=2, scale_factor=4, colormap='jet', plane_orientation='x_axes')mlab.outline()mlab.show()
在Mac上仍然由于vector_cut_plane
导致闪退。
阅读全文
0 0
- 7. 可视化实例
- 6. 可视化实例
- 8. Mayavi可视化实例
- 可视化实例(一)
- opencv彩色图像可视化实例
- MyEclipse可视化开发Hibernate实例
- 【Matplotlib】数据可视化实例分析
- 简单Python决策树可视化实例
- 使用MyEclipse可视化开发Hibernate实例
- 使用MyEclipse可视化开发Hibernate实例
- Kettel应用实例及可视化展示
- 数据可视化(5)--jqplot经典实例
- 数据可视化(6)--Google Charts实例
- 使用MyEclipse可视化开发Hibernate实例
- python爬虫+R数据可视化 实例
- 【Pandas】【matplotlib】【DataFrame】特征列可视化实例
- 可视化
- 可视化
- 信号量解决生产者-消费者问题
- iOS 关于页面回调传值的总结(delegete、block)
- 省市地址的级联
- ArrayList、Vector、HashMap、HashSet的默认初始容量、加载因子、扩容增量
- 事件委托 详解
- 7. 可视化实例
- JZOJ 5257. 小X的佛光 (Standard IO)
- Python多线程/多进程操作队列
- iOS 导航栏标题不居中的解决办法
- 【华为机试】无线OSS-高精度整数加法
- 【思维的乐趣】算法实例
- Java程序员必须知道的几种系列辅助开发工具
- NodeJs访问MySQL老是报Pool Close问题。
- 【NYOJ