プログラミング入門II 宿題 2025.07.09

Back


y = sqrt(x) と y = exp(x) のグラフを一つのグラフにまとめて表示させましょう.x の範囲は0から10までとします.また,学生番号を必ずグラフ内に表示させてください.

凡例を左上に表示させていますが,loc = 'upper left' を legend() の引数に追加することで位置を指定します.
解答用紙を使用する際には,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がPythonのプログラムとなっていますので,実行してエラーの無いことを確認してから提出してください.

指定の解答用紙を使用していない,実行時にエラーが出る,学生番号と名前が無い,というような答案は提出されても採点しません.注意してください.


解答例

# #############################
#
# プログラミング入門II 宿題 2025.7.9
# 学生番号:  s246099
# 氏名:     松江 花子
#
# #############################

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 1000)

fig = plt.figure()
ax1 = fig.add_subplot(1, 1, 1)
ax2 = ax1.twinx()

ax1.set_ylim(0, 5)
ax2.set_ylim(0, 25000)
ax1.set_ylabel('y')
ax2.set_ylabel('y')
ax1.set_xlabel('x')

label1 = 'y = sqrt(x)'
label2 = 'y = exp(x)'
txt = 's246099'

ax1.plot(x, np.sqrt(x), '-', label=label1)
ax2.plot(x, np.exp(x), '--', label=label2)

h1, label1 = ax1.get_legend_handles_labels()
h2, label2 = ax2.get_legend_handles_labels()

ax1.legend(h1+h2, label1+label2, loc='upper left')
ax1.text(0.05, 0.8, txt, transform=ax1.transAxes)

plt.tight_layout()
plt.show()

# ------ End of text -------


Back