本問題では「Matplotlibによる描画の基礎(各種メソッドと引数の使い方)」について学びます。
本問題の解説はYouTube動画でもご覧いただけます。
【解説動画】 第1回Python3データ分析模擬試験 第28問
※当解説動画シリーズはPythonエンジニア育成推進協会に認定された「Python 3 エンジニア認定データ分析試験」の参考教材です。
問題
Matplotlibに関する次の記述のうち、誤っているものはどれか 。
① 折れ線グラフの線の幅は指定することができる。たとえば、10ポイントの幅の指定は、plotメソッドの引数に linewidth=10 と指定する。
② タイトルなどのテキストに対してもスタイルを指定することができる。たとえば、サブプロットのタイトルのフォントファミリーをmonospaceに指定するには、set_titleメソッドの引数に family=’monospace’ と指定する。
③ 同じフォントの指定を複数回繰り返す場合、フォントの設定をタプルデータとして作成し、fontdict引数に一度に指定することができる。タプルデータは上書きができないため、誤って上書きされることを防ぎやすい。
④ グラフに表示する線、背景色、枠線などの要素に色を指定することができる。たとえば、赤い折れ線グラフを描画するには、plotメッソドの引数に color=’red’ と指定する。
⑤ textメソッドを使用するとグラフに任意のテキストを描画できる。第一、第二引数には描画するテキストの左下のX, Y座標を指定する。また、フォントのスタイルと同様の引数の指定もできる。
解説
正解は選択肢③です。以下解説します。
選択肢①
選択肢①は、正しい肢です。
例えば右のようなコードを実行して折れ線グラフを生成します。
まだ何も指定していないデフォルトの線の幅が何ポイントかを設定ファイルで確認します。
この場合は1.5ポイントであることがわかりました。
plotメソッドの引数で線の幅を10ポイントに指定すると、折れ線グラフの線を強調して表示させることができます。
選択肢②
選択肢②は、正しい肢です。
例えば右のようなコードでサブプロットにタイトルを設定します。
set_titleメソッドの引数にサブプロットのタイトルを指定します。
フォントサイズについてはsize引数に、(デフォルト設定では10ポイントなので、出力したときに見やすいよう)大きめ(「25」)に設定します。
フォントファミリーについてはfamily引数に「monospace」を設定します。
出力すると、フォントが設定どおりであることを確認できます。
選択肢③
選択肢③は誤りです。
タプルではなく辞書データが正しいです。
またこの場合の辞書データは上書きも可能です。
例えば右のコードのように、フォントの設定をサイズ20ポイントとして「辞書」で定義し、font_dict変数に格納しまます。
set_titleメソッドのfontdict引数にそれをセットします。
もしここまででカッコ「)」を閉じて出力すると、タイトルのフォントサイズは、最初に定義した20ポイントで描画されます。
(カッコを閉じずfontdict引数に続けて)さらにset_titleメソッドのsize引数に50ポイントを指定してフォントサイズを上書きします。
コードを実行すると、その上書きが有効であることを確認できます。
選択肢④
選択肢④は、正しい肢です。
右のようなコードでplotメソッドが実行されると折れ線グラフが描画されます。
折れ線のデフォルトのカラー設定を確認しておきます。この場合16進数のカラーコードで青い色が指定されています。
ここでplotメソッドのcolor引数に別の色を指定して、デフォルトのカラー設定を上書きすると、それが有効であることが確認できます。
選択肢⑤
選択肢⑤は、正しい肢です。
右のようなコードのテキストメソッドに、X座標、Y座標、テキスト、フォントサイズなど指定します。
出力すると、グラフの中の任意の位置に、任意のテキストが、指定したフォントスタイルで描画されていることを確認できます。
第1回Python3データ分析模擬試験第28問の解説は以上です。