pyvista


pyvista是可视化工具包(vtk)的一个帮助模块,它接受 通过numpy和直接阵列实现vtk接口的不同方法进入。

pyvista中,mesh可以表示面,也可以表示体素。
pyvista里面的所有数据都有节点(node),节点是网格的顶点,由XYZ坐标表示,即使是二维数据也是要有XYZ坐标。
https://docs.pyvista.org/

pyvista.Plotter

class Plotter(*args, **kwargs)

参数:

  • off_screen:bool, optional
  • notebook:bool, optional
  • shape:list or tuple, optional
  • border:bool, optional
  • border_color:color_like, optional。color=‘white’,color=‘w’,color=[1.0, 1.0, 1.0],color=[1.0, 1.0, 1.0]
  • window_size:list, optional
  • multi_samples:int, optional
  • line_smoothing:bool, optional
  • polygon_smoothing:bool, optional
  • lighting:str, optional
  • theme:pyvista.themes.DefaultTheme
import pyvista
from pyvista import examples
mesh = examples.load_hexbeam()
another_mesh = examples.load_uniform()
plotter = pyvista.Plotter()
actor = plotter.add_mesh(mesh, color='red')
actor = plotter.add_mesh(another_mesh, color='blue')
plotter.show()

在这里插入图片描述

Plotter.add_mesh()

Plotter.add_mesh(mesh, 
				color=None, 
				style=None, 
				scalars=None, 
				clim=None, 
				show_edges=None, 
				edge_color=None, 
				point_size=5.0, 
				line_width=None, 
				opacity=1.0, 
				flip_scalars=False, 
				lighting=None, 
				n_colors=256, 
				interpolate_before_map=True, 
				cmap=None, 
				label=None, 
				reset_camera=None, 
				scalar_bar_args=None,
				show_scalar_bar=None, 
				multi_colors=False, 
				name=None, 
				texture=None, 
				render_points_as_spheres=None, 
				render_lines_as_tubes=False, 
				smooth_shading=None, 
				split_sharp_edges=None, 
				ambient=0.0, 
				diffuse=1.0, 
				specular=0.0, 
				specular_power=100.0, 
				nan_color=None, 
				nan_opacity=1.0, 
				culling=None, 
				rgb=None, 
				categories=False, 
				silhouette=False, 
				use_transparency=False, 
				below_color=None, 
				above_color=None, 
				annotations=None, 
				pickable=True, 
				preference='point', 
				log_scale=False, 
				pbr=False, 
				metallic=0.0, 
				roughness=0.5,
				render=True, 
				component=None, 
				copy_mesh=False, **kwargs)

参数:

  • mesh
  • color:color_like, optional, defaults to white。example: color=‘white’, color=‘w’, color=[1.0, 1.0, 1.0], or color=‘#FFFFFF’。
  • style:str, optional。style=‘surface’, style=‘wireframe’, style=‘points’.默认为’surface’
  • scalars:str or numpy.ndarray, optional
  • clim:2 item list, optional
  • show_edges:bool, optional
  • edge_color:color_like, optional, defaults to black
  • point_size:float, optional。默认5.0。
  • line_width:float, optional
  • opacity:float, str, array_like
  • flip_scalars:bool, optional
  • lighting:bool, optional。默认False。
  • n_colors:int, optional
  • interpolate_before_map:bool, optional。默认True。
  • cmap:str, list, optional
  • label:str, optional
  • reset_camera:bool, optional
  • scalar_bar_args:dict, optional
  • show_scalar_bar:bool
  • multi_colors:bool, optional
  • name:str, optional
  • texture:vtk.vtkTexture or np.ndarray or bool or str, optional
  • render_points_as_spheres:bool, optional
  • render_lines_as_tubes:bool, optional
  • smooth_shading:bool, optional
  • split_sharp_edges:bool, optional
  • ambient:float, optional
  • diffuse:float, optional
  • specular:float, optional
  • specular_power:float, optional
  • nan_color:color_like, optional, defaults to gray
  • nan_opacity:float, optional
  • culling:str, optional
  • rgb:bool, optional
  • categories:bool, optional
  • silhouette:dict, bool, optional
  • use_transparency:bool, optional
  • below_color:color_like, optional
  • above_color:color_like, optional
  • annotations:dict, optional
  • pickable:bool, optional
  • preference:str, optional
  • log_scale:bool, optional
  • pbr:bool, optional
  • metallic:float, optional
  • roughness:float, optional
  • render:bool, optional
  • component:int, optional
  • copy_mesh:bool, optional
  • **kwargs:dict, optional
import pyvista
sphere = pyvista.Sphere()
sphere['Data'] = sphere.points[:, 2]
plotter = pyvista.Plotter()
_ = plotter.add_mesh(sphere,
                     scalar_bar_args={'title': 'Z Position'})
plotter.show()

在这里插入图片描述

add_point_labels

Plotter.add_point_labels(points, 
						labels, 
						italic=False, 
						bold=True, 
						font_size=None, 
						text_color=None, 
						font_family=None, 
						shadow=False, 
						show_points=True, 
						point_color=None, 
						point_size=5, 
						name=None, 
						shape_color='grey', 
						shape='rounded_rect', 
						fill_shape=True, 
						margin=3, 
						shape_opacity=1.0, 
						pickable=False, 
						render_points_as_spheres=False, 
						tolerance=0.001, 
						reset_camera=None, 
						always_visible=False, 
						render=True)

参数:

  • points:sequence or pyvista.DataSet
  • labels:list or str
  • italic:bool, optional。Default False。
  • bold:bool, optional。Default True。
  • font_size:float, optional。Defaults to 16.。
  • text_color:color_like, optional。text_color=‘white’,text_color=‘w’,text_color=[1.0, 1.0, 1.0],text_color=‘#FFFFFF’
  • font_family:str, optional。‘courier’, ‘times’,'arial.
  • shadow:bool, optional。Default False。
  • show_points:bool, optional。Default True。
  • point_color:color_like, optional。
  • point_size:float, optional
  • name:str, optional
  • shape_color:color_like, optional
  • shape:str, optional。‘rect’,‘rounded_rect’,None.
  • fill_shape:bool, optional
  • margin:int, optional
  • shape_opacity:float, optional。 [0, 1].
  • pickable:bool, optional
  • render_points_as_spheres:bool, optional
  • tolerance:float, optional
  • reset_camera:bool, optional
  • always_visible:bool, optional
  • render:bool, optional

版权声明:本文为weixin_43956958原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。