PolyDataFilters.ribbon#
- PolyDataFilters.ribbon(
- *,
- width: float | None = None,
- scalars: str | None = None,
- angle: float = 0.0,
- factor: float = 2.0,
- normal: VectorLikeFloat | None = None,
- tcoords: bool | str = False,
- preference: PointLiteral | CellLiteral = 'point',
- progress_bar: bool = False,
Create a ribbon of the lines in this dataset.
Note
If there are no lines in the input dataset, then the output will be an empty
pyvista.PolyDatamesh.- Parameters:
- width
float, optional Set the “half” width of the ribbon. If the width is allowed to vary, this is the minimum width. The default is 10% the length.
- scalars
str, optional String name of the scalars array to use to vary the ribbon width. This is only used if a scalars array is specified.
- angle
float, optional Angle in degrees of the offset angle of the ribbon from the line normal. The default is 0.0.
- factor
float, optional Set the maximum ribbon width in terms of a multiple of the minimum width. The default is 2.0.
- normal
VectorLikeFloat, optional Normal to use as default.
- tcoordsbool,
str, optional If
True, generate texture coordinates along the ribbon. This can also be specified to generate the texture coordinates with either'length'or'normalized'.- preference
str, optional The field preference when searching for the scalars array by name.
- progress_barbool, default:
False Display a progress bar to indicate progress.
- width
- Returns:
pyvista.PolyDataRibbon mesh. Empty if there are no lines in the input dataset.
Examples#
Download Python source code | Download Jupyter notebook
Convert a line to a ribbon and plot it.
>>> import numpy as np
>>> import pyvista as pv
>>> n = 1000
>>> theta = np.linspace(-10 * np.pi, 10 * np.pi, n)
>>> z = np.linspace(-2, 2, n)
>>> r = z**2 + 1
>>> x = r * np.sin(theta)
>>> y = r * np.cos(theta)
>>> points = np.column_stack((x, y, z))
>>> pdata = pv.PolyData(points)
>>> pdata.lines = np.hstack((n, range(n)))
>>> pdata['distance'] = range(n)
>>> ribbon = pdata.ribbon(width=0.2)
>>> ribbon.plot(show_scalar_bar=False)
Used In#
Gallery Examples