Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Pandasの折れ線グラフ

公開日 2024-08-18

PandasのSeries, DataFrameで折れ線グラフをプロットするには、plot()メソッドを使用します。

簡単な例

まず、pandas.Seriesでグラフをプロットする簡単な例を以下に示します。indexに指定した変数が横軸になります。

import pandas as pd

sr = pd.Series([1, 3, 2], index=[0, 10, 20])
sr.plot()
<Axes: >
<Figure size 640x480 with 1 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()
Loading...
<Axes: >
<Figure size 640x480 with 1 Axes>

plotメソッドのオプションについては、Pandas グラフ作成の共通設定を参照して下さい。

複数のグラフに分割

DataFrameを複数のグラフで表示する場合、plot()メソッドにsubplots=Trueオプションを指定します。

df.plot(subplots=True)
array([<Axes: >, <Axes: >], dtype=object)
<Figure size 640x480 with 2 Axes>

さらに、全てのグラフの縦軸の範囲を揃えたい場合、plot()メソッドにsharey=Trueオプションを指定します。

df.plot(subplots=True, sharey=True)
array([<Axes: >, <Axes: >], dtype=object)
<Figure size 640x480 with 2 Axes>

線の太さ・色・種類を変える

線の太さを変える場合、linewidthオプションで指定します。値が大きいほど、線が太くなります。 また、線の種類と色は、それぞれlinestyle, colorオプションで指定します。

df.plot(linewidth=5, style=["--", ":"], color=["black", "pink"])
<Axes: >
<Figure size 640x480 with 1 Axes>

linewidth, styleオプションの詳細は以下の記事を参考にして下さい。

Matplotlib 線の書式

また、colorオプションの詳細は以下の記事を参考にして下さい。

Matplotlib 色の書式

マーカーを表示する

データのマーカーを表示するには、markerオプションを使用します。

df.plot(marker="o")
<Axes: >
<Figure size 640x480 with 1 Axes>

主なmarkerオプションを以下の表に示します。

marker説明
o
v下向き三角
^上向き三角
<左向き三角
>右向き三角
s四角形(square)
p五角形(pentagon)
++記号
xx記号
Dダイヤモンド

その他に利用可能なマーカーの種類は、以下の公式ページを参照してください。

matplotlib.markers — Matplotlib documentation

マーカーの枠線の太さ・色などは変更できます。指定できるオプションを以下の表に示します。

オプション説明
markersizeマーカーの大きさ
markeredgewidthマーカー枠線の太さ
markeredgecolorマーカー枠線の色
markerfacecolorマーカーの塗潰しの色
fillstyleマーカーの塗潰しスタイル。full (デフォルト), left, right, bottom, top, none (塗潰し無し)
markerfacecoloraltマーカーの塗潰しの色2。fillstyleでleft, right, bottom, topを指定した際、塗り潰されない領域の色となる

これらのオプションを使用した例を以下に示します。マーカーの枠線が赤、左半分が緑、右半分が青となります。

df.plot(marker="o", markersize=20, markeredgecolor="red", markeredgewidth=2, 
        markerfacecolor="green", fillstyle="left", markerfacecoloralt="blue")
<Axes: >
<Figure size 640x480 with 1 Axes>