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の新しいバージョンでは fig.gca(projection='3d') は非推奨となっているため、代わりに ax = fig.add_subplot(111, projection='3d') を使用することが推奨されます。また、zdir 引数に "x"、"y"、"z" を指定することで、それぞれ yz平面、zx平面、xy平面に対してパッチを配置できます。この手法は、円以外にも長方形や多角形など、さまざまな2Dパッチを3D空間に組み込みたい場合に応用できます。
-
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
-
Matplotlibで円の中に長方形をプロットする方法
Matplotlibを使って円の中に長方形を描画したい場合、patchesモジュールが提供するRectangle()クラスとCircle()クラスを組み合わせることで簡単に実現できます。以下の手順に従ってください。手順figure()メソッドを使用して、新しい図を作成するか、既存の図をアクティブにします。add_subplot()メソッドで現在の図にサブプロット(軸)を追加します。Rectangle()クラスとCircle()クラスを使って、長方形と円のインスタンスを作成します。add_patch()メソッドで作成したパッチを軸に追加します。xlim()およびylim()メソッドを使用して、x