Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibで3Dパッチコレクションをプロットする方法

matplotlibで3Dパッチコレクションをプロットする手順

matplotlibで3Dパッチコレクションをプロットするには、以下の手順に従います。

  • 図のサイズを設定し、サブプロット間およびその周囲の余白(パディング)を調整します。
  • 新しい図を作成するか、既存の図をアクティブにします。
  • 現在のAxesを取得し、投影法(projection)を「3d」に設定します。
  • ["x", "y", "z"] のリストを反復処理しながら、pathpatch_2d_to_3d() メソッドを使用して Circle パッチを PathPatch3D オブジェクトへ変換します。これにより、2Dのパッチを3D空間上の任意の平面に配置できるようになります。
  • 図を表示するには、show() メソッドを呼び出します。

コード例

import matplotlib.pyplot as plt
from matplotlib.patches import Circle
import mpl_toolkits.mplot3d.art3d as art3d

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()
ax = fig.gca(projection='3d')

for i in ["x", "y", "z"]:
    cir = Circle((0.5, 0.5), 0.2, color='red')
    ax.add_patch(cir)
    art3d.pathpatch_2d_to_3d(cir, z=0, zdir=i)

plt.show()

実行結果

上記のコードを実行すると、x・y・zの各平面上に赤い円が配置された3Dプロットが表示されます。Matplotlibで3Dパッチコレクションをプロットする方法Matplotlibで3Dパッチコレクションをプロットする方法

補足: matplotlibの新しいバージョンでは fig.gca(projection='3d') は非推奨となっているため、代わりに ax = fig.add_subplot(111, projection='3d') を使用することが推奨されます。また、zdir 引数に "x"、"y"、"z" を指定することで、それぞれ yz平面、zx平面、xy平面に対してパッチを配置できます。この手法は、円以外にも長方形や多角形など、さまざまな2Dパッチを3D空間に組み込みたい場合に応用できます。

  1. Seabornで2つのグラフを横に並べてプロットする方法(Matplotlib)

    データ分析では、複数のグラフを1つの図の中に並べて比較できると非常に便利です。この記事では、SeabornとMatplotlibを組み合わせて、2つのグラフを横並び(1行2列)で表示する方法を解説します。 実装の流れ 2つのグラフを並べて描画するには、以下の手順を実行します。 plt.subplots(1, 2) を使い、figureサイズ(7, 7)で1行2列のサブプロットを作成します。 Pandasを使って、col1 と col2 のキーを持つデータフレームを作成します。 countplot() メソッドを使用し、カテゴリごとの観測値の件数を棒グラフで可視化します。 subplots_a

  2. Matplotlibで円の中に長方形をプロットする方法

    Matplotlibを使って円の中に長方形を描画したい場合、patchesモジュールが提供するRectangle()クラスとCircle()クラスを組み合わせることで簡単に実現できます。以下の手順に従ってください。手順figure()メソッドを使用して、新しい図を作成するか、既存の図をアクティブにします。add_subplot()メソッドで現在の図にサブプロット(軸)を追加します。Rectangle()クラスとCircle()クラスを使って、長方形と円のインスタンスを作成します。add_patch()メソッドで作成したパッチを軸に追加します。xlim()およびylim()メソッドを使用して、x