0
0

Python + Matplotlibを使用して単位円を描画する

Posted at

開発環境

  • Python 3.12.1
  • Visual Studio Code (Version: 1.85.1)
  • matplotlib 3.8.2
  • numpy 1.26.2

コード

import matplotlib.pyplot as plt
import numpy as np

CIRCLE_LINE_COLOR = '#0000FF'  # 円周の線の色
X_AXIS_LINE_COLOR = '#000000'  # X軸の線の色
Y_AXIS_LINE_COLOR = '#000000'  # Y軸の線の色
GRID_COLOR = '#AAAAAA'  # グリッドの色

CIRCLE_LINE_WIDTH = 2  # 円周の線の太さ
X_AXIS_LINE_WIDTH = 0.8  # X軸の線の太さ
Y_AXIS_LINE_WIDTH = 0.8  # Y軸の線の太さ
GRID_LINE_WIDTH = 0.5  # グリッドの線の太さ

FIGURE_SIZE = (6, 6)  # 図のサイズ
AXIS_LIMIT = 1.5  # 軸の制限 (どこまでの値を表示するか)
GRID_LINE_STYLE = '--'  # グリッドの線のスタイル
LABEL_FONT_SIZE = 14  # ラベルのフォントサイズ
TITLE_FONT_SIZE = 16  # タイトルのフォントサイズ

OUTPUT_FILENAME = "graph.png" # 保存用ファイル名

theta = np.linspace(0, 2 * np.pi, 1000)  # 0から2πまでの角度
x = np.cos(theta)  # x座標を計算
y = np.sin(theta)  # y座標を計算

plt.figure(figsize=FIGURE_SIZE)

plt.plot(x, y, label='Unit Circle', color=CIRCLE_LINE_COLOR, linewidth=CIRCLE_LINE_WIDTH)  # プロット

plt.title('Unit Circle', fontsize=TITLE_FONT_SIZE)  # タイトルを追加

plt.xlabel('X', fontsize=LABEL_FONT_SIZE)  # x軸のラベル
plt.ylabel('Y', fontsize=LABEL_FONT_SIZE)  # y軸のラベル

plt.axhline(0, color=X_AXIS_LINE_COLOR, linewidth=X_AXIS_LINE_WIDTH)  # X軸
plt.axvline(0, color=Y_AXIS_LINE_COLOR, linewidth=Y_AXIS_LINE_WIDTH)  # Y軸

plt.grid(which="both", color=GRID_COLOR, linestyle=GRID_LINE_STYLE, linewidth=GRID_LINE_WIDTH)  # グリッドを追加
plt.minorticks_on()  # グリッドの補助線を有効化

plt.legend()  # プロットの右上にレジェンドを表示

plt.xlim(-AXIS_LIMIT, AXIS_LIMIT)  # x軸の値がどこまでかを設定
plt.ylim(-AXIS_LIMIT, AXIS_LIMIT)  # y軸の値がどこまでかを設定

plt.savefig(OUTPUT_FILENAME)

出力された画像

graph.png

参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0