このチュートリアルでは、強力なPythonデータ可視化ライブラリであるMatplotlibを使用して様々な円グラフを作成するための包括的なガイドを提供します。基本的な概念を網羅し、グラフの方向のカスタマイズや特定のデータスライスの強調表示などの高度なテクニックについても掘り下げます。
目次
基本的な円グラフの作成
まずは簡単な円グラフを作成してみましょう。かごの中の様々な種類の果物の分布を表すサンプルデータを使用します。
import matplotlib.pyplot as plt
# サンプルデータ
labels = 'リンゴ', 'バナナ', 'チェリー', 'デーツ'
sizes = [15, 30, 45, 10]
# 円グラフの作成
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140)
# 円グラフを円形にする
plt.axis('equal')
# タイトルの追加
plt.title('果物の分布')
# グラフの表示
plt.show()
このコードスニペットはまずmatplotlib.pyplot
モジュールをインポートします。次に、各パイのスライスに対してラベルと対応するサイズを定義します。plt.pie()
関数はグラフを生成し、パーセンテージ(autopct
)を自動的に計算して表示し、最初のスライスを140度の角度から開始します。plt.axis('equal')
はグラフが完全な円になることを保証します。最後に、plt.title()
でタイトルを追加し、plt.show()
で結果を表示します。
時計回りの円グラフの作成
時計回りに進行する円グラフを作成するには、plt.pie()
関数内のstartangle
パラメータを変更するだけです。startangle
を0度にすると、最初のスライスは右端の位置になり、その後のスライスは時計回りに続きます。
import matplotlib.pyplot as plt
labels = 'リンゴ', 'バナナ', 'チェリー', 'デーツ'
sizes = [15, 30, 45, 10]
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=0)
plt.axis('equal')
plt.title('果物の分布(時計回り)')
plt.show()
explode機能によるスライスの強調表示
「explode」機能を使用すると、パイの残りの部分からわずかに分離することで、特定のスライスを強調表示できます。これは、explode
パラメータにリストを提供することで行われます。リストの長さはsizes
リストと一致する必要があり、各要素は対応するスライスのオフセット距離を表します。値0はオフセットがないことを示します。
import matplotlib.pyplot as plt
labels = 'リンゴ', 'バナナ', 'チェリー', 'デーツ'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0) # 2番目のスライス('バナナ')を強調表示
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', startangle=90)
plt.axis('equal')
plt.title('果物の分布(スライス強調表示)')
plt.show()
この例では、2番目のスライス(’バナナ’)のexplode値を0.1に設定することで強調表示されています。目的の視覚的な強調効果を得るために、さまざまなexplode値を試してみてください。explode
タプルは、円グラフのスライス数と一致していることを確認してください。
円グラフの外観のカスタマイズ
Matplotlibは、円グラフをカスタマイズするための幅広いオプションを提供しています。色を調整したり、凡例を追加したり、フォントサイズを変更したり、その他多くのことができます。カスタマイズオプションの完全なリストについては、Matplotlibのドキュメントを参照してください。