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

_valueskwargsのが見つからない場合。

>>> _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. recursive_subclasses ( cls ) [ソース] #

clsおよびclsの直接および間接サブクラスを生成します。

matplotlib._api. select_matching_signature ( funcs , * args , ** kwargs ) [source] #

を受け入れる関数を選択して呼び出します。*args, **kwargs

funcsは、例外を発生させてはならない関数のリストです (TypeError渡された引数が署名と一致しない場合を除く)。

select_matching_signaturefuncs内の各関数 を(指定された順序で)呼び出そうとします。a で失敗した呼び出しは、暗黙のうちにスキップされます。呼び出しが成功するとすぐに、戻り値を返します。を受け入れる関数がない場合、最後に失敗した呼び出しで発生した が再発生します。*args, **kwargsTypeErrorselect_matching_signature*args, **kwargsTypeError

呼び出し元は通常、(あいまいさを避けるために) anyが単一のfuncのみをバインドできることを確認する必要がありますが、これは によってチェックされません。*args, **kwargsselect_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 つのパラメーター ( old1old2 ) または 1つのパラメーター ( new ) で呼び出すことができます。新しい署名は最後に与えられることに注意してください。これにより、呼び出し元は、TypeError渡された引数がどの署名とも一致しない場合に、新しい署名に対応する を取得します。

matplotlib._api. warn_external (メッセージカテゴリ=なし) [ソース] #

warnings.warnstacklevelを「Matplotlib 外」に設定するラッパー。

警告の元のエミッターは、この関数をwarnings.warnie (またはなど) にパッチバックすることで取得できます。_api.warn_external = warnings.warnfunctools.partial(warnings.warn, stacklevel=2)

Matplotlib API の一部を廃止するためのヘルパー関数。

このドキュメントは、Matplotlib 開発者のみに関連し、ユーザーには関連しません。

警告

このモジュールは内部使用専用です。独自のコードでは使用しないでください。API は予告なしにいつでも変更される可能性があります。

例外 matplotlib._api.deprecation。MatplotlibDeprecationWarning [ソース] #

拠点:DeprecationWarning

Matplotlib ユーザーに非推奨の警告を発行するためのクラス。

matplotlib._api.deprecation。delete_parameter ( since , name , func = None , ** kwargs ) [source] #

funcのパラメーターが非推奨であることを示すデコレーター。

funcの実際の実装では、署名にnameパラメータを保持するか、( nameが渡される)**kwargs引数を受け入れる必要があります。

非推奨のパラメーターの後に来るパラメーターは、事実上キーワードのみになり (非推奨のパラメーターで DeprecationWarning をトリガーせずに位置的に渡すことができないため)、非推奨の期間が過ぎて非推奨のパラメーターが削除された後に、そのようにマークする必要があります。

sincename、および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@staticmethoddeprecated @property

C多重継承階層で基本クラスとして使用することを意図したクラスを非推奨にする場合は、メソッドを定義するC 必要があります (代わりに独自の基本クラスから 継承した場合、独自の (非推奨発行) をインストールするときに継承が台無しになります)。__init__C__init__@deprecated__init__C.__init__

パラメータは と同じですがwarn_deprecatedobj_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のパラメーターoldnewに名前変更されることを示すデコレーター。

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。suppress_matplotlib_deprecation_warning ( ) [ソース] #
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')