pyvista.PolyDataFilters.contour_banded#
- PolyDataFilters.contour_banded(n_contours, rng=None, scalars=None, component=0, clip_tolerance=1e-06, generate_contour_edges=True, scalar_mode='value', clipping=True, progress_bar=False)[ソース]#
塗りつぶしコンターを生成します.
vtkPolyData の塗りつぶし等高線を生成します.塗りつぶし輪郭は,すべて同じセルスカラー値を持つセルの帯であり,したがって同じ色を付けることができます.このメソッドは,塗りつぶし輪郭の生成とも呼ばれます.
このフィルタは vtkBandedPolyDataContourFilter を実装しています.
- パラメータ:
- n_contours
int
色数.
- rng
Sequence
,optional
スカラーの範囲.オプションでデフォルトは
scalars
のアクティブスカラーの最小値と最大値です.- scalars
str
,optional
輪郭抽出に利用するスカラ配列の名前.
None
ならば,アクティブなスカラ配列が利用されます.- component
int
, default: 0 複数のコンポーネントを持つ入力スカラー配列の,使用するコンポーネント.
- clip_tolerance
float
, default: 1e-6 クリップの許容誤差を設定/返します.警告: これを大きく設定しすぎると,確実に数値上の問題が発生します.デフォルトの値から変更する場合は,自己責任でお願いします.実際の内部クリップの許容誤差は,
clip_tolerance
にスカラーレンジを掛けて計算されます.- generate_contour_edgesbool, default:
True
コンターエッジを生成するかどうかを制御します.コンターエッジとはバンド間のエッジのことです.有効にすると,ポリゴン/三角形の帯から生成され,2番目の出力として返されます.
- scalar_mode
str
, default: 'value' セルのスカラー値を,整数のインデックスとして出力するか,スカラー値として出力するかを制御します.もし
'index'
ならば,インデックスがクリップ範囲によって生成されるバンドを指します.もし'value'
ならば,クリップ値の中間の値であるスカラー値が用いられます.- clippingbool, default:
True
rng
の外側をクリップして,rng
内の値を持つセルのみを返すかどうかを指定します.- progress_barbool, default:
False
進行状況を示す進行状況バーを表示します.
- n_contours
- 戻り値:
- output
pyvista.PolyData
輪郭面を含むサーフェス.
- edges
pyvista.PolyData
generate_contour_edges
がTrue
の場合,オプションのエッジ.
- output
例
ランダムな丘陵データセットと 8 本の等高線をプロットします.ここでは7色を使っていることに注意してください (
n_contours - 1
).>>> import pyvista as pv >>> from pyvista import examples
>>> mesh = examples.load_random_hills() >>> n_contours = 8 >>> _, edges = mesh.contour_banded(n_contours)
>>> pl = pv.Plotter() >>> _ = pl.add_mesh( ... edges, ... line_width=5, ... render_lines_as_tubes=True, ... color='k', ... ) >>> _ = pl.add_mesh(mesh, n_colors=n_contours - 1, cmap='Set3') >>> pl.show()
均一なグリッドデータセットから表面を抽出し,そのコンターをバンドコンターフィルタの出力と一緒にプロットします.
>>> surf = examples.load_uniform().extract_surface() >>> n_contours = 5 >>> rng = [200, 500] >>> output, edges = surf.contour_banded(n_contours, rng=rng)
>>> dargs = dict(n_colors=n_contours - 1, clim=rng) >>> pl = pv.Plotter() >>> _ = pl.add_mesh( ... edges, ... line_width=5, ... render_lines_as_tubes=True, ... color='k', ... ) >>> _ = pl.add_mesh(surf, opacity=0.3, **dargs) >>> _ = pl.add_mesh(output, **dargs) >>> pl.show()