スライダバーウィジェット#

スライダウィジェットは, pyvista.Plotter.add_slider_widget() メソッドおよび pyvista.Plotter.clear_slider_widgets() メソッドによって,それぞれ有効および無効にすることができます.これは,ほぼすべてのものに使用できる値を制御できるため,最も用途の広いウィジェットの1つです.


追加したヘルパーメソッドの1つに pyvista.Plotter.add_mesh_threshold() メソッドがあります.これは,スライダウィジェットを利用して閾値を制御します.

import pyvista as pv
from pyvista import examples

mesh = examples.download_knee_full()

p = pv.Plotter()
p.add_mesh_threshold(mesh)
p.show()
slider bar widget

シーンを操作すると,閾値メッシュは次のように使用できます.

[UnstructuredGrid (0x7f21c0533f40)
  N Cells:    295424
  N Points:   394455
  X Bounds:   3.615e+01, 1.178e+02
  Y Bounds:   1.085e+01, 1.345e+02
  Z Bounds:   0.000e+00, 2.000e+02
  N Arrays:   1]

以下はユーザ対話型のスクリーンショットです

../../_images/slider-widget-threshold.gif

カスタムコールバック#

あるいは,スライダから1つの値を引数として取るカスタムコールバック関数を利用して,メッシュの解像度を制御するなどのことができます.ここでも add_mesh における name 引数の使用に注意してください.

p = pv.Plotter()


def create_mesh(value):
    res = int(value)
    sphere = pv.Sphere(phi_resolution=res, theta_resolution=res)
    p.add_mesh(sphere, name='sphere', show_edges=True)
    return


p.add_slider_widget(create_mesh, [5, 100], title='Resolution')
p.show()
slider bar widget

以下はユーザ対話型のスクリーンショットです

../../_images/slider-widget-resolution.gif

Total running time of the script: (0 minutes 3.317 seconds)

Sphinx-Galleryによるギャラリー