第1回Python3データ分析模擬試験【第29問】解説

第1回Python3データ分析模擬試験第29問

本問題では「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つである。

解説

正解は選択肢⑤です。以下解説します。

コードの確認

第1回_Python3データ分析模試_第29問コード

コードを上から順番に見ていきます。

まずnumpyとmatplotlib.pyplotをインポートします。

numpyのarange関数で0から0.1ごとに15の1つ手前まで、つまり14.9までの配列を生成して、変数xに格納します。

次にnumpyの正弦関数、余弦関数で、xの値のsin、cosを求めて、それぞれ変数y1、y2に格納します。

第1回_Python3データ分析模試_第29問コード2

さらにsubplots関数で描画オブジェクトとサブプロットを生成して、サブプロット「ax」に、「y1」「y2」という2つのグラフをplotします。

凡例用のラベルもそれぞれ設定して、legendメソッドで凡例を表示させます。

第1回_Python3データ分析模試_第29問コード4

最後に出力すると、右のようなグラフが描画されることを確認できます。

選択肢①

第1回_Python3データ分析模試_第29問選択肢①

選択肢①は誤りです。

sinは、上弦ではなく正弦です。

選択肢②

第1回_Python3データ分析模試_第29問選択肢②

選択肢②も誤りです。

cosは「余弦」です。

選択肢③

第1回_Python3データ分析模試_第29問選択肢③

選択肢③も誤りです。

第1回_Python3データ分析模試_第29問選択肢③2

xの要素数は、0から0.1ずつ増えて14.9まで、つまり150個です。

選択肢④

第1回_Python3データ分析模試_第29問選択肢④

選択肢④も誤りです。

凡例用ラベルは生成されています。

選択肢⑤

選択肢⑤は正しい肢です。

2つのグラフを、1つのサブプロットに描画しています。

第1回Python3データ分析模擬試験第29問の解説は以上です。