axhline【水平線 (単一)】3.9
axvline【垂直線 (単一)】
hlines【水平線 (複数)】3.3
vlines【垂直線 (複数)】3.3
axhspan【水平範囲】3.9
axvspan【垂直範囲】3.9
axline【直線】3.3

直線・範囲のサンプル画像

axes.Axes.axhline【水平線 (単一)】3.9
axes.Axes.axvline【垂直線 (単一)】
pyplot.axhline【水平線 (単一)】3.9
pyplot.axvline【垂直線 (単一)】

メモ

概要

  • 単一の水平線垂直線を追加
  • 線のスタイル
    • 引数で指定
    • 戻り値の線分のプロパティ設定
  • 極座標対応 3.9

構文

axes.axhline(y=0, xmin=0, xmax=1, **kwargs)
axes.axvline(x=0, ymin=0, ymax=1, **kwargs)
pyplot.axhline(y=0, xmin=0, xmax=1, **kwargs)
pyplot.axvline(x=0, ymin=0, ymax=1, **kwargs)

戻り値 (Line2D)線分
y (float)水平線のy座標
x (float)垂直線のx座標
xmin (float)ymin (float)最小位置 (0 ~ 1)
xmax (float)ymax (float)最大位置 (0 ~ 1)
以下、可変長キーワード引数
kwargsLine2D【線分】プロパティ (transform【座標変換】を除く)

例:axes.Axes.axhline【水平線 (単一)】・axes.Axes.axvline【垂直線 (単一)】

axes.Axes.axhline【水平線 (単一)】・axes.Axes.axvline【垂直線 (単一)】のサンプル画像

import matplotlib.pyplot as plt

# 初期設定
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = \
    ['Yu Gothic', 'Hiragino Maru Gothic Pro', 'Noto Sans CJK JP']
fig, axs = plt.subplots(
    1, 2,
    figsize=(6, 3),
    tight_layout=True,
)
x = [0, 1, 2, 3]
y = [0, 3, 1, 2]

# グラフ [0]
axs[0].set_title('axhline【水平線 (単一)】')
axs[0].plot(x, y)
axs[0].set_xticks(x)
axs[0].set_yticks(y)

# 水平線 (1)
axs[0].axhline(
    1,
    # スタイル設定
    linewidth=2,
    color='red',
)

# 水平線 (2)
line_h = axs[0].axhline(
    2,
    0.1, 0.9,
)
# スタイル設定
line_h.set_linewidth(2)
line_h.set_linestyle('--')
line_h.set_color('blue')

# グラフ [1]
axs[1].set_title('axvline【垂直線 (単一)】')
axs[1].plot(x, y)
axs[1].set_xticks(x)
axs[1].set_yticks(y)

# 垂直線 (1)
axs[1].axvline(
    1,
    # スタイル設定
    linewidth=2,
    color='red',
)

# 垂直線 (2)
line_v = axs[1].axvline(
    2,
    0.1, 0.9,
)
# スタイル設定
line_v.set_linewidth(2)
line_v.set_linestyle('--')
line_v.set_color('blue')

# 表示
plt.show()

例:pyplot.axhline【水平線 (単一)】・pyplot.axvline【垂直線 (単一)】

pyplot.axhline【水平線 (単一)】・pyplot.axvline【垂直線 (単一)】のサンプル画像

import matplotlib.pyplot as plt

# 初期設定
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = \
    ['Yu Gothic', 'Hiragino Maru Gothic Pro', 'Noto Sans CJK JP']
fig = plt.figure(
    figsize=(3, 3),
    tight_layout=True,
)
x = [0, 1, 2, 3]
y = [0, 3, 1, 2]

# グラフ
plt.title('pyplot.axhline【水平線 (単一)】\npyplot.axvline【垂直線 (単一)】')
plt.plot(x, y)
plt.xticks(x)
plt.yticks(y)

# 水平線 (1)
plt.axhline(
    1,
    # スタイル設定
    linewidth=2,
    color='red',
)

# 水平線 (2)
line_h = plt.axhline(
    2,
    0.1, 0.9,
)
# スタイル設定
line_h.set_linewidth(2)
line_h.set_linestyle('--')
line_h.set_color('blue')

# 垂直線 (1)
plt.axvline(
    1,
    # スタイル設定
    linewidth=2,
    color='red',
)

# 垂直線 (2)
line_v = plt.axvline(
    2,
    0.1, 0.9,
)
# スタイル設定
line_v.set_linewidth(2)
line_v.set_linestyle('--')
line_v.set_color('blue')

# 表示
plt.show()

axes.Axes.hlines【水平線 (複数)】3.3
axes.Axes.vlines【垂直線 (複数)】3.3
pyplot.hlines【水平線 (複数)】3.3
pyplot.vlines【垂直線 (複数)】3.3

メモ

概要

  • 複数(単一も可)の水平線垂直線を追加
  • 線分のスタイル
    • 引数で指定
    • 戻り値の線分コレクションのプロパティ設定

構文

axes.hlines(y, xmin, xmax, colors=None, linestyles='solid', label='', *, data=None, **kwargs)
axes.vlines(x, ymin, ymax, colors=None, linestyles='solid', label='', *, data=None, **kwargs)
pyplot.hlines(y, xmin, xmax, colors=None, linestyles='solid', label='', *, data=None, **kwargs)
pyplot.vlines(x, ymin, ymax, colors=None, linestyles='solid', label='', *, data=None, **kwargs)

戻り値 (LineCollection)線分コレクション

y (float | 配列形式)y座標
xmin (float | 配列形式)xmax (float | 配列形式)x座標の最小値・最大値
x (float | 配列形式)x座標
ymin (float | 配列形式)ymax (float | 配列形式)y座標の最小値・最大値
colors (color | list[color])線の色 (デフォルト:'k' rcParams["lines.color"] 'C0'3.3)
linestyles ('solid'|'dashed'|'dashdot'|'dotted')線スタイル
label凡例ラベル
以下、キーワード引数
data (インデックス可能オブジェクト)ラベル名指定データ
    引数にラベル名を指定し、ラベル名と実際の値をここで指定 (対象引数:yxminxmaxxyminymaxcolors)
以下、可変長キーワード引数
kwargsLineCollection プロパティ

例:axes.Axes.hlines【水平線 (複数)】・axes.Axes.vlines【垂直線 (複数)】

axes.Axes.hlines【水平線 (複数)】・axes.Axes.vlines【垂直線 (複数)】のサンプル画像

import matplotlib.pyplot as plt

# 初期設定
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = \
    ['Yu Gothic', 'Hiragino Maru Gothic Pro', 'Noto Sans CJK JP']
fig, axs = plt.subplots(
    2, 2,
    figsize=(6, 6),
    tight_layout=True,
)
x = [0, 1, 2, 3]
y = [0, 3, 1, 2]

# グラフ [0, 0]
axs[0, 0].set_title('hlines【水平線 (複数)】')
axs[0, 0].plot(x, y)
axs[0, 0].set_xticks(x)
axs[0, 0].set_yticks(y)
# 水平線
lines_h = axs[0, 0].hlines(
    [1, 2, 3],
    [0, 0.5, 0],
    [3, 2.5, 3],
    colors=['red', 'green', 'blue'],
    linestyles=['solid', 'dashed', 'dotted'],
    # スタイル設定
    linewidths=2,
)

# グラフ [0, 1]
axs[0, 1].set_title('vlines【垂直線 (複数)】')
axs[0, 1].plot(x, y)
axs[0, 1].set_xticks(x)
axs[0, 1].set_yticks(y)
# 垂直線
lines_v = axs[0, 1].vlines(
    [1, 2, 3],
    [0, 0.5, 0],
    [3, 2.5, 3],
)
# スタイル設定
lines_v.set_colors(['red', 'green', 'blue'])
lines_v.set_linestyles(['solid', 'dashed', 'dotted'])
lines_v.set_linewidth(2)

# グラフ [1, 0]
axs[1, 0].set_title('hlines【水平線 (複数)】\nラベル名指定')
axs[1, 0].plot(x, y)
axs[1, 0].set_xticks(x)
axs[1, 0].set_yticks(y)
# 水平線 (ラベル名指定)
lines_h = axs[1, 0].hlines(
    'Y',
    'XMIN',
    'XMAX',
    colors='COLORS',
    linestyles=['solid', 'dashed', 'dotted'],
    data={
        'Y': [1, 2, 3],
        'XMIN': [0, 0.5, 0],
        'XMAX': [3, 2.5, 3],
        'COLORS': ['red', 'green', 'blue'],
    },
    # スタイル設定
    linewidths=2,
)

# グラフ [1, 1]
axs[1, 1].set_title('vlines【垂直線 (複数)】\nラベル名指定')
axs[1, 1].plot(x, y)
axs[1, 1].set_xticks(x)
axs[1, 1].set_yticks(y)
# 垂直線 (ラベル名指定)
axs[1, 1].vlines(
    'Y',
    'XMIN',
    'XMAX',
    colors='COLORS',
    linestyles=['solid', 'dashed', 'dotted'],
    data={
        'Y': [1, 2, 3],
        'XMIN': [0, 0.5, 0],
        'XMAX': [3, 2.5, 3],
        'COLORS': ['red', 'green', 'blue'],
    },
    # スタイル設定
    linewidths=2,
)

# 表示
plt.show()

例:pyplot.hlines【水平線 (複数)】・pyplot.vlines【垂直線 (複数)】

pyplot.hlines【水平線 (複数)】・pyplot.vlines【垂直線 (複数)】のサンプル画像

import matplotlib.pyplot as plt

# 初期設定
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = \
    ['Yu Gothic', 'Hiragino Maru Gothic Pro', 'Noto Sans CJK JP']
fig = plt.figure(
    figsize=(3, 3),
    tight_layout=True,
)
x = [0, 1, 2, 3]
y = [0, 3, 1, 2]

# グラフ
plt.title('pyplot.hlines【水平線 (複数)】\npyplot.vlines【垂直線 (複数)】')
plt.plot(x, y)
plt.xticks(x)
plt.yticks(y)

# 水平線
plt.hlines(
    [1, 2, 3],
    [0, 0.5, 0],
    [3, 2.5, 3],
    colors=['red', 'green', 'blue'],
    linestyles=['solid', 'dashed', 'dotted'],
    # スタイル設定
    linewidth=2,
)

# 垂直線
plt.vlines(
    [1, 2, 3],
    [0, 0.5, 0],
    [3, 2.5, 3],
    colors=['red', 'green', 'blue'],
    linestyles=['solid', 'dashed', 'dotted'],
    # スタイル設定
    linewidth=2,
)

# 表示
plt.show()

axes.Axes.axhspan【水平範囲】3.9
axes.Axes.axvspan【垂直範囲】3.9
pyplot.axhspan【水平範囲】3.9
pyplot.axvspan【垂直範囲】3.9

メモ

概要

  • 水平範囲垂直範囲を追加
  • 範囲領域のスタイル
    • 引数で指定
    • 戻り値のPolygon【ポリゴン (多角形)】 Rectangle【長方形】3.9 のプロパティ設定
  • 他の描画と重なる場合、アルファ値を調整
  • 極座標対応 3.9

構文

axes.axhspan(ymin, ymax, xmin=0, xmax=1, **kwargs) 3.9
pyplot.axhspan(ymin, ymax, xmin=0, xmax=1, **kwargs) 3.9

 (Polygon Rectangle3.9)範囲領域
ymin (float)範囲下位のy座標
ymax (float)範囲上位のy座標
xmin (float)範囲下位のx位置 (0 ~ 1)
xmax (float)範囲上位のx位置 (0 ~ 1)
以下、可変長キーワード引数
kwargsPolygon Rectangle3.9 プロパティ
axes.axvspan(xmin, xmax, ymin=0, ymax=1, **kwargs)
pyplot.axvspan(xmin, xmax, ymin=0, ymax=1, **kwargs)

 (Polygon Rectangle3.9)範囲領域
xmin (float)範囲下位のx座標
xmax (float)範囲上位のx座標
ymin (float)範囲下位のy位置 (0 ~ 1)
ymax (float)範囲上位のy位置 (0 ~ 1)
以下、可変長キーワード引数
kwargsPolygon Rectangle3.9 プロパティ

例:axes.Axes.axhspan【水平範囲】・axes.Axes.axvspan【垂直範囲】

axes.Axes.axhspan【水平範囲】・axes.Axes.axvspan【垂直範囲】のサンプル画像

import matplotlib.pyplot as plt

# 初期設定
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = \
    ['Yu Gothic', 'Hiragino Maru Gothic Pro', 'Noto Sans CJK JP']
fig, axs = plt.subplots(
    1, 2,
    figsize=(6, 3),
    tight_layout=True,
)
x = [0, 1, 2, 3]
y = [0, 3, 1, 2]

# グラフ [0]
axs[0].set_title('axes.Axes.axhspan【水平範囲】')
axs[0].plot(x, y)
axs[0].set_xticks(x)
axs[0].set_yticks(y)

# 水平範囲 (1)
axs[0].axhspan(
    0.5, 1.5,
    # スタイル設定
    color='red',
    alpha=0.2,
    hatch='x',
)

# 水平範囲 (2)
rect_h = axs[0].axhspan(
    2, 3,
    xmin=0.1,
    xmax=0.9,
)
# スタイル設定
rect_h.set_color('blue')
rect_h.set_alpha(0.2)
rect_h.set_hatch('+')

# グラフ (1)
axs[1].set_title('axes.Axes.axvspan【垂直範囲】')
axs[1].plot(x, y)
axs[1].set_xticks(x)
axs[1].set_yticks(y)

# 垂直範囲 (1)
axs[1].axvspan(
    0.5, 1.5,
    # スタイル設定
    color='red',
    alpha=0.2,
    hatch='x',
)

# 垂直範囲 (2)
rect_v = axs[1].axvspan(
    2, 3,
    ymin=0.1,
    ymax=0.9,
)
# スタイル設定
rect_v.set_color('blue')
rect_v.set_alpha(0.2)
rect_v.set_hatch('+')

# 表示
plt.show()

例:pyplot.axhspan【水平範囲】・pyplot.axvspan【垂直範囲】

pyplot.axhspan【水平範囲】・pyplot.axvspan【垂直範囲】のサンプル画像

import matplotlib.pyplot as plt

# 初期設定
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = \
    ['Yu Gothic', 'Hiragino Maru Gothic Pro', 'Noto Sans CJK JP']
fig = plt.figure(
    figsize=(3, 3),
    tight_layout=True,
)
x = [0, 1, 2, 3]
y = [0, 3, 1, 2]

# グラフ
plt.title('pyplot.axhspan【水平範囲】\npyplot.axvspan【垂直範囲】')
#plt.plot(x, y)
plt.xticks(x)
plt.yticks(y)
plt.xlim(min(x), max(x))
plt.ylim(min(y), max(y))

# 水平範囲
plt.axhspan(
    0.5, 1.5,
    # スタイル設定
    color='red',
    alpha=0.2,
)

# 垂直範囲
rect_h = plt.axhspan(
    2, 3,
    xmin=0.1,
    xmax=0.9,
)
# スタイル設定
rect_h.set_color('red')
rect_h.set_alpha(0.2)

plt.axvspan(
    0.5, 1.5,
    # スタイル設定
    color='blue',
    alpha=0.2,
)
rect_v = plt.axvspan(
    2, 3,
    ymin=0.1,
    ymax=0.9,
)
# スタイル設定
rect_v.set_color('blue')
rect_v.set_alpha(0.2)

# 表示
plt.show()

例:極座標

axhspan【水平範囲】・axvspan【垂直範囲】の極座標サンプル画像

import matplotlib.pyplot as plt

# 初期設定
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = \
    ['Yu Gothic', 'Hiragino Maru Gothic Pro', 'Noto Sans CJK JP']
fig, axs = plt.subplots(
    1, 2,
    figsize=(6, 3),
    tight_layout=True,
    subplot_kw={'projection': 'polar'},
)

# グラフ (0)
PAI = 3.14
axs[0].set_title('axhspan【水平範囲】\naxvspan【垂直範囲】')
axs[0].set_rlim(0, 10)
axs[0].axhspan(
    2, 4,
    facecolor="red",
    alpha=0.5,
)
axs[0].axhspan(
    6, 8,
    0.25, 0.75,
    facecolor="green",
    alpha=0.5,
)
axs[0].axvspan(
    PAI*6/4, PAI*2,
    0.8, 1,
    facecolor="blue",
    alpha=0.5,
)

# グラフ (1)
axs[1].set_title('axhline【水平線 (単一)】')
axs[1].set_rlim(0, 10)
axs[1].axhline(
    4,
    0, 0.5,
    color="red",
    alpha=0.5,
    linewidth=5,
)
axs[1].axhline(
    6,
    0.5, 1,
    color="green",
    alpha=0.5,
    linewidth=5,
)
axs[1].axhline(
    8,
    color="blue",
    alpha=0.5,
    linewidth=5,
    linestyle=':',
)

# 表示
plt.show()

axes.Axes.axline【直線】3.3
pyplot.axline【直線】3.3

メモ

概要

  • 直線を追加 (補助線として利用)
  • 直線のスタイル
    • 引数で指定
    • 戻り値の線分のプロパティ設定
  • 指定方法
    • xy1 (座標1)xy2 (座標2)の2点を指定
    • xy1 (座標1)slope (傾き)を指定

構文

axes.axline(xy1, xy2=None, *, slope=None, **kwargs) 3.3
pyplot.axline(xy1, xy2=None, *, slope=None, **kwargs) 3.3

戻り値 (Line2D)線分
xy1 (float, float)直線が通る座標1
xy2 (float, float)直線が通る座標2
以下、キーワード引数
slope (float)直線の傾き
以下、可変長キーワード引数
kwargsLine2D プロパティ (slope指定ではtransform【座標変換】は指定不可)

例:axes.Axes.axline【直線】

axes.Axes.axline【直線】のサンプル画像

import matplotlib.pyplot as plt

# 初期設定
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = \
    ['Yu Gothic', 'Hiragino Maru Gothic Pro', 'Noto Sans CJK JP']
fig, ax = plt.subplots(
    1, 1,
    figsize=(3, 3),
    tight_layout=True,
)
x = [0, 1, 2, 3]
y = [0, 3, 1, 2]

# グラフ (0)
ax.set_title('axes.Axes.axline【直線】')
ax.set_xticks(x)
ax.set_yticks(y)
ax.set_xlim(min(x), max(x))
ax.set_ylim(min(y), max(y))

# 直線 (1)
ax.axline(
    (0, 0),
    (1, 1),
    # スタイル設定
    linewidth=2,
    color='red',
)

# 直線 (2)
line = ax.axline(
    (1, 1),
    slope=2,
)
# スタイル設定
line.set_linewidth(2)
line.set_linestyle('--')
line.set_color('blue')

# 表示
plt.show()

例:pyplot.axline【直線】

pyplot.axline【直線】のサンプル画像

import matplotlib.pyplot as plt

# 初期設定
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = \
    ['Yu Gothic', 'Hiragino Maru Gothic Pro', 'Noto Sans CJK JP']
fig = plt.figure(
    figsize=(3, 3),
    tight_layout=True,
)
x = [0, 1, 2, 3]
y = [0, 3, 1, 2]

# グラフ
plt.title('pyplot.axline【直線】')
plt.xticks(x)
plt.yticks(y)
plt.xlim(min(x), max(x))
plt.ylim(min(y), max(y))

# 直線 (1)
plt.axline(
    (0, 0),
    (1, 1),
    # スタイル設定
    linewidth=2,
    color='red',
)

# 直線 (2)
line = plt.axline(
    (1, 1),
    slope=0.5,
)
# スタイル設定
line.set_linewidth(2)
line.set_linestyle('--')
line.set_color('blue')

# 表示
plt.show()