PythonのPandasを使って折れ線グラフ(line plot)を表示する方法について、初心者の方でも理解できるように、基本から応用まで丁寧に解説します。
折れ線グラフは、時系列データや連続データの変化を視覚的に捉えるのに非常に適したグラフです。
目次
【基本編】PandasのDataFrameから折れ線グラフを描く
例:簡単な時系列データ
import pandas as pd
import matplotlib.pyplot as plt
# サンプルデータの作成
data = {
'Date': pd.date_range(start='2025-01-01', periods=6, freq='M'),
'Sales': [100, 150, 130, 170, 160, 200]
}
df = pd.DataFrame(data)
# 日付をインデックスに設定
df.set_index('Date', inplace=True)
# 折れ線グラフの描画
df.plot()
# グラフの装飾
plt.title('Monthly Sales Trend')
plt.xlabel('Date')
plt.ylabel('Sales')
plt.grid(True)
# 表示
plt.show()
ポイント
df.plot()
は、Pandasの ラッパー関数 で、matplotlib.pyplot.plot()
を内部的に呼び出します。index
(ここでは日付)がX軸、列(ここではSales)がY軸になります。
【応用編】複数の折れ線を描く(列が複数ある場合)
import pandas as pd
import matplotlib.pyplot as plt
# データ作成
data = {
'Date': pd.date_range(start='2025-01-01', periods=6, freq='M'),
'Product_A': [100, 120, 130, 140, 150, 160],
'Product_B': [80, 90, 95, 110, 120, 130]
}
df = pd.DataFrame(data)
df.set_index('Date', inplace=True)
# 複数系列の描画
df.plot()
# 装飾
plt.title('Monthly Sales Comparison')
plt.xlabel('Date')
plt.ylabel('Sales')
plt.legend(loc='upper left')
plt.grid(True)
# 表示
plt.show()
【装飾編】スタイルや色、マーカーの指定
import pandas as pd
import matplotlib.pyplot as plt
# データ作成
data = {
'Date': pd.date_range(start='2025-01-01', periods=6, freq='M'),
'Product_A': [100, 120, 130, 140, 150, 160],
'Product_B': [80, 90, 95, 110, 120, 130]
}
df = pd.DataFrame(data)
df.set_index('Date', inplace=True)
# スタイルの指定(マーカー、色、線の種類など)
df.plot(style=['o-', 's--'], color=['blue', 'green'], figsize=(10,6))
# 装飾
plt.title('Styled Line Plot')
plt.xlabel('Date')
plt.ylabel('Sales')
plt.grid(True)
# 表示
plt.show()
各オプションの意味
style=['o-', 's--']
: マーカー付き折れ線(oは円、sは四角、’-‘は実線、’–‘は破線)color=['blue', 'green']
: 線の色指定figsize=(10,6)
: グラフのサイズ(横×縦)
【細かい調整】x軸のラベル間隔や回転
import pandas as pd
import matplotlib.pyplot as plt
# データ作成
data = {
'Date': pd.date_range(start='2025-01-01', periods=6, freq='M'),
'Sales': [100, 150, 130, 170, 160, 200]
}
df = pd.DataFrame(data)
df.set_index('Date', inplace=True)
# 描画
df.plot()
# ラベルの調整
plt.xticks(rotation=45) # X軸ラベルを45度回転
plt.tight_layout() # レイアウトの自動調整
plt.title('Sales with Rotated Labels')
plt.grid(True)
# 表示
plt.show()
【Tips】Jupyter Notebookで表示がうまくいかない場合
# ノートブックの最初のセルに書いてください
%matplotlib inline
このマジックコマンドをセルの最初に書くことで、Jupyter Notebook上にグラフを表示できるようになります。
まとめ:Pandasで折れ線グラフを描く手順
ステップ | 内容 |
---|---|
1 | pandas と matplotlib.pyplot をインポート |
2 | DataFrameを作成し、必要であればインデックスを日付に変更 |
3 | df.plot() でグラフを描画 |
4 | plt.title() , plt.xlabel() , plt.ylabel() などで調整 |
5 | plt.show() で表示 |
以上、PythonのPandasで折れ線グラフを表示する方法についてでした。
最後までお読みいただき、ありがとうございました。