本問題では「Matplotlib」のうち「描画オブジェクトとサブプロット」について学びます。
本問題の解説はYouTube動画でもご覧いただけます。
【解説動画】 第1回Python3データ分析模擬試験 第29問
※当解説動画シリーズはPythonエンジニア育成推進協会に認定された「Python 3 エンジニア認定データ分析試験」の参考教材です。
問題
Matplotlibを用いてsin, cosのグラフを描画する次のコード群に関する説明のうち正しいものはどれか。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0.0, 15.0, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots()
ax.plot(x, y1, label=’sin’)
ax.plot(x, y2, label=’cos’)
ax.legend()
plt.show()
① np.sin(x)は上弦曲線の配列を生成する。x=1のとき、y1は0.594となる。
② np.cos(x)は下弦曲線の配列を生成する。x=5のとき、y2はRUIとなる。
③ xの要素数は149である。
④ このグラフに凡例はない。
⑤ 描画オブジェクトの中に配置されるサブプロットは1つである。
解説
正解は選択肢⑤です。以下解説します。
コードの確認
コードを上から順番に見ていきます。
まずnumpyとmatplotlib.pyplotをインポートします。
numpyのarange関数で0から0.1ごとに15の1つ手前まで、つまり14.9までの配列を生成して、変数xに格納します。
次にnumpyの正弦関数、余弦関数で、xの値のsin、cosを求めて、それぞれ変数y1、y2に格納します。
さらにsubplots関数で描画オブジェクトとサブプロットを生成して、サブプロット「ax」に、「y1」「y2」という2つのグラフをplotします。
凡例用のラベルもそれぞれ設定して、legendメソッドで凡例を表示させます。
最後に出力すると、右のようなグラフが描画されることを確認できます。
選択肢①
選択肢①は誤りです。
sinは、上弦ではなく正弦です。
選択肢②
選択肢②も誤りです。
cosは「余弦」です。
選択肢③
選択肢③も誤りです。
xの要素数は、0から0.1ずつ増えて14.9まで、つまり150個です。
選択肢④
選択肢④も誤りです。
凡例用ラベルは生成されています。
選択肢⑤
選択肢⑤は正しい肢です。
2つのグラフを、1つのサブプロットに描画しています。
第1回Python3データ分析模擬試験第29問の解説は以上です。