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_handler
Exception
は単一のパラメーターを受け取る関数でなければなりません 。Exception
中にコールバックによって発生したもので呼び出されCallbackRegistry.process
、例外を再発生させるか、別の方法で処理することができます。traceback.print_exc
インタラクティブなイベント ループが実行されている場合、既定のハンドラーは例外を (with で) 出力します。インタラクティブなイベント ループが実行されていない場合は、例外が再発生します。- 信号リスト、オプション
None でない場合、signalsは、このレジストリが処理するシグナルのリストです。リストにないシグナルを試行
process
または試行すると、 . デフォルトの None は、処理されるシグナルを制限しません。connect
ValueError
- クラス 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
- クラス matplotlib.cbook. スタック(デフォルト=なし) [ソース] #
拠点:
object
移動可能なカーソルを持つ要素のスタック。
Web ブラウザでホーム/バック/フォワードを模倣します。
- 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)
True
25 パーセンタイルと 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 次元 ndarray
複数の次元を持つ ndarray
他の非文字列イテラブル
他に何か
最初の引数は、最初の 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] #
サンプル データ ファイルを返します。fnameは
mpl-data/sample_data
ディレクトリからの相対パスです。asfileobjがTrue
ファイル オブジェクトを返す場合、それ以外の場合はファイル パスのみを返します。サンプル データ ファイルは、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.Series
range(len(y))
これは将来的に拡張され、より多くの種類のラベル付きデータを処理できるようになります。
- パラメータ:
- y float または array-like
- 戻り値:
- x、y ndarray
プロットする x と y の値。
- matplotlib.cbook. is_math_text ( s ) [ソース] #
文字列sに数式が含まれているかどうかを返します。
これは、 sにエスケープされていないドル記号が偶数個含まれているかどうかをチェックすることによって行われます。
- 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_out
N
2N
例
>>> 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_out
N
2N + 1
N=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_out
N
2N + 1
N=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. 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がファイル形式の場合は無視されます。
open
str
os.PathLike
- return_opened bool、デフォルト: False
True の場合、ファイル オブジェクトと、これが新しいファイル (呼び出し元が閉じる必要があるファイル) であったかどうかを示すブール値の両方を返します。False の場合、新しいファイルのみを返します。
- encoding str または None、デフォルト: None
fnameがまたは の場合、モード引数として に渡されます。fnameがファイル形式の場合は無視されます。
open
str
os.PathLike
- 戻り値:
- fhファイルのような
- 開いたブール
openは、 return_openedが True の場合にのみ返されます。
- matplotlib.cbook. Violin_stats ( X , method , points = 100 , quantiles = None ) [source] #
一連のヴァイオリン プロットを描画するために使用できるデータの辞書のリストを返します。
Returns
ディクショナリの必要なキーを表示するには、以下のセクションを参照してください。ユーザーは、この関数をスキップして、
violinplot
Matplotlib を使用して計算を行う代わりに、同じキーを持つユーザー定義の辞書のセットを渡すことができます。辞書に存在する必要があるキーについては、以下の戻り値セクションを参照してください。- パラメータ:
- X配列のような
ガウス カーネル密度推定を生成するために使用されるサンプル データ。次元は 2 以下である必要があります。
- メソッド呼び出し可能
データの各列のカーネル密度推定値を計算するために使用される方法。経由で呼び出された場合、 coords で指定された値で評価された KDE の値のベクトルを返す必要があります。
method(v, coords)
- ポイントint、デフォルト: 100
各ガウス カーネル密度推定値を評価するポイントの数を定義します。
- 変位値配列のようなもの、デフォルト: なし
データの列ごとに間隔 [0, 1] の float のリストを (None でない場合) 定義します。これは、そのデータの列に対してレンダリングされる変位値を表します。次元は 2 以下である必要があります。1D 配列は、それらを含むシングルトン リストとして扱われます。
- 戻り値:
- 辞書のリスト
データの各列の結果を含む辞書のリスト。辞書には、少なくとも次のものが含まれています。
coords: この特定のカーネル密度推定が評価された座標を含むスカラーのリスト。
vals: coordsで指定された各座標でのカーネル密度推定の値を含むスカラーのリスト。
mean: この列のデータの平均値。
median: この列のデータの中央値。
min: この列のデータの最小値。
max: この列のデータの最大値。
変位値: この列のデータの変位値。