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)