10. 軸グリッド
多くの場合、可視化のために背景の参照グリッドをレンダリングする必要があります--ここでは3D Render View
について説明しますが、チャートビューの軸を考えてみます。このようなグリッドは、3D空間でのデータ境界と配置を理解するのに役立ちます。このような場合は、 Axes Grid
を使用します。 Axes Grid
は、レンダリングされたシーンの周囲にラベルを付けて3Dグリッドをレンダリングします。この章では、 Axes Grid
の使用とカスタマイズについて詳しく説明します。
10.1. 基礎
Axes Grid
の Render View
を有効にするには、 Properties
パネルを使用します。 View
セクションで、 Axes Grid
チェックボックスをオンにしてアクティブビューの Axes Grid
をオンにします。

Edit
ボタンをクリックすると、 Axes Grid
プロパティーのダイアログ( 図 10.1)がポップアップ表示され、 Axes Grid
をカスタマイズできます。 Properties
パネルと同様に、これは検索可能なダイアログであるため、ダイアログの上部にある Search
ボックスを使用して目的のプロパティを検索できます。同時に、 ボタンを使用して、パネルのデフォルトモードと詳細モードを切り替えることができます。
このダイアログを使用して、軸方向ごとに Title Font Properties
および Label Font Properties
を使用してタイトル( X Title
、 Y Title
、および Z Title
)、タイトルおよびラベルフォントなどの共通プロパティを変更できます。また、 Grid Color
も変更できます。軸にラベルを付ける以外に、 Show Grid
をチェックするとグリッドをレンダリングできます。 Axes Grid
のセットアップが完了したら、 を使用して選択内容を保存し、次回ParaViewを起動したときに自動的にロードされるようにすることができます。 ParaViewのデフォルトに戻すには、いつでも
を使用できます。

図 10.1 Edit Axes Grid
ダイアログボックスは、Axes Grid
をカスタマイズするために使用します。
10.2. 使用例
利用可能なカスタマイズをさらに詳しく見るために、可能なさまざまな可視化結果を見てから、 Edit Axes Grid
ダイアログのプロパティーを使用してそれらを設定する方法を見てみましょう。これらの例では、ParaViewにパッケージされている disk_out_ref.ex2
サンプルデータセットを使用します。
上の図では、左側がデフォルトの Axes Grid
です。 Axes Grid
の表示をオンにするだけで、このような表示が生成されます。シーンを操作しても、軸の配置は常にレンダリングされたジオメトリの背後に残ります。拡大ズームおよび縮小ズームすると、ラベルとティックは視覚的な手がかりに基づいて更新されます。
軸平面に沿ってグリッドを表示し、目盛およびラベルと位置合わせするには、 Show Grid
チェックボックスをオンにして、右側に表示します。
デフォルト値では、グリッド化された面は常に最も遠い面になります。つまり、グリッド化された面はレンダリングされたジオメトリの後ろにとどまり、シーンを回転しても更新され続けます。レンダリングする境界ボックスの面を固定するには、 Faces To Render
ボタン(これは拡張プロパティなので、 Edit Axes Grid
ダイアログの Search
ボックスを使用して検索する必要があります)を使用します。ここでは、1つの面、つまりXYの下面だけにラベルを付けるとします。その場合は、 Faces to Render
ボタンをクリックしてポップアップ表示されるメニューの Min-XY
以外の面をすべてオフにします。これは実際にはmin-XY面を表示するだけですが、シーンを回転すると、面がデータセットよりもカメラに近づくとすぐに面が非表示になります。これは、デフォルトで Cull Frontfaces
が有効になっているためです。 Cull Frontfaces
のチェックを外すと、ParaViewはジオメトリの前に来る面の削除を中止し、次のように表示します。

レンダリングする面をコントロールするだけでなく、ラベルを配置する場所もコントロールできます。Y軸に沿ってラベルを配置する方法をParaViewに決定させたいとしますが、X軸については、\(2.5\)、\(0.5\)、\(-0.5\)、および \(-4.5\) という値に明示的にラベルを付けたいとします。そのためには、Edit Axes Grid
パネルの拡張モードであると仮定して、 X Axis Use Custom Labels
をチェックします。 これにより、次に示すように値を追加できるテーブルウィジェットが表示されます。

ボタンを使用して、カスタム値を追加します。その間に、
X Axis Label Font Properties
と X Axis Title Font Properties
も変更して、Y軸と同様に赤に変更し、緑に変更します。タイトルのフォント・サイズを18に増やして目立つようにすると、次のように見えるようになります(左下)。
ここでは、軸平面の両側にラベルが付いています。一方の辺だけにラベルを付ける場合は、 Axes To Label
プロパティを使用して、 Min-X
と Min-Y
以外のすべての辺のチェックマークを外します。これにより、上の図のように表示されます。
10.3. pvpython
での Axes Grid
pvpython
では、 Axes Grid
はレンダービューの AxesGrid
プロパティとしてアクセスできます。
>>> renderView = GetActiveView()
# AxesGrid property provides access to the AxesGrid object.
>>> axesGrid = renderView.AxesGrid
# To toggle visibility of the axes grid,
>>> axesGrid.Visibility = 1
Axes Grid
ダイアログボックスを使用して設定した Edit Axes Grid
のすべてのプロパティは、この axesGrid
オブジェクトで使用でき、次のように変更できます。
>>> axesGrid.XTitle = 'X Title'
>>> axesGrid.XTitleColor = [0.6, 0.6, 0.0]
>>> axesGrid.XAxisLabels = [-0.5, 0.5, 2.5, 3.5]
1.6.2 章 で説明したトレース機能を使えば、どのPython APIを使って Edit Axes Grid
ダイアログの特定のプロパティを変更したり、help
を使ったりするかを決定できることに注意してください。
>>> help(axesGrid)
Help on GridAxes3DActor in module paraview.servermanager object:
class GridAxes3DActor(Proxy)
| GridAxes3DActor can be used to render a grid in a render view.
|
| Method resolution order:
| GridAxes3DActor
| Proxy
| __builtin__.object
|
| Methods defined here:
|
| Initialize = aInitialize(self, connection=None, update=True)
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| AxesToLabel
| Set the mask to select the axes to label. The axes labelled will be a subset of the
| axes selected depending on which faces are also being rendered.
|
| CullBackface
| Set to true to hide faces of the grid facing away from the camera i.e. hide all
| back faces.
|
| CullFrontface
| Set to true to hide faces of the grid facing towards from the camera i.e. hide all
| front faces.
|
| DataPosition
| If data is being translated, you can show the original data bounds for the axes
| instead of the translated bounds by setting the DataPosition to match the
| translation applied to the dataset.
|
...