Pandasの折れ線グラフ#
※記事内に商品プロモーションを含むことがあります。
公開日
参考
Pandasを使わずMatplotlib単体で折れ線グラフを出力する場合、Matplotlibの折れ線グラフを参照ください。
PandasのSeries, DataFrameで折れ線グラフをプロットするには、plot()
メソッドを使用します。
簡単な例#
まず、pandas.Series
でグラフをプロットする簡単な例を以下に示します。index
に指定した変数が横軸になります。
import pandas as pd
sr = pd.Series([1, 3, 2], index=[0, 10, 20])
sr.plot()
<Axes: >

次に、pandas.DataFrame
の簡単な例を以下に示します。index
に指定した変数が横軸になり、columns
が異なる線(系列)になります。
df = pd.DataFrame(
[[1, 2], [3, 5], [2, 4]],
index=[0, 10, 20],
columns=["ham", "egg"]
)
display(df)
df.plot()
ham | egg | |
---|---|---|
0 | 1 | 2 |
10 | 3 | 5 |
20 | 2 | 4 |
<Axes: >

plotメソッドのオプションについては、Pandas グラフ作成の共通設定を参照して下さい。
複数のグラフに分割#
DataFrame
を複数のグラフで表示する場合、plot()
メソッドにsubplots=True
オプションを指定します。
df.plot(subplots=True)
array([<Axes: >, <Axes: >], dtype=object)

さらに、全てのグラフの縦軸の範囲を揃えたい場合、plot()
メソッドにsharey=True
オプションを指定します。
df.plot(subplots=True, sharey=True)
array([<Axes: >, <Axes: >], dtype=object)

線の太さ・色・種類を変える#
線の太さを変える場合、linewidth
オプションで指定します。値が大きいほど、線が太くなります。
また、線の種類と色は、それぞれlinestyle
, color
オプションで指定します。
df.plot(linewidth=5, style=["--", ":"], color=["black", "pink"])
<Axes: >

linewidth
, style
オプションの詳細は以下の記事を参考にして下さい。
また、color
オプションの詳細は以下の記事を参考にして下さい。
マーカーを表示する#
データのマーカーを表示するには、marker
オプションを使用します。
df.plot(marker="o")
<Axes: >

主なmarker
オプションを以下の表に示します。
marker |
説明 |
---|---|
|
丸 |
|
下向き三角 |
|
上向き三角 |
|
左向き三角 |
|
右向き三角 |
|
四角形(square) |
|
五角形(pentagon) |
|
+記号 |
|
x記号 |
|
ダイヤモンド |
その他に利用可能なマーカーの種類は、以下の公式ページを参照してください。
matplotlib.markers — Matplotlib documentation
マーカーの枠線の太さ・色などは変更できます。指定できるオプションを以下の表に示します。
オプション |
説明 |
---|---|
markersize |
マーカーの大きさ |
markeredgewidth |
マーカー枠線の太さ |
markeredgecolor |
マーカー枠線の色 |
markerfacecolor |
マーカーの塗潰しの色 |
fillstyle |
マーカーの塗潰しスタイル。 |
markerfacecoloralt |
マーカーの塗潰しの色2。fillstyleで |
これらのオプションを使用した例を以下に示します。マーカーの枠線が赤、左半分が緑、右半分が青となります。
df.plot(marker="o", markersize=20, markeredgecolor="red", markeredgewidth=2,
markerfacecolor="green", fillstyle="left", markerfacecoloralt="blue")
<Axes: >
