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 ------- |