Pythonでの図面作成は、データ可視化やグラフ描画だけでなく、簡単な設計図やレイアウト図、さらにはCADのような2D図面まで描ける非常に強力なツールセットを提供します。
ここでは、Pythonを使った図面作成の基礎について、以下の構成で詳しく解説します。
目次
図面作成とは?Pythonで何ができるのか
Pythonで「図面作成」と言うと、以下のようなことが可能です。
図面の種類 | 使用例 | 使用ライブラリ |
---|---|---|
データグラフ | 折れ線グラフ、棒グラフ、円グラフ | matplotlib , seaborn , plotly |
2D図形 | 線、円、矩形、自由曲線 | matplotlib , turtle , Pillow , svgwrite |
ベクターグラフィック | SVG形式のイラスト、アイコン | svgwrite , cairo |
簡易CAD図面 | 建築図、構造図のような直線図面 | matplotlib , shapely , cadquery |
インタラクティブ描画 | ユーザー操作に反応する図形 | plotly , bokeh , PyQtGraph |
基本のライブラリとその特徴
matplotlib
(最も定番の描画ライブラリ)
- 科学技術系のグラフから、基本的な2D図形描画まで対応。
- 高いカスタマイズ性。
- オブジェクト指向スタイルで構図管理ができる。
import matplotlib.pyplot as plt
# 基本図形の描画(直線と円)
fig, ax = plt.subplots()
ax.plot([0, 1], [0, 1], label='Line') # 線
circle = plt.Circle((0.5, 0.5), 0.3, fill=False, color='red')
ax.add_patch(circle)
ax.set_aspect('equal')
ax.legend()
plt.grid(True)
plt.show()
Pythonで図面を作成するプロセス(汎用的なステップ)
- キャンバスの用意
→ 描画領域(figure, surfaceなど)を作成する。 - 描画スタイルの定義
→ 線の色、太さ、ラベル、グリッドなどを設定する。 - 図形の配置(座標指定)
→ 座標系を理解して、適切な位置に図形を置く。 - 図形の描画
→ 線、円、矩形、多角形などを配置。 - 保存または表示
→plt.savefig()
,turtle.done()
,svgwrite.save()
などで出力。
図面作成に役立つTips
テクニック | 内容 |
---|---|
アスペクト比の固定 | 建築・CAD的な図面では縦横比を固定(ax.set_aspect('equal') ) |
グリッド表示 | 座標軸の認識を助ける(plt.grid(True) ) |
座標ラベルの表示 | ax.text(x, y, "label") で図面中に注釈を入れる |
オブジェクト指向描画 | Figure , Axes を使って複雑な図面を構造的に管理 |
単位系の明示 | インチ、ピクセル、mmなどの単位をコメントや凡例に入れておく |
より高度な図面作成(発展編)
shapely
+matplotlib
→ 幾何学図形(交差、バッファ、ポリゴン合成)を扱う建築・GIS向け図面。cadquery
→ OpenSCAD風のスクリプトで3Dモデリング可能なCADライブラリ。plotly
/bokeh
→ インタラクティブな図面や、ズーム・パン可能な図面作成に。
参考リンクと学習素材
タイトル | リンク |
---|---|
Matplotlib公式 | https://matplotlib.org/stable/index.html |
Turtle Graphics 教材 | https://docs.python.org/ja/3/library/turtle.html |
svgwrite GitHub | https://github.com/mozman/svgwrite |
CadQuery (3D CAD) | https://cadquery.readthedocs.io/en/latest/ |
まとめ

Pythonによる図面作成は、初学者向けの教育用から、実務にも使えるベクター図・設計図作成まで幅広く対応できます。
まずは matplotlib
で図形の基本操作に慣れた上で、svgwrite
や shapely
のような専門的ライブラリにステップアップすると良いでしょう。
以上、Pythonの図面作成の基礎についてでした。
最後までお読みいただき、ありがとうございました。