class Property(theme=None, interpolation=None, color=None, style='surface', metallic=None, roughness=None, point_size=None, opacity=None, ambient=None, diffuse=None, specular=None, specular_power=None, show_edges=None, edge_color=None, render_points_as_spheres=None, render_lines_as_tubes=None, lighting=None, line_width=None, culling=None)[source]#

Wrap vtkProperty and expose it pythonically.

This class is used to set the property of actors.

themepyvista.themes.DefaultTheme, optional

Plot-specific theme.

interpolationstr, default: pyvista.themes._LightingConfig.interpolation

Set the method of shading. One of the following:

  • 'Physically based rendering' - Physically based rendering.

  • 'pbr' - Alias for Physically based rendering.

  • 'Phong' - Phong shading.

  • 'Gouraud' - Gouraud shading.

  • 'Flat' - Flat Shading.

This parameter is case insensitive.

colorColorLike, default: pyvista.themes.DefaultTheme.color

Used to make the entire mesh have a single solid color. Either a string, RGB list, or hex color string. For example: color='white', color='w', color=[1.0, 1.0, 1.0], or color='#FFFFFF'. Color will be overridden if scalars are specified.

stylestr, default: ‘surface’

Visualization style of the mesh. One of the following: style='surface', style='wireframe', style='points'. Note that 'wireframe' only shows a wireframe of the outer geometry.

metallicfloat, default: pyvista.themes._LightingConfig.metallic

Usually this value is either 0 or 1 for a real material but any value in between is valid. This parameter is only used by PBR interpolation.

roughnessfloat, default: pyvista.themes._LightingConfig.roughness

This value has to be between 0 (glossy) and 1 (rough). A glossy material has reflections and a high specular part. This parameter is only used by PBR interpolation.

point_sizefloat, default: pyvista.themes.DefaultTheme.point_size

Size of the points represented by this property.

opacityfloat, default: pyvista.themes.DefaultTheme.opacity

Opacity of the mesh. A single float value that will be applied globally opacity of the mesh and uniformly applied everywhere - should be between 0 and 1.

ambientfloat, default: pyvista.themes._LightingConfig.ambient

When lighting is enabled, this is the amount of light in the range of 0 to 1 that reaches the actor when not directed at the light source emitted from the viewer.

diffusefloat, default: pyvista.themes._LightingConfig.diffuse

The diffuse lighting coefficient.

specularfloat, default: pyvista.themes._LightingConfig.specular

The specular lighting coefficient.

specular_powerfloat, default: pyvista.themes._LightingConfig.specular_power

The specular power. Between 0.0 and 128.0.

show_edgesbool, default: pyvista.themes.DefaultTheme.show_edges

Shows the edges. Does not apply to a wireframe representation.

edge_colorColorLike, default: pyvista.themes.DefaultTheme.edge_color

The solid color to give the edges when show_edges=True. Either a string, RGB list, or hex color string.

render_points_as_spheresbool, default: pyvista.themes.DefaultTheme.render_points_as_spheres

Render points as spheres rather than dots.

render_lines_as_tubesbool, default: pyvista.themes.DefaultTheme.render_lines_as_tubes

Show lines as thick tubes rather than flat lines. Control the width with line_width.

lightingbool, default:

Enable or disable view direction lighting.

line_widthfloat, default: pyvista.themes.DefaultTheme.line_width

Thickness of lines. Only valid for wireframe and surface representations.

cullingstr | bool, optional

Does not render faces that are culled. This can be helpful for dense surface meshes, especially when edges are visible, but can cause flat meshes to be partially displayed. Defaults to 'none'. One of the following:

  • "back" - Enable backface culling

  • "front" - Enable frontface culling

  • 'none' - Disable both backface and frontface culling


Create a pyvista.Actor and assign properties to it.

>>> import pyvista as pv
>>> actor = pv.Actor()
>>> actor.prop = pv.Property(
...     color='r',
...     show_edges=True,
...     interpolation='Physically based rendering',
...     metallic=0.5,
...     roughness=0.1,
... )

Visualize how the property would look when applied to a mesh.

>>> actor.prop.plot()

Set custom properties not directly available in pyvista.Plotter.add_mesh(). Here, we set diffuse, ambient, and specular power and colors.

>>> pl = pv.Plotter()
>>> actor = pl.add_mesh(pv.Sphere())
>>> prop = actor.prop
>>> prop.diffuse = 0.6
>>> prop.diffuse_color = 'w'
>>> prop.ambient = 0.3
>>> prop.ambient_color = 'r'
>>> prop.specular = 0.5
>>> prop.specular_color = 'b'



Create a deep copy of this property.


Plot this property on the Stanford Bunny.



Return or set ambient.


Return or set the ambient color of this property.


Return or set the anisotropy coefficient.


Return or set the color of this property.


Return or set face culling.


Return or set the diffuse lighting coefficient.


Return or set the diffuse color of this property.


Return or set the edge color of this property.


Return or set the method of shading.

Return or set view direction lighting.


Return or set the line width.


Return or set metallic.


Return or set the opacity of this property.


Return or set the point size.


Return or set rendering lines as tubes.


Return or set rendering points as spheres.


Return or set roughness.


Return or set the visibility of edges.


Return or set specular.


Return or set the specular color of this property.


Return or set specular power.

Return or set Visualization style of the mesh.