PythonのMatplotlibで円グラフを作成・表示する方法【初心者向け解説】
Matplotlibは、データ可視化のために広く利用されている人気のPythonライブラリです。データの可視化は分析において非常に重要なステップであり、複雑な数値計算の結果を目で見て理解しやすくしてくれます。数値を一つひとつ確認しなくても、データ全体の傾向や構成を直感的に把握できるため、定量的な洞察を効果的に伝える手段として活用されています。
Matplotlibは主に2次元のグラフやプロットを作成するために使用され、オブジェクト指向のAPIを備えているため、Pythonアプリケーションへの組み込みも容易です。IPythonシェル、Jupyter Notebook、Spyderなどの開発環境と組み合わせて利用できる点も魅力です。
Matplotlib自体はPythonで書かれており、数値計算ライブラリとして知られるNumPyを基盤として構築されています。
Matplotlibのインストール方法
Windows環境では、以下のコマンドを実行するだけでMatplotlibをインストールできます。
pip install matplotlib
Matplotlibの主な依存ライブラリは以下の通りです。
Python(バージョン3.4以上) NumPy Setuptools Pyparsing Libpng Pytz FreeType Six Cycler Dateutil
円グラフとは
円グラフ(パイチャート)は、その名の通り円形のグラフで、データを「パイ」のように分割した形状で表現します。各要素が全体に占める割合をパーセンテージで視覚的に示すのに適しており、構成比の比較に広く使われています。
Matplotlibで円グラフを作成するサンプルコード
それでは、Matplotlibを使って円グラフを作成する具体的な方法を見ていきましょう。
例
import matplotlib.pyplot as plt
labels = 'Label_1', 'Label_2', 'Label_3'
sizes = [10, 34, 56]
explode = (0, 0.1, 0)
fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
shadow=True, startangle=90)
ax1.axis('equal')
plt.show()出力結果

コードの解説
まず必要なパッケージをインポートし、使いやすいようにエイリアス(plt)を定義します。
labelsには円グラフの各セグメントのラベル名、sizesにはそれぞれのデータ値(大きさ)を指定します。
explodeは特定のセグメントを円から切り離して強調表示するためのオプションです。ここでは2番目のセグメントを0.1だけ外側にずらしています。
plt.subplots()を使用して、図(figure)と描画領域(axes)を作成します。
ax1.pie()関数でデータをもとに円グラフを描画します。autopct='%1.1f%%'を指定することで、各セグメントに小数点以下1桁のパーセンテージが自動表示されます。
shadow=Trueで影付きの立体感のあるグラフになり、startangle=90で開始角度を90度に設定しています。
ax1.axis('equal')により、縦横比が等しく保たれ、グラフが正円として表示されます。
最後にplt.show()関数を呼び出すことで、作成した円グラフが画面に表示されます。
このように、Matplotlibを使えばわずか十数行のコードで、見栄えの良い円グラフを簡単に作成できます。データの構成比を伝えたい場面で、ぜひ活用してみてください。
-
Python Matplotlibで円グラフの一部を強調表示して描画する方法
はじめに あなたが最も好きなグラフの種類は何ですか?経営層やビジネスアナリストにこの質問をすると、即座に「円グラフ(パイチャート)!」と答えられるほど、円グラフは割合を視覚的に表現するための最も一般的な手法のひとつです。 この記事では、PythonのMatplotlibを使って基本的な円グラフを描く方法から、explodeパラメータで特定のセクターを強調表示するテクニック、さらにパーセンテージではなく実際の値をラベルとして表示するカスタム関数の実装まで、段階的に解説します。 基本的な円グラフの作成手順 ステップ1:Matplotlibのインストール まず、以下のコマンドでMatplotlibを
-
Python(Matplotlib)でグラフに凡例を追加する方法を徹底解説
はじめにグラフの最大の目的は、データをわかりやすく伝えることです。「百聞は一見に如かず」という言葉のとおり、言葉では表現しにくい複雑な情報も、一枚の図やグラフがあれば直感的に伝えることができます。しかし、多くの情報を含むグラフを描く場合は、どのデータがどの要素に対応しているのかを読み手が理解できるよう、凡例(legend)を添えると効果的です。準備:matplotlibのインストールとデータ作成matplotlibでは、凡例をさまざまな方法で表示できます。また、特定のポイントに注目させたい場合には注釈(annotation)も有効で、グラフ上の情報を読み手が理解する助けになります。まず、Pyt