Matplotlibで長方形の内側に円を描画する方法
Matplotlibを使えば、長方形の内側に円を配置した図を簡単に作成できます。この記事では、patchesモジュールを利用して、長方形と円の2つの図形を1つのプロット上に重ねて描く手順を解説します。
実装の手順
長方形の内側に円を描画するには、以下のステップに従います。
- figure()メソッドを使って、新しい図を作成するか、既存の図をアクティブにします。
- 現在の軸(Axes)にサブプロットを追加します。
- Rectangle(長方形)とCircle(円)のインスタンスを作成します。
- 長方形のパッチを現在の軸に追加します。
- 円のパッチを現在の軸に追加します。
- xlim()およびylim()メソッドを使って、x軸とy軸の表示範囲を設定します。
- show()メソッドを呼び出して、図を画面に表示します。
サンプルコード
import matplotlib
from matplotlib import pyplot as plt, patches
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = fig.add_subplot(111)
# 長方形を作成(左下の座標 (2, 2)、幅 8、高さ 5)
rect = patches.Rectangle((2, 2), 8, 5, color='yellow')
# 円を作成(中心座標 (6, 4.5)、半径 2)
circle = patches.Circle((6, 4.5), radius=2, color='red')
ax.add_patch(rect)
ax.add_patch(circle)
plt.xlim([-10, 10])
plt.ylim([-10, 10])
plt.axis('equal')
plt.show()
このコードでは、黄色い長方形の中に赤い円が収まるように、円の中心座標と半径を設定しています。plt.axis('equal')を指定することで、x軸とy軸のスケールが等しくなり、円が正確な円形として表示される点もポイントです。
実行結果
コードを実行すると、黄色い長方形の内側に赤い円が描かれたグラフが表示されます。座標範囲は-10から10に設定されているため、図形全体が見やすい位置に配置されます。
なお、patches.Rectangleやpatches.Circleの色やサイズの引数を変更すれば、さまざまなバリエーションの図形を自由に作成できます。ぜひ自分の用途に合わせてカスタマイズしてみてください。
-
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