matplotlib._api
#
Matplotlib API を管理するためのヘルパー関数。
このドキュメントは、Matplotlib 開発者のみに関連し、ユーザーには関連しません。
警告
このモジュールとそのサブモジュールは、内部使用のみを目的としています。独自のコードでは使用しないでください。API は予告なしにいつでも変更される可能性があります。
- matplotlib._api. caching_module_getattr ( cls ) [ソース] #
モジュール レベル
__getattr__
をクラスとして実装するためのヘルパー デコレーター。このデコレーターは、次のようにモジュールのトップレベルで使用する必要があります。
@caching_module_getattr class __getattr__: # The class *must* be named ``__getattr__``. @property # Only properties are taken into account. def name(self): ...
クラスは、モジュール にアクセスしようとすると対応するプロパティが解決されるような関数
__getattr__
に置き換えられます (これは、たとえば、モジュール グローバルを非推奨にするために で装飾される場合があり ます)。プロパティはすべて暗黙的にキャッシュされます。さらに、指定された名前のプロパティが存在しない場合は、適切な AttributeError が生成されて発生します。__getattr__
name
_api.deprecated
- matplotlib._api. check_getitem ( _mapping , ** kwargs ) [ソース] #
kwargsは、単一のキーと値のペアで構成する必要があります。キーが _mappingにある場合は、戻り
_mapping[value]
ます。それ以外の場合は、適切な ValueError を発生させます。例
>>> _api.check_getitem({"foo": "bar"}, arg=arg)
- matplotlib._api. check_in_list ( _values , * , _print_supported_values = True , ** kwargs ) [source] #
kwargs の各キーと値のペアについて、値が_valuesにあることを確認します。
- パラメータ:
- _values反復可能
チェックする値のシーケンス。
- _print_supported_values bool、デフォルト: True
ValueError を発生させたときに_valuesを出力するかどうか。
- **kwargs辞書
_valuesで検索するキーワード引数としてのキーと値のペア。
- レイズ:
- ValueError
_valuesにkwargsの値が見つからない場合。
例
>>> _api.check_in_list(["foo", "bar"], arg=arg, other_arg=other_arg)
- matplotlib._api. check_isinstance ( _types , ** kwargs ) [ソース] #
kwargs のキーと値のペアごとに、値が_typesのいずれかのインスタンスであることを確認します。そうでない場合は、適切な TypeError を発生させます。
特殊なケースとして、_types の
None
エントリはNoneTypeとして扱われます。例
>>> _api.check_isinstance((SomeClass, None), arg=arg)
- matplotlib._api. check_shape ( _shape , ** kwargs ) [ソース] #
kwargs の各キーと値のペアについて、値が_shapeの形状を持っている ことを確認し、そうでない場合は、適切な ValueError を発生させます。
形状のなしは、任意の長さを持つことができる「フリー」サイズとして扱われます。例 (なし, 2) -> (N, 2)
チェックされる値は、numpy 配列でなければなりません。
例
(N, 2) 形状の配列をチェックするには
>>> _api.check_shape((None, 2), arg=arg, other_arg=other_arg)
- クラス matplotlib._api. classproperty ( fget , fset =なし, fdel =なし, doc =なし) [source] #
拠点:
object
と同様
property
ですが、クラスを介したアクセスでもトリガーされ 、引数として渡されるのはクラスです。例
class C: @classproperty def foo(cls): return cls.__name__ assert C.foo == "C"
- プロパティ fget #
- matplotlib._api. define_aliases ( alias_d , cls = None ) [source] #
プロパティ エイリアスを定義するためのクラス デコレーター。
使用
@_api.define_aliases({"property": ["alias", ...], ...}) class C: ...
各プロパティについて、
get_property
これまでクラスで対応するものが定義されている場合は、という名前のエイリアスget_alias
が定義されます。セッターについても同じことが行われます。ゲッターもセッターも存在しない場合、例外が発生します。エイリアス マップは、クラスの属性として格納され、(優先度の高いエイリアスが最後に来ると仮定して) で
_alias_map
使用できます。normalize_kwargs
- matplotlib._api. select_matching_signature ( funcs , * args , ** kwargs ) [source] #
を受け入れる関数を選択して呼び出します。
*args, **kwargs
funcsは、例外を発生させてはならない関数のリストです (
TypeError
渡された引数が署名と一致しない場合を除く)。select_matching_signature
funcs内の各関数 を(指定された順序で)呼び出そうとします。a で失敗した呼び出しは、暗黙のうちにスキップされます。呼び出しが成功するとすぐに、戻り値を返します。を受け入れる関数がない場合、最後に失敗した呼び出しで発生した が再発生します。*args, **kwargs
TypeError
select_matching_signature
*args, **kwargs
TypeError
呼び出し元は通常、(あいまいさを避けるために) anyが単一のfuncのみをバインドできることを確認する必要がありますが、これは によってチェックされません。
*args, **kwargs
select_matching_signature
ノート
select_matching_signature
シグネチャがオーバーロードされた関数の実装を支援することを目的としています。一般に、後方互換性の問題を除いて、そのような関数は避けるべきです。典型的な使用パターンは、def my_func(*args, **kwargs): params = select_matching_signature( [lambda old1, old2: locals(), lambda new: locals()], *args, **kwargs) if "old1" in params: warn_deprecated(...) old1, old2 = params.values() # note that locals() is ordered. else: new, = params.values() # do things with params
これにより、my_funcを 2 つのパラメーター ( old1と old2 ) または 1つのパラメーター ( new ) で呼び出すことができます。新しい署名は最後に与えられることに注意してください。これにより、呼び出し元は、
TypeError
渡された引数がどの署名とも一致しない場合に、新しい署名に対応する を取得します。
- matplotlib._api. warn_external (メッセージ、カテゴリ=なし) [ソース] #
warnings.warn
stacklevelを「Matplotlib 外」に設定するラッパー。警告の元のエミッターは、この関数を
warnings.warn
ie (またはなど) にパッチバックすることで取得できます。_api.warn_external = warnings.warn
functools.partial(warnings.warn, stacklevel=2)
Matplotlib API の一部を廃止するためのヘルパー関数。
このドキュメントは、Matplotlib 開発者のみに関連し、ユーザーには関連しません。
警告
このモジュールは内部使用専用です。独自のコードでは使用しないでください。API は予告なしにいつでも変更される可能性があります。
- 例外 matplotlib._api.deprecation。MatplotlibDeprecationWarning [ソース] #
-
Matplotlib ユーザーに非推奨の警告を発行するためのクラス。
- matplotlib._api.deprecation。delete_parameter ( since , name , func = None , ** kwargs ) [source] #
funcのパラメーター名が非推奨であることを示すデコレーター。
funcの実際の実装では、署名にnameパラメータを保持するか、( nameが渡される)
**kwargs
引数を受け入れる必要があります。非推奨のパラメーターの後に来るパラメーターは、事実上キーワードのみになり (非推奨のパラメーターで DeprecationWarning をトリガーせずに位置的に渡すことができないため)、非推奨の期間が過ぎて非推奨のパラメーターが削除された後に、そのようにマークする必要があります。
since、name、およびfunc以外のパラメータはキーワードのみで、 に転送され
warn_deprecated
ます。例
@_api.delete_parameter("3.1", "unused") def func(used_arg, other_arg, unused, more_args): ...
- matplotlib._api.deprecation。deprecate_method_override ( method , obj , * , allow_empty = False , ** kwargs ) [source] #
オーバーライドされた場合は非推奨で返し
obj.method
、そうでない場合は None を返します。- パラメータ:
- 方法
バインドされていないメソッド、つまり の形式の式
Class.method_name
。__class__
メソッドの本体内では、現在定義されているクラスをいつでも参照できることに注意してください。- オブジェクト
メソッドが定義されているクラスのオブジェクト、またはそのクラスのサブクラス。
- allow_empty bool、デフォルト: False
警告を出さずに「空の」メソッドによるオーバーライドを許可するかどうか。
- **kwargs
warn_deprecated
非推奨の警告を生成するために渡される追加のパラメーター。少なくとも「since」キーを含める必要があります。
- クラス matplotlib._api.deprecation。deprecate_privatize_attribute ( * args , ** kwargs ) [source] #
拠点:
object
属性 (またはメソッド) へのパブリック アクセスを非推奨にするヘルパー。
このヘルパーは、次のようにクラス スコープでのみ使用する必要があります。
class Foo: attr = _deprecate_privatize_attribute(*args, **kwargs)
すべてのパラメータがに転送され
deprecated
ます。このフォームはattr
、読み取りおよび書き込みアクセスを転送するプロパティを作成しますself._attr
(同じ名前ですが、先頭にアンダースコアが付いています)。非推奨の警告が表示されます。属性名は、このヘルパーが割り当てられた名前から派生していることに注意してください。このヘルパーは、非推奨のメソッドにも機能します。
- matplotlib._api.deprecation。deprecated ( since , * , message = '' , name = '' , alternative = '' , pending = False , obj_type = None , addendum = '' , Removal = '' ) [source] #
関数、クラス、またはプロパティを非推奨としてマークするデコレーター。
classmethod、staticmethod、またはプロパティを非推奨にする場合、
@deprecated
デコレータはand の下 に移動する必要があります(つまり、基礎となる callable を直接装飾する必要があります)。@classmethod
@staticmethod
deprecated
@property
C
多重継承階層で基本クラスとして使用することを意図したクラスを非推奨にする場合は、メソッドを定義するC
必要があります (代わりに独自の基本クラスから 継承した場合、独自の (非推奨発行) をインストールするときに継承が台無しになります)。__init__
C
__init__
@deprecated
__init__
C.__init__
パラメータは と同じですが
warn_deprecated
、obj_type のデフォルトは、クラスを装飾する場合は 'class'、プロパティを装飾する場合は 'attribute'、そうでない場合は 'function' です。例
@deprecated('1.4.0') def the_function_to_deprecate(): pass
- matplotlib._api.deprecation。make_keyword_only ( since , name , func = None ) [source] #
パラメーター名(または次のいずれか) を位置的にfuncに渡すことは非推奨であることを示すデコレーター。
pyplot ラッパーを持つメソッドで使用する場合
boilerplate.py
、元の署名にアクセスできるように、これは最も外側のデコレーターにする必要があります。
- matplotlib._api.deprecation。rename_parameter ( since , old , new , func = None ) [source] #
funcのパラメーターoldがnewに名前変更されることを示すデコレーター。
funcの実際の実装では、 oldではなくnewを使用する必要があります。oldがfuncに 渡されると、 DeprecationWarning が発行され、 newもキーワードで渡された場合でも、その値が使用されます(これは、常にnewを Axes メソッドに明示的に渡す pyplot ラッパー関数を単純化するためです)。newも渡されたが位置的に渡された場合、引数バインディング中に基になる関数によって TypeError が発生します。
例
@_api.rename_parameter("3.1", "bad_name", "good_name") def func(good_name): ...
- matplotlib._api.deprecation。warn_deprecated ( since , * , message = '' , name = '' , alternative = '' , pending = False , obj_type = '' , addendum = ' ' , Removal = '' ) [source] #
標準化された非推奨を表示します。
- パラメータ:
- から_
この API が廃止されたリリース。
- メッセージ文字列、オプション
デフォルトの非推奨メッセージをオーバーライドします。、、、、、および書式指定子は
%(since)s
、 この関数%(name)s
に渡されるそれぞれの引数の値に置き換えられます。%(alternative)s
%(obj_type)s
%(addendum)s
%(removal)s
- 名前文字列、オプション
非推奨のオブジェクトの名前。
- 代替文字列、オプション
非推奨の API の代わりにユーザーが使用できる代替 API。非推奨の警告は、提供されている場合、この代替手段についてユーザーに通知します。
- 保留中のブール値、オプション
True の場合、DeprecationWarning の代わりに PendingDeprecationWarning を使用します。取り外しとの併用はできません。
- obj_type文字列、オプション
非推奨のオブジェクト タイプ。
- 補遺str、オプション
最終メッセージに直接追加される追加テキスト。
- 除去str、オプション
予想される削除バージョン。デフォルト (空の文字列) では、削除バージョンはsince から自動的に計算されます。削除日をスケジュールしない場合は、他の Falsy 値に設定します。pendingと一緒に使用することはできません。
例
# To warn of the deprecation of "matplotlib.name_of_module" warn_deprecated('1.4.0', name='matplotlib.name_of_module', obj_type='module')