PyVista是一款python的可视化工具包(VTK)的高级API
1 说明:
=====
1.1 VTK:我有介绍:
1.1.1 《VTK:华为笔记本电脑+深度deepin-linux+python下安装和入门》
1.1.2 确实,原始的vtk的python接口简直是太繁琐了,而且文档极其难看;与pyqt5和pyside2一样,功能强大,但是书写代码太繁琐,看着烦,不接受反驳。
1.2 所以,诞生了:PyVista:
1.2.1 PyVista是VTK的python高级API。
1.2.2 官方称为:"VTK for humans": a high-level API to the Visualization Toolkit (VTK)。
1.2.3 Pyvista是一套继承自VTK数据格式的python工具包,由于同VTK数据对象兼容。
2 准备:
=====
2.1 官网:https://docs.pyvista.org/index.html https://docs.pyvista.org/examples/index.html https://github.com/pyvista/pyvista
2.2 环境:
华为笔记本电脑、深度deepin-linux操作系统、python3.8和微软vscode编辑器。
2.3 安装:pip install pyvista #本机安装 #sudo pip3.8 install pyvista #慢 #国内源安装,快 sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple pyvista
3 Hello world:
===========
3.1 窗口基本设置:
3.1.1 代码:#导出模块 import pyvista as pv #创建一个画板plotter,并实例化调出 #plotter=绘图仪 plotter = pv.Plotter(title="First",window_size=(1000,1000)) #plotter = pv.Plotter() # setup camera and 展示窗口 # 窗口标题名(不支持中文),窗口大小设置,在show和pv.Plotter中设置均可 #plotter.show(title="First",window_size=(1000,1000)) plotter.show() #关闭 plotter.close()
3.1.2 注意窗口的标题名,大小设置,注释里有。
3.2 Hello world
3.2.1 代码:import pyvista as pv plotter = pv.Plotter() #文本文字 plotter.add_text(text="Hello world", position="upper_left", font_size=18, color="red",) #窗口展示 plotter.show(title="Hello world",window_size=(1000,1000)) plotter.close() #附注:文本字的位置 #"lower_left","lower_right", "upper_left", "upper_right", #"lower_edge", "upper_edge", "right_edge", "left_edge"
3.2.2 图:
4 图片显示:
=========
4.1 静态图片显示
4.1.1 代码:import pyvista as pv # Create a plotter object plotter = pv.Plotter() #背景图片,scale显示图片大小;格式jpg,png,jpeg plotter.add_background_image("/home/xgj/Desktop/VTK/Pyvista/pic.jpeg",scale=0.5) #窗口展示 plotter.show(title="show picture",window_size=(1000,1000)) plotter.close()
4.1.2 图:
4.2 立体图:
========
4.2.1 代码:import pyvista as pv image = pv.read("/home/xgj/Desktop/VTK/Pyvista/pic.jpeg") # True image colors image.plot(rgb=True, cpos="xy")
4.2.2 效果图:
5 3D-plane飞机:
============
5.1 方法一,代码:#直接画飞机 import pyvista as pv from pyvista import examples #mesh为网格,这里是调出飞机模块函数,实例化 mesh = examples.load_airplane() #screenshot="airplane.png",保存图片png,在根目录下 #mesh.plot(screenshot="airplane.png") mesh.plot()
5.2 效果图:
5.3 方法二,代码:#先通过pv.Plotter()新建一个渲染窗口,然后通过add_mesh增加mesh。 import pyvista as pv from pyvista import examples mesh = examples.load_airplane() plotter = pv.Plotter(window_size=[1200,1200],title="plane",) # instantiate the plotter #color的颜色是渲染物的颜色,飞机的颜色 plotter.add_mesh(mesh,color="tan") # add a mesh to the scene #cpos = plotter.show() # show the rendering window plotter.show() #等同上面的
5.4 效果图:
6 3D长方体:
=========
6.1 代码:import pyvista as pv from pyvista import examples mesh = examples.load_hexbeam() #show_edges=True,显示长方体的小网格 mesh.plot(show_edges=True)
6.2 效果图:
7 3D地球:
=======
7.1 代码:import pyvista as pv from pyvista import examples #mesh = (examples.load_globe()) mesh = examples.load_globe() #等同上面 mesh.plot(show_edges=True)
7.2 效果图:
===自己整理并分享出来===
喜欢就点赞、收藏、转发、关注和评论。