python初心者にもオススメ!Matplotlibを使った図形描画を優しく解説!

スポンサーリンク
Python/DeepLearning

こんにちは!サラリーマンブロガーのみやしんです。

今日はpythonで図形描画をご紹介したいと思います。最近の私の仕事でpythonを使って図形を書く必要があった為、このブログへ残して皆さんのお役に立てたらと思います。

みやしん
みやしん

コードだけでなく、説明もしっかり載せて分かりやすくしたいと思いますので、是非ご参考にして頂けたらと思います!

スポンサーリンク

図形描画のやり方

matplotlib.patchesを使って図形を描画

matplotlib.patchesを使って、四角や円などの様々な図形を描画できます。

まずはライブラリをインポートします。

import matplotlib.pyplot as plt
import matplotlib.patches as patches

fig = plt.figure()で何も描画されていない新しいウィンドウを描画

fig = plt.figure() 

ax = plt.axes()で1つのグラフができる

ax = plt.axes()

円を描画。

円の中心 x=0, y=0、半径=0.5、円の内側の色=緑、円の枠の色=赤

fc = face color, ec = edge colorの意味

c = patches.Circle(xy=(0, 0), radius=0.5, fc='g', ec='r') 

楕円を描画。幅=0.4、高さ=0.8

e = patches.Ellipse(xy=(-0.25, 0), width=0.4, height=0.8, fc='b', ec='y') 

四角(矩形)描画。枠の色=#000000は黒色、fill=Falseで内側の色なし(透明)

xyは四角の左下角の座標

r = patches.Rectangle(xy=(0, 0), width=0.5, height=0.25, ec='#000000', fill=False) 

色の設定例

  • b:blue
  • g:green
  • r:red
  • c:cyan
  • m:magenta
  • y:yellow
  • k:black  (bだとblueと被るため)
  • w:white

add_patchを使ってグラフに円、楕円、四角を追加

ax.add_patch(c)
ax.add_patch(e)
ax.add_patch(r) 

plt.axis()でグラフの目盛、グリッド、目盛に付けるラベル等を設定

‘scaled’でプロットボックスの寸法を変更して等しい尺度を設定

ax.set_aspect(‘equal’)を使ってプロットのアスペクト比を設定する方法も同じ効果

plt.axis('scaled') 

描画をファイルに保存。ファイル名は自由(今回はshape_drawing.pngというファイル名で保存)

保存する際に拡張子を付けて保存可能(JPEG, TIFF, PNG)

plt.savefig('shape_drawing.png') 

図形描画結果

 

スクリプト(コピペ用)

コピペ用に下記にスクリプトを掲載致します。

# ライブラリをインポート
import matplotlib.pyplot as plt
import matplotlib.patches as patches

# fig = plt.figure()で何も描画されていない新しいウィンドウを描画
fig = plt.figure()

# ax = plt.axes()で1つのグラフができる
ax = plt.axes()

# fc = face color, ec = edge colorの意味
# 円を描画
# 円の中心 x=0, y=0、半径=0.5、円の内側の色=緑、円の枠の色=赤
c = patches.Circle(xy=(0, 0), radius=0.5, fc='g', ec='r')
# 楕円を描画
# 幅=0.4、高さ=0.8
e = patches.Ellipse(xy=(-0.25, 0), width=0.4, height=0.8, fc='b', ec='y')
# 四角(矩形)描画
# 枠の色=#000000は黒色、fill=Falseで内側の色なし(透明)
# xyは四角の左下角の座標
r = patches.Rectangle(xy=(0, 0), width=0.5, height=0.25, ec='#000000', fill=False)
# 色の設定例
# b:blue
# g:green
# r:red
# c:cyan
# m:magenta
# y:yellow
# k:black  bだとblueと被るため
# w:white

# add_patchを使ってグラフに円、楕円、四角を追加
ax.add_patch(c)
ax.add_patch(e)
ax.add_patch(r)

# plt.axis()でグラフの目盛、グリッド、目盛に付けるラベル等を設定。
# 'scaled'でプロットボックスの寸法を変更して等しい尺度を設定。
# ax.set_aspect('equal')を使ってプロットのアスペクト比を設定する方法も同じ効果。
plt.axis('scaled')

# 描画をファイルに保存。
# 保存する際に拡張子を付けて保存可能(JPEG, TIFF, PNG)
plt.savefig('shape_drawing.png') 

Python、AI、機械学習について、初心者の方、プログラミングスクールに興味のある方、E資格を取得したい方、更に実践的なスキルを磨きたい方は下記の記事もご参考ください。

また、もっとmatplotlib.patchesの詳細を知りたい方は下記もご参照ください。

matplotlib.patches — Matplotlib 3.11.0.dev1458+g94def4ee5 documentation

Python matplotlibで図形やグラフを描画したい方におススメの書籍はこちら!

みやしん
みやしん

図形の書き方については以上になります。

python初心者の方、少しずつで良いので焦らず地道に実力を積み上げていきましょう!

最後まで読んでくださりありがとうございました!

Python/DeepLearning
スポンサーリンク
記事が良かったらSNSでシェアを宜しくお願いします!
みやしんをフォローすると役立つ情報がいっぱいにゃ!
スポンサーリンク

コメント

タイトルとURLをコピーしました