colorbar.ColorbarBaseクラス – matplotlibドキュメント日本語訳

matplotlib.colorbar.ColorbarBaseクラスの日本語ドキュメントです。これはカラーバーの大元のクラスで、カラーバーに細かい制御をするのにこれに属するメソッドが使われます。引数や返り値を調べる際に参考にしてください。

元の英文ドキュメントはmatplotlib 公式ドキュメント v3.3.3 です。ただ、元ドキュメントは不完全であるため、ここでは適宜加筆修正をしています。正確さを求める場合は、ソースコードを参照することになります。

次のページも参考にしてみてください。

matplotlib.colorbar.ColorbarBase

コンストラクタ:

class matplotlib.colorbar.ColorbarBase(ax, *, cmap=None, norm=None, alpha=None, values=None, boundaries=None, orientation=’vertical’, ticklocation=’auto’, extend=None, spacing=’uniform’, ticks=None, format=None, drawedges=False, filled=True, extendfrac=None, extendrect=False, label=”)

基本クラス: Object

説明

既存のaxesにカラーバーを描きます。

ユーザーが、このColorbarBaseクラスから直接インスタンスを作成する機会はあまりないかもしれません。ColorbarBaseクラスを直接使うのは、カラーマップを単体で表示したいときなど、図の他の要素と関連付けずにカラーバーを描きたいときになるでしょう。

通常は、pyplot.colorbar関数や、Figure.colorbarメソッドを使って、Colorbarインスタンスを作成します。その際に、imshowで生成されるAxesImageを始めとしたScalarMappableオブジェクトを関連付けて、一緒にカラーバーを制御します。

どちらにせよ、Colobarの制御に使用するパラメータのほとんどがColorbarBaseクラスで定義されているため、デフォルトと異なる動作を要求するときは、ColorbarBaseの定義を知る必要があります。例えば、カラーバーを水平にしたいときなどです。

 

cmapパラメータが与えられて、boundariesvaluesがNoneのままであれば、カラーマップは0~1のスケールで表示されます。下値(under-value)と上値(over-value)の色を表示したいときには、normを次のように指定してください。

norm=colors.Normalize(clip=False)

0~1スケールの代わりに、色対インデックスで表示したいときには、次のようにしてください。

norm=colors.NoNorm()

 

役に立つ公開メソッドは、set_label()とadd_lines()です。

コンストラクタの引数、パラメータ、parameters

パラメータ 備考
ax Axes カラーバーを描くAxesインスタンス。
cmap Colormap default: rcParams[“image.cmap”](default: ‘viridis’). 使用するカラーマップ。
norm Normalize カラーマップのスケール。
alpha float カラーバーの透過性。0で透明、1で不透明。
boundaries None or sequence カラーバーの色の境界値。
values None or sequence 指定するシーケンスは、boundariesに指定したシーケンスの長さよりも1だけ短くなくてはいけません。boundariesの隣り合う値で区切られた各領域について、対応するvaluesの色が使用されます。
orientation {‘vertical’, ‘horizontal’} default: ‘vertical’. カラーバーの向き。’vertical’で垂直、’horizontal’で水平になる。
ticklocation {‘auto’, ‘left’, ‘right’, ‘top’, ‘bottom’} default: ‘auto’. 目盛りの方向。orientationが’vertical’のときは’left’か’right’、’horizontal’のときは’top’か’bottom’を指定できます。
spacing {‘uniform’, ‘proportional’} ‘uniform’が指定されると、各離散色に同じスペースを与えます。’proportional’が指定されると、データ間隔と比例するようにスペースが与えられます。
ticks Locator or array-like of float default: None. 目盛り。Noneの場合、目盛りは入力から自動的に決定されます。
format str or Formatter Noneの場合、ScalarFormatterが使用されます。’%.3f’などのフォーマット文字列が指定されている場合は、それが使用されます。代わりにFormatterを指定することもできます。
drawedges bool default: False. 色の境界に線を引くかどうか。Trueの例:
filled bool default: True. カラーバーに色を塗るかどうか。
extend {‘neither’, ‘both’, ‘min’, ‘max’} 延長。’neither’でない場合は、範囲外の値に対して尖った端を作成します。これらは、set_underメソッドとset_overメソッドを使用してカラーマップに設定されます。’both’の例:
extendfrac {None, ‘auto’, length, lengths} 延長割合。Noneに設定すると、最小と最大の両方の三角形のカラーバー延長部が、カラーバー本体の5%の長さになります(これがデフォルト設定です)。’auto’に設定すると、spacingが’uniform’に設定されているときは、三角形のカラーバー延長部が内側の箱と同じ長さになります。spacingが’proportional’に設定されているときは、それぞれの隣接する内側の箱と同じ長さになります。数値(length)に設定すると、最小と最大の両方の三角形のカラーバー延長部の長さが、カラーバー本体の長さにこの数値をかけたものになります。2要素の数値のシーケンス(lengths、リスト/タプル)に設定すると、最小および最大のカラーバー延長部の長さが、カラーバー本体の長さにそれぞれの数値をかけたものになります。
extendrect bool default: False. 矩形延長。Falseの場合、カラーバーの最小および最大の延長部は三角形になります(デフォルト)。Trueの場合、拡張部分は長方形になります。
label str カラーバーの長軸上のラベル。

クラス変数、メンバ変数、attributes

パラメータ 備考
ax Axes カラーバーを描くAxesインスタンス。
lines list 線を描くときには、LineCollectionのリストです。線を描かないときには、空リストです。
dividers LineCollection drawedgesがTrueのとき、LineCollectionです。そうでないときはNoneです。

クラス関数、メソッド、メンバ関数

add_lines(self, levels, colors, linewidths, erase=True)

カラーバーの上に線を引きます。既存の線リストに追加することもできます。

パラメータ名 備考
levels array-like 線の位置。
colors color or list of colors 線の色。色が1つ指定されるとその色がすべての線に適用されます。色のリストを与えると、対応する線に色が適用されます。
lineswidths float or array-like 線幅。1つ指定されるとすべての線に適用されます。リストを与えると、対応する線に適用されます。
erase bool 消去。デフォルト: True。既存の線を消すかどうか。

config_axis(self)

v3.3から廃止。

draw_all(self)

現在のcmapnormに基づいて他の不定なパラメータを計算してから、すべてを描きます。

get_ticks(self, minor=False)

xの目盛り(ticks)を、位置のリストの形式で返します。

minorticks_off(self)

カラーバーの小目盛り(minor ticks)を表示しないようにします。

minorticks_on(self)

カラーバーの小目盛り(minor ticks)を表示します。カラーバーの延長部分(extend region)がある場合も、そこには表示しません。

n_rasterize = 50

remove(self)

このカラーバーを図から消します。

set_alpha(self, alpha)

不透明度を、 0 (透明)から 1 (不透明)の間で設定します。

set_label(self, label, *, loc=None, **kwargs)

カラーバーの長軸のラベルを設定します。

set_ticklabels(self, ticklabels, update_ticks=True)

目盛りのラベルを設定します。update_ticksがFalseでなければ、目盛りラベルは即座に更新されます。Falseのときにはupdate_ticks()を明示的に呼ぶ必要があります。

set_ticks(self, ticks, update_ticks=True)

目盛りを設定します。

パラメータ名 備考
ticks array-like or Locator or None array-likeまたはLocatorでは、目盛りの位置を手動で指定できます。Noneのときはデフォルトのlocatorを使用します.
update_ticks bool, default: True Trueのときは、目盛りの位置が即座に更新されます。Falseのときは、後でupdate_ticks()を呼ぶと目盛りを更新できます。

update_ticks(self)

目盛りと目盛りラベルを明示的に更新します。目盛り位置や、目盛りラベルを変更したときに呼んでください。

まとめ

以上、matplotlibのcolorbar.ColorbarBaseクラスの日本語訳ドキュメントでした。

 

次のページも参考にしてみてください。

参考