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

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

本問題では「Matplotlib」のうち「円グラフの出力方法(pieメソッド)」について学びます。

本問題の解説はYouTube動画でもご覧いただけます。
【解説動画】 第1回Python3データ分析模擬試験 第32問
※当解説動画シリーズはPythonエンジニア育成推進協会に認定された「Python 3 エンジニア認定データ分析試験」の参考教材です。

問題

Matplotlibを用いて円グラフを描画する次のコード群に関する説明のうち誤っているものはどれか。

import matplotlib.pyplot as plt
labels = [‘spam’, ‘ham’, ‘egg’]
x = [10, 3, 1]
fig, ax = plt.subplots()
ax.pie(x, labels=labels, startangle=90, counterclock=False, shadow=True, autopct=’%1.2f%%’)

plt.show()

① 円グラフには影がある
② 円グラフには値のパーセント表記がある
③ 円グラフのアスペクト比は保持されない
④ 円グラフは上から配置される
⑤ 円グラフは反時計回りに配置される

解説

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

コードの確認

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

コードを上から順に確認します。

まずmatplotlibのpyplotをインポートします。

変数labelsと変数xに値をそれぞれ格納します。

subplots関数で描画オブジェクトとサブプロットを生成します。

サブプロットaxにpieメソッドで円グラフを描画します。

第1回_Python3データ分析模試_第32問円グラフ

コードを実行すると、右のような円グラフが描画されます。

第1回_Python3データ分析模試_第32問2

一連の流れが把握できたところで、この問題のテーマであるpieメソッドの引数を確認していきます。

まず引数xで、円グラフにおける各要素の大きさの割合、10、3、1を指定します。

第1回_Python3データ分析模試_第32問3

またlabels引数でラベル、spam、ham、egg を指定します。

第1回_Python3データ分析模試_第32問4

そしてstartangle引数に、(デフォルトとは異なる)90°を設定して、円グラフの12時の位置を、開始位置に指定します。

第1回_Python3データ分析模試_第32問円グラフ
第1回_Python3データ分析模試_第32問選択肢④

ここで選択肢④の内容が正しいことを判断できます。

第1回_Python3データ分析模試_第32問5.PNG

counterclock引数を確認します。これにはFalse(時計回り)の指定がなされています。

第1回_Python3データ分析模試_第32問円グラフ
第1回_Python3データ分析模試_第32問選択肢⑤

ここで選択肢⑤が誤りの内容であることを判断できます。

第1回_Python3データ分析模試_第32問6

またshadow引数にTrueが指定されているので、影が表示されます。

第1回_Python3データ分析模試_第32問shadow引数
第1回_Python3データ分析模試_第32問選択肢①

ここで選択肢①が正しい内容であることを判断できます。

第1回_Python3データ分析模試_第32問7

そしてautpct引数に、値をパーセント表示させるための指定がされています。

具体的には右のように、まず書式化演算子%で、最低限表示させたい桁数(ここでは1桁)が指定されています。

ドットの後に、数字とfの組み合わせで精度(つまり小数点以下は今回2桁まで)が指定されています。

そして最後に%演算子ともう一つの%を指定し一個の%を表示させています。

第1回_Python3データ分析模試_第32問7円グラフ
第1回_Python3データ分析模試_第32問選択肢②

以上から選択肢②が正しい内容であることを判断できます。

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