Share via


3D グラフ

グラフ コントロールは 3D グラフをサポートします。3D グラフを使用するには、各グラフ領域の Area3DStyle.Enable3D プロパティを True に設定します。

3D のプロパティ

次の図は、ChartArea.Area3DStyle のプロパティと 3D グラフ領域の外観の対応です。

Chart_Appearance_3D

表示されているプロパティのほかに、グラフ領域に空間的な遠近感を与える Area3DStyle.Perspective プロパティがあります。このプロパティを高い値に設定すると、グラフ領域が手前に表示されます。

Area3DStyle.IsRightAngleAxis プロパティを True に設定すると、回転角度に応じて、縦軸は水平軸または Z 軸に対して常に右に表示されます。このプロパティを True に設定すると、Area3DStyle.Perspective は無効です。逆の場合も同様です。

グラフ要素に対する影響

グラフ領域に 3D を使用すると、グラフ領域内のグラフ要素の動作に次のような影響があります。

  • 3D 対応のグラフ領域に表示される注釈の奥行は表示できません。データ ポイントに固定された注釈は、固定先のデータ ポイントと同じ奥行になります。いずれの場合でも、注釈は 3D グラフ領域の前面に表示されます。

  • 3D 円グラフまたは 3D ドーナツ グラフの場合、データ ポイントに注釈を固定できません。

  • スクロールとズームは使用できません。

  • スケールの区切り線は使用できません。

カスタム描画と 3D

グラフ コントロールでは、2D のグラフ領域とは異なり、3D グラフ領域の系列およびデータ ポイントに対して、PrePaint イベントまたは PostPaint イベントが発生しません。カスタム描画を実行するには他のイベントを使用する必要があります。

3D グラフ領域には (X,Y,Z) の座標系があるため、GDI+ メソッドで使用される (X,Y) 座標と (X,Y,Z) 座標間で変換を行う必要があります。たとえば、3D 軸上のポイント絶対ピクセル座標を取得するには、次の手順を実行します。

  1. Axis.ValueToPosition メソッドを使用して、軸の値から相対的な X および Y の座標値を取得します。

  2. ChartArea.GetSeriesZPosition メソッドと ChartArea.GetSeriesDepth メソッドを使用して、相対的な Z 座標値を取得します。

  3. Point3D クラスでこの X、Y、Z の座標値を使用して、Point3D オブジェクトをインスタンス化します。

  4. ChartArea.TransformPoints メソッドを使用して、相対的な (X,Y,Z) 座標を 2D の相対座標に変換します。

  5. ChartGraphics.GetAbsolutePoint メソッドを使用して、相対座標を絶対ピクセル座標に変換します。

参照

関連項目

System.Windows.Forms.DataVisualization.Charting

System.Web.UI.DataVisualization.Charting

その他の技術情報

グラフ コントロールの使用