データ可視化を向上させる:pandasでグラフに凡例を追加する方法

データ可視化は、データ分析において欠かせない重要な作業です。pandasを使ってデータフレームからグラフを作成することができますが、このときグラフに凡例を追加することで、グラフの見やすさを向上させることができます。

基本的なグラフ作成:pandasでデータフレームからグラフを作成する方法

pandasには、データフレームから様々なグラフを作成するための関数が用意されています。例えば、以下のようにデータフレームのplotメソッドを使うことで、簡単に折れ線グラフを作成することができます。

import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
    'A': [1, 2, 3, 4],
    'B': [2, 4, 6, 8],
    'C': [3, 6, 9, 12]
})
df.plot()
plt.show()

このコードを実行すると、以下のようなグラフが表示されます。

このグラフには凡例が表示されています。plot関数の引数「legend」を使って、凡例の有無を操作することが出来ますが、デフォルトではlegend=Trueとなっており、凡例を表示します。

凡例の追加:plot関数の引数「legend」を使って凡例を表示

plot関数には、データ系列ごとに凡例を表示するための「legend」引数があります。この引数をTrueに設定することで、データ系列のラベルが自動的に凡例に表示されます。

legend=Falseにすると、凡例を表示させないことが可能です。

df.plot(legend=False)
plt.show()

このコードを実行すると、以下のようなグラフが表示されます。

このように、凡例を表示することで、グラフの見やすさが向上しました。ただし、デフォルトではグラフの右上に凡例が表示されてしまうため、場合によっては凡例の位置やサイズを調整する必要があります。次のセクションでは、凡例のカスタマイズ方法を紹介します。

凡例のカスタマイズ:凡例の位置やサイズを調整する方法

plot関数の「legend」引数には、凡例の位置を調整するためのいくつかのオプションがあります。

  • loc:凡例の位置を指定する。’best’、’upper right’、’upper left’、’lower left’、’lower right’、’right’、’center left’、’center right’、’lower center’、’upper center’、’center’から選択可能。
  • bbox_to_anchor:凡例をグラフの外側に表示する場合に、グラフのどの位置に表示するかを指定する。タプルで指定する。
  • ncol:凡例の列数を指定する。
df.plot(legend=True).legend(loc='lower right')
plt.show()

このコードを実行すると、以下のように凡例が右下に表示されます。

df.plot(legend=True).legend(bbox_to_anchor=(1.0, 1.0))
plt.show()

このコードを実行すると、以下のように凡例がグラフの右上に表示されます。

また、ncol引数を使うことで、凡例の列数を指定することができます。

df.plot(legend=True).legend(bbox_to_anchor=(1.0, 1.0), ncol=2)
plt.show()

このコードを実行すると、以下のように凡例が2列に分かれて表示されます。

複数のデータ系列を表示:凡例を活用した複数のデータ系列を比較するグラフ作成

データフレームには複数の列が含まれることが多く、これらの列を比較するためには複数のデータ系列を表示する必要があります。plot関数を使って複数のデータ系列を表示する方法を紹介します。

以下のようなデータフレームがあるとします。

import pandas as pd

df = pd.DataFrame({
    'Year': [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019],
    'Sales': [100, 150, 200, 250, 300, 350, 400, 450, 500, 550],
    'Profit': [20, 30, 40, 50, 60, 70, 80, 90, 100, 110]
})

print(df)

このデータフレームを使って、年度ごとの売上と利益の推移を比較する折れ線グラフを作成することを考えます。以下のようにplot関数を使って、複数のデータ系列を表示することができます。

df.plot(x='Year', y=['Sales', 'Profit'], legend=True)
plt.show()

このコードを実行すると、以下のような折れ線グラフが表示されます。

このように、凡例を活用することで、複数のデータ系列を比較するグラフを作成することができます。

まとめ

pandasを使ってデータフレームからグラフを作成する際には、凡例を追加することでグラフの見やすさを向上させることができます。plot関数の「legend」引数を使うことで、簡単に凡例を追加することができます。さらに、凡例の位置やサイズを調整することもできます。また、各データ系列に対応する凡例のラベルを変更することも可能です。さらに、複数のデータ系列を比較するためには、凡例を活用することができます。

データ可視化は、データ分析において欠かせない作業であり、pandasを使って簡単にグラフを作成することができます。この記事を参考にして、データフレームからグラフを作成し、凡例を活用してグラフの見やすさを向上させることができるようになりましょう。