broken_barh【棒グラフ (横・非連続)】

メモ ( 基本 データの指定方法 関連設定 ) 構文 設定・グラフパーツ

メモ

broken_barhのサンプル

基本

データの指定方法

関連設定


構文

pyplot.broken_barh(
    xranges (x位置・バーの幅)※data,
    yrange (y位置・バーの高さ)※data,
    *,
    data (ラベル名指定データ)=None,
    **kwargs (その他プロパティ))
axes.Axes.broken_barh(同上)
戻り値BrokenBarHCollection【非連続・横バーのコレクション】

xranges※data(xmin, xwidth) のシーケンス
    xminx位置
    xwidthバーの幅
yrange※data(ymin, yheight)
    yminy位置
    yheightバーの高さ
data (キーワード引数)ラベル名指定データ
    (※data:ラベル名指定可・詳細は、データの指定方法 参照・下記が対象)
    ・xranges (x位置・バーの幅)
    ・yrange (y位置・バーの高さ)
kwargs (可変長キーワード引数)BrokenBarHCollection【非連続・横バーのコレクション】のプロパティ

BrokenBarHCollection【非連続・横バーのコレクション】のプロパティ

プロパティデフォルト取得設定備考
agg_filtercallableagg フィルター
alphafloat 3.4
配列形式 3.4
スカラー 3.4
None
アルファ値 (0:透明 ~ 1:不透明)
animatedboolアニメーション使用の有無
antialiased
antialiaseds 3.1
aa 3.1
bool
list(bool)
アンチエイリアス処理の有無
arrayndarray
None 3.4
capstyleCapStyle 3.4
str
外枠の線端スタイル
スタイル備考
'butt'
_enums.CapStyle.butt
butt
'projecting'
_enums.CapStyle.projecting
projecting
'round'
_enums.CapStyle.round
round
clim(float, float)(vmin, vmax)
clip_boxBbox
clip_onboolクリッピングの有無 (True:範囲内のみ描画 / False:範囲外にも描画可)
clip_pathPatch
(Path, Transform)
None
cmapColorMap
str
None 3.3
カラーマップ
colorcolor【色定義】
list((r, g, b, a))
各種色 (edgecolor【外枠の色】facecolor【塗りつぶし色】)
contains 3.3callableピッカーイベント (参照:picker【ピッカーイベント】)
edgecolor
edgecolors 3.1
ec 3.1
color【色定義】
list( color【色定義】 )
'face' 3.1
外枠の色
facecolor
facecolors 3.1
fc 3.1
color【色定義】
list( color【色定義】 )
塗りつぶし色
figureFigure所属フィギュア
gidstrグループId (識別子として利用可)
hatchstr塗りつぶしパターン (繰り返しで高密度 / 組合せ可)
パターン備考
'/'斜線 (左下がり)
'\'斜線 (右下がり)
'|'垂直線
'-'平行線
'+'格子
'x'斜め格子
'o' (小文字オー)円 (小)
'O' (大文字オー)円 (大)
'.' (ドット)ドット
'*'星印
in_layoutboolレイアウト計算に含めるか否か
joinstyleJoinStyle3.4
str
'round'結合スタイル
スタイル備考
'bevel'
_enums.JoinStyle.bevel
bevel
'miter'
_enums.JoinStyle.miter
miter
'round'
_enums.JoinStyle.round
round
labelobject凡例ラベル (アンダースコアで始まるラベルは対象外)
linestyle
linestyles 3.1
dashes 3.1
ls 3.1
str
(offset, on-off-seq)
上記のlist
外枠の線種
スタイル備考
'-' (ダッシュ)
'solid'
solid実線
solid line
'--' (ダブルダッシュ)
'dashed'
dashed破線
dashed line
'-.'
'dashdot'
dashdot一点鎖線
dash-dotted line
':' (コロン)
'dotted'
dotted点線
dotted line
'None'
' ' (半角スペース)
'' (空文字列)
線なし
(offset, on-off-seq)
(offset, on-off-seq)
ユーザ定義
offset:開始位置オフセット
on-off-seq:線のありなしの対
例:二点鎖線
(0, (6.5, 1.5, 1, 1.5, 1, 1.5))
linewidth
linewidths 3.1
lw 3.1
float
list(float)
外枠の線の幅
normNormalize
None
None正規化
offset_position 3.3str'screen'オフセット座標系
備考
'screen'スクリーン座標
'data'データ座標
offsets(N, 2) or (2,) array-like
path_effectsAbstractPathEffect
pickerNone
bool
float
callable
NoneNone:ピッカーイベントなし
bool:ピッカーイベント有無
float:ピッカー有効半径
callable:ピッカーイベント hit(bool), props(dict) = picker(artist, mouseevent)
pickradiusfloatピッカー有効半径
rasterizedbool
None 3.4
ラスタライズ(ビットマップ) 描画の強制有無
sketch_params(float, float, float)(scale, length, randomness)
snapbool
None
スナップ (ピクセル位置補正) の有無
(Agg・MacOSX バックエンドのみサポート)
transformTransform
urlstrハイパーリンクURL (SVG のみ対応)
urlslist( str )
None
ハイパーリンクURL (SVG のみ対応)
visiblebool表示有無
zorderfloatZオーダー (大きい方が手前)

設定・グラフパーツ

設定・グラフパーツ の抜粋〔

pyplot.axes.Axes.その他
タイトルsuptitle【タイトル設定 (全体)】
title【タイトル設定】
set_title【タイトル設定】
get_title【タイトル取得】
Axes3D.set_title【タイトル設定】
figure.Figure.suptitle【タイトル設定 (全体)】
figure.SubFigure.suptitle
figure.Figure.align_titles【タイトル調整】3.9
凡例legend【凡例 設定】3.5 / 3.7 / 3.8
quiverkey【ベクトルの凡例 追加】
figure.Figure.legend【凡例 設定 (全体)】3.7 / 3.8
PathCollection.legend_elements【凡例項目作成】
get_legend【凡例 取得】
get_legend_handles_labels【凡例 取得 (ハンドル・ラベル)】
軸ラベルxlabel【x軸ラベル 設定】3.3
ylabel【y軸ラベル 設定】3.3
set_xlabel【x軸ラベル 設定】3.3
set_ylabel【y軸ラベル 設定】3.3
Axes3D.set_zlabel【z軸ラベル 設定】

get_xlabel【x軸ラベル 取得】
get_ylabel【y軸ラベル 取得】
Axes3D.get_zlabel【z軸ラベル 取得】
align_labels【ラベル調整】
figure.Figure.supxlabel【x軸ラベル(全体) 設定】3.43.6
figure.Figure.supylabel【y軸ラベル(全体) 設定】3.43.6
figure.SubFigure.supxlabel
figure.SubFigure.supylabel
projections.polar.PolarAxes.set_rlabel_position【半径ラベルのシータ位置設定】
clabel【等高線ラベル 設定】
bar_label【バーラベル】3.43.7
グリッド線grid【グリッド線 設定】3.5grid【グリッド線 設定】3.5
get_xgridlines【x軸グリッド線 取得】
get_ygridlines【y軸グリッド線 取得】
(Axes3D.grid【3Dグリッド線 取得・設定】)
Axes3D.get_zgridlines【z軸グリッド線 取得】
axis.Axis.grid【軸グリッド線 設定】3.5
axis.Axis.get_gridlines【軸グリッド線 取得】
triplot【三角形分割】
rgrids【放射状グリッド線 取得・設定】
thetagrid【放射状シータグリッド線 取得・設定】
projections.polar.PolarAxes.set_rgrids【放射状グリッド線 設定】
projections.polar.PolarAxes.set_thetagrid【放射状シータグリッド線 設定】
表示範囲xlim【x軸表示範囲 取得・設定】
ylim【y軸表示範囲 取得・設定】
axis【表示範囲等 取得・設定】3.1~3.4 / 3.7
set_xlim【x軸表示範囲 設定】3.1 / 3.6
set_ylim【y軸表示範囲 設定】3.1 / 3.6
get_xlim【x軸表示範囲 取得】
get_ylim【y軸表示範囲 取得】
axis【表示範囲等 取得・設定】3.1~3.4 / 3.7
projections.polar.PolarAxes.set_rlim【極座標範囲 設定】
Axes3D.set_xlim【3D x軸表示範囲 設定】
Axes3D.set_xlim3d【3D x軸表示範囲 設定】
Axes3D.set_ylim【3D y軸表示範囲 設定】
Axes3D.set_ylim3d【3D y軸表示範囲 設定】
Axes3D.set_zlim【3D z軸表示範囲 設定】
Axes3D.set_zlim3d【3D z軸表示範囲 設定】
Axes3D.get_xlim3d【3D x軸表示範囲 取得】
Axes3D.get_ylim3d【3D y軸表示範囲 取得】
Axes3D.get_zlim3d【3D z軸表示範囲 取得】
データ上限・下限set_xbound【x軸データ上限・下限 設定】
set_ybound【y軸データ上限・下限 設定】
get_xbound【x軸データ上限・下限 取得】
get_ybound【y軸データ上限・下限 取得】
projections.polar.PolarAxes.set_rmax【極座標上限 設定】
projections.polar.PolarAxes.set_rmin【極座標下限 設定】
目盛りxticks【x軸目盛り (ラベル) 取得・設定】3.6
yticks【y軸目盛り (ラベル) 取得・設定】3.6
locator_params【目盛り制御】
minorticks_on
minorticks_off
ticklabel_format【目盛りフォーマット設定 (指数形式)】
tick_params【目盛り・グリッド線 外観変更】
set_xticks【x軸目盛り 設定】3.2 / 3.5
set_yticks【y軸目盛り 設定】3.2 / 3.5
Axes3D.set_zticks【z軸目盛り 設定】

set_xticklabels【x軸目盛りラベル 設定】3.3 / 3.5
set_yticklabels【y軸目盛りラベル 設定】3.3 / 3.5
Axes3D.set_zticklabels【z軸目盛りラベル 設定】

get_xticks【x軸目盛り 取得】3.2
get_yticks【y軸目盛り 取得】3.2
Axes3D.get_zticks【z軸目盛り 取得】

get_xticklabels【x軸目盛りラベル 取得】3.3 / 3.6
get_yticklabels【y軸目盛りラベル 取得】3.3 / 3.6
Axes3D.get_zticklabels【z軸目盛りラベル 取得】

get_xmajorticklabels【x軸目盛りラベル 取得 (主)】3.3 / 3.6
get_ymajorticklabels【y軸目盛りラベル 取得 (主)】3.3 / 3.6
get_xminorticklabels【x軸目盛りラベル 取得 (補助)】3.3 / 3.6
get_yminorticklabels【y軸目盛りラベル 取得 (補助)】3.3 / 3.6
get_xticklines
get_yticklines
xaxis_date
yaxis_date
minorticks_on
minorticks_off
ticklabel_format【目盛りフォーマット設定 (指数形式)】
tick_params【目盛り・グリッド線 外観変更】
locator_params【目盛り制御】
fmt_xdata
fmt_ydata
ticker【目盛りモジュール】
axis.Axis.set_ticks【目盛り 設定】
axis.Axis.set_ticklabels【目盛りラベル 設定】
axis.Axis.set_tick_params【目盛り・グリッド線 外観変更】
axis.XAxis.set_ticks_position【x軸目盛り位置 設定】
axis.YAxis.set_ticks_position【y軸目盛り位置 設定】
Axes3D.locator_params【目盛り制御】

axis.Axis.set_major_formatter【フォーマッタ設定 (主)】
axis.Axis.set_minor_formatter【フォーマッタ設定 (補助)】
axis.Axis.set_major_locator【ロケータ設定 (主)】
axis.Axis.set_minor_locator【ロケータ設定 (補助)】
axis.Axis.get_ticklabels【目盛りラベル取得】
axis.Axis.get_majorticklabels【目盛りラベル取得 (主)】
axis.Axis.get_minorticklabels【目盛りラベル取得 (補助)】
axis.Axis.get_major_formatter【フォーマッタ取得 (主)】
axis.Axis.get_minor_formatter【フォーマッタ取得 (補助)】
axis.Axis.get_ticklocs
axis.Axis.get_major_locator【ロケータ取得 (主)】
axis.Axis.get_minor_locator【ロケータ取得 (補助)】
figure.Figure.autofmt_xdate【x軸日付目盛りラベル回転】
axis.Axis.get_tick_params【目盛り・グリッド線 外観取得】3.7
直線
範囲
axhline【水平線 (単一)】3.9
axvline【垂直線 (単一)】
hlines【水平線 (複数)】3.3
vlines【垂直線 (複数)】3.3
axhspan【水平範囲】3.9
axvspan【垂直範囲】3.9
axline【直線】3.3
軸方向invert_xaxis【x軸方向反転】
xaxis_inverted【x軸方向取得】
invert_yaxis【y軸方向反転】
yaxis_inverted【y軸方向取得】

基本

broken_barhのサンプル画像

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=(8, 3),
    tight_layout=True,
)

# グラフ (左)
axs[0].broken_barh(
    [(10, 50), (70, 40), (120, 30), (160, 20)],
    (10, 5),
)
axs[0].broken_barh(
    [(10, 50), (70, 50), (130, 50)],
    (20, 5),
)
axs[0].set_title('各種 未指定')
axs[0].set_ylim(5, 30)
axs[0].set_xlim(0, 200)

# グラフ (右)
axs[1].broken_barh(
    [(10, 50), (70, 40), (120, 30), (160, 20)],
    (10, 5),
    facecolor='orange',
    edgecolor='blue',
    linewidth=2,
    hatch='///',
)
axs[1].broken_barh(
    [(10, 50), (70, 50), (130, 50)],
    (20, 5),
    facecolors=('red', 'green', 'blue'),
)
axs[1].set_title('各種 指定')
axs[1].set_ylim(5, 30)
axs[1].set_xlim(0, 200)
axs[1].set_yticks([12.5, 22.5])
axs[1].set_yticklabels(['項目A', '項目B'])
axs[1].invert_yaxis()

# 表示
plt.show()

データの指定方法

broken_barhのサンプル画像

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=(8, 3),
    tight_layout=True,
)

# グラフ (左)
axs[0].broken_barh(
    [(10, 50), (70, 40), (120, 30), (160, 20)],
    (10, 5),
)
axs[0].broken_barh(
    [(10, 50), (70, 50), (130, 50)],
    (20, 5),
)
axs[0].set_title('通常 指定')
axs[0].set_ylim(5, 30)
axs[0].set_xlim(0, 200)
axs[0].set_yticks([12.5, 22.5])
axs[0].set_yticklabels(['項目A', '項目B'])
axs[0].invert_yaxis()

# グラフ (右)
axs[1].broken_barh(
    'x-ranges',
    'y-range',
    data={
        'x-ranges': [(10, 50), (70, 40), (120, 30), (160, 20)],
        'y-range': (10, 5),
    }
)
axs[1].broken_barh(
    'x-ranges',
    'y-range',
    data={
        'x-ranges': [(10, 50), (70, 50), (130, 50)],
        'y-range': (20, 5),
    }
)
axs[1].set_title('data 指定')
axs[1].set_ylim(5, 30)
axs[1].set_xlim(0, 200)
axs[1].set_yticks([12.5, 22.5])
axs[1].set_yticklabels(['項目A', '項目B'])
axs[1].invert_yaxis()

# 表示
plt.show()

設定・グラフパーツ

broken_barhのサンプル画像

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=(8, 4),
    tight_layout=True,
)
plt.suptitle('suptitle【タイトル(全体)】')

# グラフ (左)
axs[0].broken_barh(
    [(10, 50), (70, 40), (120, 30), (160, 20)],
    (10, 5),
    color='red',
    label='Label A',
)
axs[0].broken_barh(
    [(10, 50), (70, 50), (130, 50)],
    (20, 5),
    color='green',
    label='Label B',
)
# タイトル
axs[0].set_title('title【タイトル】(左)')
# 凡例
axs[0].legend(title='凡例')
# 軸ラベル
axs[0].set_xlabel('x軸ラベル')
axs[0].set_ylabel('y軸ラベル')
# 表示範囲
axs[0].set_ylim(0, 30)
axs[0].set_xlim(0, 200)
# 目盛り
axs[0].set_yticks([12.5, 22.5])
axs[0].set_yticklabels(['項目A', '項目B'])
# 軸方向
axs[0].invert_yaxis()
# グリッド
axs[0].grid(True)

# グラフ (右)
axs[1].broken_barh(
    [(10, 50), (70, 40), (120, 30), (160, 20)],
    (10, 5),
)
axs[1].broken_barh(
    [(10, 50), (70, 50), (130, 50)],
    (20, 5),
)
# タイトル
axs[1].set_title('title【タイトル】(右)')
# 表示範囲
axs[1].set_ylim(5, 30)
# データ上限・下限
axs[1].set_xbound(25, 175)
# 目盛り
axs[1].set_yticks([12.5, 22.5])
axs[1].set_yticklabels(['項目A', '項目B'])
# 水平線・垂直線 追加
axs[1].axhline(17.5)
axs[1].axvline(60, color='red')
axs[1].axvline(70, color='red')
axs[1].axvline(110, color='red')
axs[1].axvline(120, color='red')
axs[1].axvline(130, color='red')
axs[1].axvline(150, color='red')
axs[1].axvline(160, color='red')

# 表示
plt.show()