本問題では「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()
① 円グラフには影がある
② 円グラフには値のパーセント表記がある
③ 円グラフのアスペクト比は保持されない
④ 円グラフは上から配置される
⑤ 円グラフは反時計回りに配置される
解説
正解は選択肢⑤です。以下解説します。
コードの確認
コードを上から順に確認します。
まずmatplotlibのpyplotをインポートします。
変数labelsと変数xに値をそれぞれ格納します。
subplots関数で描画オブジェクトとサブプロットを生成します。
サブプロットaxにpieメソッドで円グラフを描画します。
コードを実行すると、右のような円グラフが描画されます。
一連の流れが把握できたところで、この問題のテーマであるpieメソッドの引数を確認していきます。
まず引数xで、円グラフにおける各要素の大きさの割合、10、3、1を指定します。
またlabels引数でラベル、spam、ham、egg を指定します。
そしてstartangle引数に、(デフォルトとは異なる)90°を設定して、円グラフの12時の位置を、開始位置に指定します。
ここで選択肢④の内容が正しいことを判断できます。
counterclock引数を確認します。これにはFalse(時計回り)の指定がなされています。
ここで選択肢⑤が誤りの内容であることを判断できます。
またshadow引数にTrueが指定されているので、影が表示されます。
ここで選択肢①が正しい内容であることを判断できます。
そしてautpct引数に、値をパーセント表示させるための指定がされています。
具体的には右のように、まず書式化演算子%で、最低限表示させたい桁数(ここでは1桁)が指定されています。
ドットの後に、数字とfの組み合わせで精度(つまり小数点以下は今回2桁まで)が指定されています。
そして最後に%演算子ともう一つの%を指定し一個の%を表示させています。
以上から選択肢②が正しい内容であることを判断できます。
第1回Python3データ分析模擬試験第32問の解説は以上です。