本問題の解説は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問の解説は以上です。