グラフの目的は「データを分かりやすく伝える」こと。 軸・凡例・出典・スケールを必ず明示してください。
本ページでは 折れ線グラフ を、 定義・前提条件・使い方・落とし穴の順に整理して解説します。 厳密な定義より、 まず何を、 いつ、 どう使うかを理解することを優先してください。
時系列の推移を線で表現
英語名 Line Chart。
この用語を理解・使用するときは、 次のような前提を意識してください:
SSDSE-B-2026 のような公的統計データを Python で扱う際の基本パターン:
1 2 3 4 5 6 7 8 9 10 11 12 | import pandas as pd import numpy as np # データ読み込み df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1) print(df.shape) print(df.dtypes) print(df.describe()) # 「折れ線グラフ」の文脈で扱う場合の例: # 分野: 可視化 # 関連手法は同カテゴリの他用語を参照してください。 |
具体的なコードは 1変量の可視化 を参照してください。
分析結果を報告するときに含めるべき情報:
折れ線グラフ(Line Chart) は、 時間軸を持つデータの推移を表す代表的なグラフ。 連続性のあるデータの傾向把握、 比較、 予測の前段階分析で必須。
| 用途 | 折れ線適 | 代替 |
|---|---|---|
| 時系列推移 | ○ | 面積グラフ |
| カテゴリ比較 | × | 棒グラフ |
| 構成比 | × | 円/ツリーマップ |
| 分布 | × | ヒストグラム |
1 2 3 4 5 6 7 | # 折れ線グラフ : 日本の高齢化率の推移
import pandas as pd, matplotlib.pyplot as plt
years = [1970, 1980, 1990, 2000, 2010, 2020, 2023]
rates = [7.1, 9.1, 12.1, 17.4, 23.0, 28.6, 29.1]
plt.plot(years, rates, marker='o', color='#00897B')
plt.xlabel('年'); plt.ylabel('高齢化率(%)'); plt.grid(alpha=0.3)
plt.tight_layout(); plt.savefig('line.png', dpi=150) |
1 2 3 4 5 6 | # 多系列折れ線 : 5 都道府県の高齢化率推移(仮想例)
import numpy as np
for pref, base in zip(['秋田県','東京都','沖縄県','大阪府','北海道'],
[25,18,17,20,22]):
plt.plot(years, [base + 0.04*(y-1970) for y in years], marker='o', label=pref)
plt.legend(); plt.tight_layout(); plt.savefig('multi_line.png', dpi=150) |
1 2 3 4 5 | # Plotly インタラクティブ
import plotly.express as px
fig = px.line(x=years, y=rates, markers=True,
labels=dict(x='年', y='高齢化率(%)'))
fig.write_html('line.html') |
| 用途 | 折れ線 | 代替 | SSDSE 例 |
|---|---|---|---|
| 時系列 | ○ | 面積 | 高齢化率推移 |
| 複数系列比較 | ○ | 小数 | 都道府県比較 |
| 分布 | × | ヒストグラム | 人口分布 |
| 構成比 | × | 円/積上 | 年齢構成 |
| 相関 | × | 散布図 | 2変数関係 |
1 2 3 4 5 6 7 8 9 | import matplotlib.pyplot as plt
years = [2000,2005,2010,2015,2020,2023]
japan = [17.4, 20.2, 23.0, 26.6, 28.6, 29.1]
korea = [7.2, 9.1, 11.0, 13.1, 15.7, 17.5]
us = [12.4, 12.4, 13.0, 14.9, 16.5, 17.3]
plt.plot(years, japan, marker='o', label='Japan')
plt.plot(years, korea, marker='s', label='Korea', linestyle='--')
plt.plot(years, us, marker='^', label='US', linestyle=':')
plt.legend(); plt.savefig('line_compare.png', dpi=150) |
1 2 3 4 5 | import pandas as pd, matplotlib.pyplot as plt
ts = pd.Series([1,2,3,5,2,6,7,8,5,9,10])
plt.plot(ts, label='raw')
plt.plot(ts.rolling(3).mean(), label='MA3')
plt.legend(); plt.savefig('ma.png', dpi=150) |
折れ線グラフ は古典的可視化手法の一つで、 統計可視化の標準教科書 (Tufte, Cleveland) でも扱われます。
matplotlib (2003-) は MATLAB ライクな API で広く普及。 ggplot2 (R, 2007) で文法 of graphics が確立。 Vega-Lite / Altair (2017) が宣言型表現を Web に持ち込みました。
近年は SVG/Canvas/WebGL の多層実装が普及し、 大規模データでもブラウザ可視化が可能に。 GPU 利用の Datashader, deck.gl が研究機関で活躍。