Initial configuration commit
This commit is contained in:
commit
31c8abea59
266 changed files with 780274 additions and 0 deletions
133
typings/matplotlib/units.pyi
Normal file
133
typings/matplotlib/units.pyi
Normal file
|
@ -0,0 +1,133 @@
|
|||
"""
|
||||
This type stub file was generated by pyright.
|
||||
"""
|
||||
|
||||
"""
|
||||
The classes here provide support for using custom classes with
|
||||
Matplotlib, e.g., those that do not expose the array interface but know
|
||||
how to convert themselves to arrays. It also supports classes with
|
||||
units and units conversion. Use cases include converters for custom
|
||||
objects, e.g., a list of datetime objects, as well as for objects that
|
||||
are unit aware. We don't assume any particular units implementation;
|
||||
rather a units implementation must register with the Registry converter
|
||||
dictionary and provide a `ConversionInterface`. For example,
|
||||
here is a complete implementation which supports plotting with native
|
||||
datetime objects::
|
||||
|
||||
import matplotlib.units as units
|
||||
import matplotlib.dates as dates
|
||||
import matplotlib.ticker as ticker
|
||||
import datetime
|
||||
|
||||
class DateConverter(units.ConversionInterface):
|
||||
|
||||
@staticmethod
|
||||
def convert(value, unit, axis):
|
||||
"Convert a datetime value to a scalar or array."
|
||||
return dates.date2num(value)
|
||||
|
||||
@staticmethod
|
||||
def axisinfo(unit, axis):
|
||||
"Return major and minor tick locators and formatters."
|
||||
if unit != 'date':
|
||||
return None
|
||||
majloc = dates.AutoDateLocator()
|
||||
majfmt = dates.AutoDateFormatter(majloc)
|
||||
return units.AxisInfo(majloc=majloc, majfmt=majfmt, label='date')
|
||||
|
||||
@staticmethod
|
||||
def default_units(x, axis):
|
||||
"Return the default unit for x or None."
|
||||
return 'date'
|
||||
|
||||
# Finally we register our object type with the Matplotlib units registry.
|
||||
units.registry[datetime.date] = DateConverter()
|
||||
"""
|
||||
class ConversionError(TypeError):
|
||||
...
|
||||
|
||||
|
||||
class AxisInfo:
|
||||
"""
|
||||
Information to support default axis labeling, tick labeling, and limits.
|
||||
|
||||
An instance of this class must be returned by
|
||||
`ConversionInterface.axisinfo`.
|
||||
"""
|
||||
def __init__(self, majloc=..., minloc=..., majfmt=..., minfmt=..., label=..., default_limits=...) -> None:
|
||||
"""
|
||||
Parameters
|
||||
----------
|
||||
majloc, minloc : Locator, optional
|
||||
Tick locators for the major and minor ticks.
|
||||
majfmt, minfmt : Formatter, optional
|
||||
Tick formatters for the major and minor ticks.
|
||||
label : str, optional
|
||||
The default axis label.
|
||||
default_limits : optional
|
||||
The default min and max limits of the axis if no data has
|
||||
been plotted.
|
||||
|
||||
Notes
|
||||
-----
|
||||
If any of the above are ``None``, the axis will simply use the
|
||||
default value.
|
||||
"""
|
||||
...
|
||||
|
||||
|
||||
|
||||
class ConversionInterface:
|
||||
"""
|
||||
The minimal interface for a converter to take custom data types (or
|
||||
sequences) and convert them to values Matplotlib can use.
|
||||
"""
|
||||
@staticmethod
|
||||
def axisinfo(unit, axis): # -> None:
|
||||
"""Return an `.AxisInfo` for the axis with the specified units."""
|
||||
...
|
||||
|
||||
@staticmethod
|
||||
def default_units(x, axis): # -> None:
|
||||
"""Return the default unit for *x* or ``None`` for the given axis."""
|
||||
...
|
||||
|
||||
@staticmethod
|
||||
def convert(obj, unit, axis):
|
||||
"""
|
||||
Convert *obj* using *unit* for the specified *axis*.
|
||||
|
||||
If *obj* is a sequence, return the converted sequence. The output must
|
||||
be a sequence of scalars that can be used by the numpy array layer.
|
||||
"""
|
||||
...
|
||||
|
||||
|
||||
|
||||
class DecimalConverter(ConversionInterface):
|
||||
"""Converter for decimal.Decimal data to float."""
|
||||
@staticmethod
|
||||
def convert(value, unit, axis): # -> float | NDArray[Any]:
|
||||
"""
|
||||
Convert Decimals to floats.
|
||||
|
||||
The *unit* and *axis* arguments are not used.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
value : decimal.Decimal or iterable
|
||||
Decimal or list of Decimal need to be converted
|
||||
"""
|
||||
...
|
||||
|
||||
|
||||
|
||||
class Registry(dict):
|
||||
"""Register types with conversion interface."""
|
||||
def get_converter(self, x): # -> None:
|
||||
"""Get the converter interface instance for *x*, or None."""
|
||||
...
|
||||
|
||||
|
||||
|
||||
registry = ...
|
Loading…
Add table
Add a link
Reference in a new issue