matplotlib.cbook#

ユーティリティ関数とクラスのコレクション。もともと、多く (すべてではない) は Python Cookbook からのものでした。そのため、cbook という名前が付けられました。

このモジュールは、Matplotlib 内のどこからでも安全にインポートできます。実行時にのみ Matplotlib をインポートします。

クラス matplotlib.cbook. CallbackRegistry ( exception_handler=<function _exception_printer> , * , signal =None ) [source] #

拠点:object

一連のシグナルとコールバックの登録、処理、ブロック、および切断を処理します。

>>> def oneat(x):
...    print('eat', x)
>>> def ondrink(x):
...    print('drink', x)
>>> from matplotlib.cbook import CallbackRegistry
>>> callbacks = CallbackRegistry()
>>> id_eat = callbacks.connect('eat', oneat)
>>> id_drink = callbacks.connect('drink', ondrink)
>>> callbacks.process('drink', 123)
drink 123
>>> callbacks.process('eat', 456)
eat 456
>>> callbacks.process('be merry', 456)   # nothing will be called
>>> callbacks.disconnect(id_eat)
>>> callbacks.process('eat', 456)        # nothing will be called
>>> with callbacks.blocked(signal='drink'):
...     callbacks.process('drink', 123)  # nothing will be called
>>> callbacks.process('drink', 123)
drink 123

実際には、ダングリング リファレンス (したがってメモリ リーク) を避けるために、コールバックが不要になった場合は常にすべてのコールバックを切断する必要があります。ただし、Matplotlib の実際のコードではめったにそうはならず、その設計上、この種のコードを配置することはかなり困難です。これを回避し、このクラスのメモリ リークを防ぐために、代わりにバインドされたメソッドへの弱い参照のみを保存します。

パラメータ:
exception_handler呼び出し可能、オプション

None でない場合、exception_handlerExceptionは単一のパラメーターを受け取る関数でなければなりません 。Exception 中にコールバックによって発生したもので呼び出されCallbackRegistry.process、例外を再発生させるか、別の方法で処理することができます。

traceback.print_excインタラクティブなイベント ループが実行されている場合、既定のハンドラーは例外を (with で) 出力します。インタラクティブなイベント ループが実行されていない場合は、例外が再発生します。

信号リスト、オプション

None でない場合、signalsは、このレジストリが処理するシグナルのリストです。リストにないシグナルを試行processまたは試行すると、 . デフォルトの None は、処理されるシグナルを制限しません。connectValueError

ブロックされた( * ,シグナル=なし) [ソース] #

コールバック信号の処理をブロックします。

登録されたリスナーによるコールバック信号の処理を一時的にブロック/無効にするコンテキスト マネージャー。

パラメータ:
信号文字列、オプション

ブロックするコールバック シグナル。デフォルトでは、すべてのシグナルをブロックします。

connect ( signal , func ) [ソース] #

シグナルsignalが生成されたときに呼び出されるfuncを登録します。

切断( cid ) [ソース] #

コールバック ID cidで登録されたコールバックを切断します。

そのようなコールバックが存在しなくても、エラーは発生しません。

process ( s , * args , ** kwargs ) [source] #

信号sを処理します。

sでコールバックを受信するために登録されたすべての関数は、*argsおよびで呼び出され**kwargsます。

クラス matplotlib.cbook. ハタ( init = () ) [ソース] #

拠点:object

素集合のデータ構造。

を使用してオブジェクトを結合したり、join()を使用して接続性をテストしjoined()たり、オブジェクトをイテレータとして使用してすべてのばらばらのセットを取得したりできます。

結合されるオブジェクトは、ハッシュ可能で弱参照可能である必要があります。

>>> from matplotlib.cbook import Grouper
>>> class Foo:
...     def __init__(self, s):
...         self.s = s
...     def __repr__(self):
...         return self.s
...
>>> a, b, c, d, e, f = [Foo(x) for x in 'abcdef']
>>> grp = Grouper()
>>> grp.join(a, b)
>>> grp.join(b, c)
>>> grp.join(d, e)
>>> list(grp)
[[a, b, c], [d, e]]
>>> grp.joined(a, b)
True
>>> grp.joined(a, c)
True
>>> grp.joined(a, d)
False
クリーン( ) [ソース] #

無効な弱参照を辞書から消去します。

get_siblings ( a ) [ソース] #

それ自体を含む、 で結合されすべてのアイテムを返します。

join ( a , * args ) [ソース] #

与えられた引数を同じセットに結合します。1 つ以上の引数を受け入れます。

結合( a , b ) [ソース] #

abが同じセットのメンバーであるかどうかを返します。

削除( a ) [ソース] #
クラス matplotlib.cbook. GrouperView (グルーパー) [ソース] #

拠点:object

に対する不変ビューGrouper

クリーン( ) [ソース] #

[非推奨] ディクショナリから無効な弱参照を消去します。

ノート

バージョン 3.6 以降は非推奨です。

get_siblings ( a ) [ソース] #

それ自体を含む、 で結合されすべてのアイテムを返します。

join ( a , * args ) [ソース] #

[非推奨] 与えられた引数を同じセットに結合します。1 つ以上の引数を受け入れます。

ノート

バージョン 3.6 以降は非推奨です。

結合( a , b ) [ソース] #

abが同じセットのメンバーであるかどうかを返します。

削除( a ) [ソース] #

[非推奨]

ノート

バージョン 3.6 以降非推奨:

クラス matplotlib.cbook. スタック(デフォルト=なし) [ソース] #

拠点:object

移動可能なカーソルを持つ要素のスタック。

Web ブラウザでホーム/バック/フォワードを模倣します。

戻る( ) [ソース] #

位置を戻し、現在の要素を返します。

バブル( o ) [ソース] #

oのすべての参照をスタックの一番上に上げて、それを返します。

レイズ:
ValueError

oがスタックにない場合。

クリア( ) [ソース] #

スタックを空にします。

( ) [ソース] #

スタックが空かどうかを返します。

フォワード( ) [ソース] #

位置を前方に移動し、現在の要素を返します。

ホーム( ) [ソース] #

最初の要素をスタックの一番上にプッシュします。

最初の要素が返されます。

プッシュ( o ) [ソース] #

oをスタックの現在の位置にプッシュします。後のすべての要素を破棄します。

oが返されます。

削除( o ) [ソース] #

スタックからoを削除します。

レイズ:
ValueError

oがスタックにない場合。

matplotlib.cbook. boxplot_stats ( X , whis = 1.5 ,ブートストラップ=なし,ラベル=なし,自動範囲= False ) [source] #

を使用して一連の箱ひげ図とひげ図を描画するために使用される統計の辞書のリストを返しますbxp

パラメータ:
X配列のような

箱ひげ図で表されるデータ。次元は 2 以下である必要があります。

whis float または (float, float)、デフォルト: 1.5

ひげの位置。

フロートの場合、下のヒゲは より上の最低データム にあり、上のヒゲは より下の最高データム にあります。ここで、Q1 と Q3 は 1 番目と 3 番目の四分位数です。の既定値は、箱ひげ図の Tukey の元の定義に対応します。Q1 - whis*(Q3-Q1)Q3 + whis*(Q3-Q1)whis = 1.5

浮動小数点数のペアの場合、ひげを描画するパーセンタイルを示します (例: (5, 95))。特に、これを (0, 100) に設定すると、ひげがデータの全範囲をカバーします。

autorangeが Trueの場合、whisは自動的に (0, 100) (データの範囲全体をカバーする) に設定されます。Q1 == Q3

ひげを超えると、データは外れ値と見なされ、個々のポイントとしてプロットされます。

ブートストラップint、オプション

中央値周辺の信頼区間をブートストラップする回数 (パーセンタイル法)。

ラベル配列のような、オプション

各データセットのラベル。長さはXの次元と互換性がなければなりません。

autorange bool、オプション (False)

True25 パーセンタイルと 75 パーセンタイルが等しくなるようにデータが分散されている場合は、whisひげの端がデータの最小値と最大値になるように (0, 100) に設定されます。

戻り値:
辞書のリスト

データの各列の結果を含む辞書のリスト。各辞書のキーは次のとおりです。

値 説明

ラベル

boxplot の目盛りラベル

平均

算術平均値

50パーセンタイル

q1

最初の四分位 (25 パーセンタイル)

q3

第 3 四分位 (75 パーセンタイル)

iqr

四分位範囲

チロ

中央値付近のノッチを下げる

チヒ

中央値付近の上部ノッチ

ウィスロ

下ヒゲの先端

ウィシ

上ヒゲの先端

チラシ

外れ値

ノート

信頼区間への非ブートストラップ アプローチでは、ガウス ベースの漸近近似を使用します。

\[\mathrm{med} \pm 1.57 \times \frac{\mathrm{iqr}}{\sqrt{N}}\]

一般的なアプローチ: McGill, R.、Tukey, JW、および Larsen, WA (1978) "Variations of Boxplots"、The American Statistician、32:12-16。

matplotlib.cbook. contiguous_regions (マスク) [ソース] #

Trueである (ind0, ind1) のリストを返し、そのmask[ind0:ind1].all()ようなすべての領域をカバーします。

matplotlib.cbook. delete_masked_points ( * args ) [ソース] #

一連の引数ですべてのマスクされた点および/または非有限の点を見つけ、マスクされていない点のみが残っている引数を返します。

引数は、次の 5 つのカテゴリのいずれかになります。

  1. 1 次元のマスク配列

  2. 1 次元 ndarray

  3. 複数の次元を持つ ndarray

  4. 他の非文字列イテラブル

  5. 他に何か

最初の引数は、最初の 4 つのカテゴリのいずれかになければなりません。最初の引数とは長さが異なる引数 (したがってカテゴリ 5 のすべて) は、変更されずに渡されます。

マスクは、カテゴリ 1、2、および 4 の正しい長さのすべての引数から取得されます。マスクされた配列でマスクされている場合、またはポイントが nan または inf である場合、ポイントは不良です。numpy.isfinite がブール配列を生成しない場合、カテゴリ 2、3、および 4 からマスクを抽出する試みは行われません。

変更されずに渡されないすべての入力引数は、いずれかの引数のマスクに対応するポイントまたは行を削除した後、ndarray として返されます。

この関数の非常に単純なバージョンは、もともと Axes.scatter() のヘルパーとして作成されました。

matplotlib.cbook. file_requires_unicode ( x ) [ソース] #

指定された書き込み可能なファイルのようなオブジェクトに Unicode を書き込む必要があるかどうかを返します。

matplotlib.cbook. flatten ( seq , scalarp=<function is_scalar_or_string> ) [source] #

フラット化されたネストされたコンテナーのジェネレーターを返します。

例えば:

>>> from matplotlib.cbook import flatten
>>> l = (('John', ['Hunter']), (1, 23), [[([42, (5, 23)], )]])
>>> print(list(flatten(l)))
['John', 'Hunter', 1, 23, 42, 5, 23]

作成者: Holger Krekel と Luther Blissett の合成 出典: https://code.activestate.com/recipes/121294/ およびクックブックのレシピ 1.12

matplotlib.cbook. get_sample_data ( fname , asfileobj = True , * , np_load = False ) [source] #

サンプル データ ファイルを返します。fnamempl-data/sample_dataディレクトリからの相対パスです。asfileobjTrue ファイル オブジェクトを返す場合、それ以外の場合はファイル パスのみを返します。

サンプル データ ファイルは、Matplotlib パッケージ内の「mpl-data/sample_data」ディレクトリに格納されています。

ファイル名が .gz で終わる場合、ファイルは暗黙的に解凍されます。ファイル名が .npy または .npz で終わり、asfileobjが True で、np_loadが True の場合、ファイルはnumpy.load. np_loadは現在デフォルトで False ですが、将来のリリースではデフォルトで True になります。

matplotlib.cbook. index_of ( y ) [ソース] #

指定されたyに対して適切な x 値を作成するヘルパー関数。

これは、x 値が明示的に指定されていない場合に (x, y) をプロットするために使用されます。

最初に ( yが a であるとy.index仮定して) 試してみます。失敗した場合は、 を使用します。pandas.Seriesrange(len(y))

これは将来的に拡張され、より多くの種類のラベル付きデータを処理できるようになります。

パラメータ:
y float または array-like
戻り値:
x、y ndarray

プロットする x と y の値。

matplotlib.cbook. is_math_text ( s ) [ソース] #

文字列sに数式が含まれているかどうかを返します。

これは、 sにエスケープされていないドル記号が偶数個含まれているかどうかをチェックすることによって行われます。

matplotlib.cbook. is_scalar_or_string ( val ) [ソース] #

指定されたオブジェクトがスカラーか文字列かを返します。

matplotlib.cbook. is_writable_file_like ( obj ) [ソース] #

objが書き込みメソッドを持つファイル オブジェクトのように見えるかどうかを返します。

matplotlib.cbook. ls_mapper = {'-': 'solid', '--' : 'dashed' , '-.': 'dashdot', ':': 'dotted'} #

ライン スタイルのショート コードを、バックエンドで使用される完全な名前にマップします。

matplotlib.cbook. ls_mapper_r = {'dashdot': '-.', 'dashed' : '--', 'dotted': ':', 'solid': '-'} #

バックエンドで使用されるライン スタイルのフル ネームをショート コードにマップします。

クラス matplotlib.cbook. maxdict ( maxsize ) [ソース] #

拠点:dict

[非推奨] 最大サイズの辞書。

ノート

これは、サイズを制限するために関連するすべてのメソッドをオーバーライドするわけではない__setitem__ので、注意して使用してください。

バージョン 3.6 以降非推奨:代わりに functools.lru_cache を使用してください。

matplotlib.cbook. normalize_kwargs ( kw , alias_mapping = None ) [source] #

kwarg 入力を正規化するヘルパー関数。

パラメータ:
kw dict または None

キーワード引数の辞書。None は明示的にサポートされており、空の dict として扱われ、形式のオプションのパラメーターを持つ関数をサポートしますprops=None

alias_mapping dict または Artist サブクラスまたは Artist インスタンス、オプション

優先順位の低いものから高いものへの順で、正規名とエイリアスのリストとの間のマッピング。

正規値がリストにない場合は、優先度が最も高いと見なされます。

Artist サブクラスまたはインスタンスが渡された場合は、そのプロパティ エイリアス マッピングを使用します。

レイズ:
TypeError

無効な引数/キーワード引数が callable に渡された場合に Python が発生させるものと一致させるため。

matplotlib.cbook. open_file_cm ( path_or_file , mode = 'r' , encoding = None ) [source] #

ファイル オブジェクトをパススルーし、パスのようなものをコンテキスト管理します。

matplotlib.cbook. print_cycles ( objects , outstream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> , show_progress=False ) [source] #

指定されたobject内の循環参照のループを出力します。

gc.garbage一部のオブジェクトのガベージ コレクションを妨げているサイクルを見つけるために、渡すと便利なことがよくあります。

パラメータ:
オブジェクト

サイクルを検索するオブジェクトのリスト。

アウトストリーム

出力用のストリーム。

show_progressブール

True の場合、見つかったオブジェクトの数を出力します。

matplotlib.cbook. pts_to_midstep ( x , * args ) [ソース] #

連続線を中間ステップに変換します。

ポイントのセットを指定すると、Nポイントに変換さ2Nれ、線形に接続すると、間隔の中央で値が変化するステップ関数が得られます。

パラメータ:
x配列

ステップの x 位置。空の場合があります。

y1, ..., yp配列

ステップに変換される y 配列。all は と同じ長さでなければなりません x

戻り値:
配列

入力と同じ順序でステップに変換された x 値と y 値。として解凍できます。入力が length の場合、これらの各配列は length になります。x_out, y1_out, ..., yp_outN2N

>>> x_s, y1_s, y2_s = pts_to_midstep(x, y1, y2)
matplotlib.cbook. pts_to_poststep ( x , * args ) [ソース] #

実線をポストステップに変換します。

ポイントのセットがNポイントに変換されると、ポイントは線形に接続されると、間隔の終わりで値が変化するステップ関数になります。2N + 1

パラメータ:
x配列

ステップの x 位置。空の場合があります。

y1, ..., yp配列

ステップに変換される y 配列。all は と同じ長さでなければなりませんx

戻り値:
配列

入力と同じ順序でステップに変換された x 値と y 値。として解凍できます。入力が length の場合、これらの各配列は length になります。の場合 、長さは 0 になります。x_out, y1_out, ..., yp_outN2N + 1N=0

>>> x_s, y1_s, y2_s = pts_to_poststep(x, y1, y2)
matplotlib.cbook. pts_to_prestep ( x , * args ) [ソース] #

連続線をプレステップに変換します。

ポイントのセットを指定して、Nポイントに変換します。ポイントを線形に接続すると、間隔の開始時に値が変化するステップ関数が得られます。2N - 1

パラメータ:
x配列

ステップの x 位置。空の場合があります。

y1, ..., yp配列

ステップに変換される y 配列。all は と同じ長さでなければなりませんx

戻り値:
配列

入力と同じ順序でステップに変換された x 値と y 値。として解凍できます。入力が length の場合、これらの各配列は length になります。の場合 、長さは 0 になります。x_out, y1_out, ..., yp_outN2N + 1N=0

>>> x_s, y1_s, y2_s = pts_to_prestep(x, y1, y2)
matplotlib.cbook. report_memory ( i = 0 ) [ソース] #

[非推奨] プロセスによって消費されたメモリを返します。

ノート

バージョン 3.5 以降非推奨:代わりに psutil.virtual_memory を使用してください。

matplotlib.cbook. safe_first_element ( obj ) [ソース] #

objの最初の要素を返します。

これは、最初の要素を取得する型に依存しない方法であり、インデックス アクセスとイテレータ プロトコルの両方をサポートします。

matplotlib.cbook. safe_masked_invalid ( x , copy = False ) [ソース] #
matplotlib.cbook. sanitize_sequence (データ) [ソース] #

dictview オブジェクトをリストに変換します。他の入力は変更されずに返されます。

クラス matplotlib.cbook. silent_list ( type , seq = None ) [source] #

拠点:list

短いrepr().

これは、同種のアーティストのリストに使用することを意図しているため、長くて無意味な出力が発生することはありません。

それ以外の

[<matplotlib.lines.Line2D object at 0x7f5749fed3c8>,
 <matplotlib.lines.Line2D object at 0x7f5749fed4e0>,
 <matplotlib.lines.Line2D object at 0x7f5758016550>]

1つが得られます

<a list of 3 Line2D objects>

が None の場合self.type、型名はリストの最初の項目 (存在する場合) から取得されます。

matplotlib.cbook. simple_linear_interpolation ( a , steps ) [ソース] #

元のポイント ペア間のポイントで配列をリサンプリングします。steps - 1

a の各列に沿って、各元の値の間にポイントが導入されます。値は線形補間されます。(steps - 1)

パラメータ:
配列、形状 (n、...)
ステップ整数
戻り値:
配列

((n - 1) * steps + 1, ...)

matplotlib.cbook. strip_math ( s ) [ソース] #

mathtext から latex フォーマットを削除します。

完全に数学の文字列と完全に非数学の文字列のみを処理します。

matplotlib.cbook. to_filehandle ( fname , flag = 'r' , return_opened = False , encoding = None ) [source] #

パスを開いているファイル ハンドルに変換するか、ファイルのようなオブジェクトをパススルーします。

open_file_cm新しく作成されたファイル オブジェクトをより簡単に適切に閉じることができるため、代わりに使用することを検討してください。

パラメータ:
fname str またはパス状またはファイル状

strまたはの場合os.PathLike、ファイルはflagおよびencodingで指定されたフラグを使用して開かれます。ファイルのようなオブジェクトの場合は、そのまま渡されます。

フラグstr、デフォルト: 'r'

fnameがまたは の場合、モード引数として に渡されます。fnameがファイル形式の場合は無視されます。openstros.PathLike

return_opened bool、デフォルト: False

True の場合、ファイル オブジェクトと、これが新しいファイル (呼び出し元が閉じる必要があるファイル) であったかどうかを示すブール値の両方を返します。False の場合、新しいファイルのみを返します。

encoding str または None、デフォルト: None

fnameがまたは の場合、モード引数として に渡されます。fnameがファイル形式の場合は無視されます。openstros.PathLike

戻り値:
fhファイルのような
開いたブール

openは、 return_openedが True の場合にのみ返されます。

matplotlib.cbook. Violin_stats ( X , method , points = 100 , quantiles = None ) [source] #

一連のヴァイオリン プロットを描画するために使用できるデータの辞書のリストを返します。

Returnsディクショナリの必要なキーを表示するには、以下のセクションを参照してください。

ユーザーは、この関数をスキップして、violinplotMatplotlib を使用して計算を行う代わりに、同じキーを持つユーザー定義の辞書のセットを渡すことができます。辞書に存在する必要があるキーについては、以下の戻り値セクションを参照してください。

パラメータ:
X配列のような

ガウス カーネル密度推定を生成するために使用されるサンプル データ。次元は 2 以下である必要があります。

メソッド呼び出し可能

データの各列のカーネル密度推定値を計算するために使用される方法。経由で呼び出された場合、 coords で指定された値で評価された KDE の値のベクトルを返す必要があります。method(v, coords)

ポイントint、デフォルト: 100

各ガウス カーネル密度推定値を評価するポイントの数を定義します。

変位値配列のようなもの、デフォルト: なし

データの列ごとに間隔 [0, 1] の float のリストを (None でない場合) 定義します。これは、そのデータの列に対してレンダリングされる変位値を表します。次元は 2 以下である必要があります。1D 配列は、それらを含むシングルトン リストとして扱われます。

戻り値:
辞書のリスト

データの各列の結果を含む辞書のリスト。辞書には、少なくとも次のものが含まれています。

  • coords: この特定のカーネル密度推定が評価された座標を含むスカラーのリスト。

  • vals: coordsで指定された各座標でのカーネル密度推定の値を含むスカラーのリスト。

  • mean: この列のデータの平均値。

  • median: この列のデータの中央値。

  • min: この列のデータの最小値。

  • max: この列のデータの最大値。

  • 変位値: この列のデータの変位値。