class documentation
class MatplotlibWriter(AbstractVersionedDataSet[
MatplotlibWriter saves one or more Matplotlib objects as image files to an underlying filesystem (e.g. local, S3, GCS).
Example usage for the YAML API:
output_plot: type: matplotlib.MatplotlibWriter filepath: data/08_reporting/output_plot.png save_args: format: png
Example usage for the Python API:
>>> import matplotlib.pyplot as plt >>> from kedro.extras.datasets.matplotlib import MatplotlibWriter >>> >>> fig = plt.figure() >>> plt.plot([1, 2, 3]) >>> plot_writer = MatplotlibWriter( >>> filepath="data/08_reporting/output_plot.png" >>> ) >>> plt.close() >>> plot_writer.save(fig)
Example saving a plot as a PDF file:
>>> import matplotlib.pyplot as plt >>> from kedro.extras.datasets.matplotlib import MatplotlibWriter >>> >>> fig = plt.figure() >>> plt.plot([1, 2, 3]) >>> pdf_plot_writer = MatplotlibWriter( >>> filepath="data/08_reporting/output_plot.pdf", >>> save_args={"format": "pdf"}, >>> ) >>> plt.close() >>> pdf_plot_writer.save(fig)
Example saving multiple plots in a folder, using a dictionary:
>>> import matplotlib.pyplot as plt >>> from kedro.extras.datasets.matplotlib import MatplotlibWriter >>> >>> plots_dict = {} >>> for colour in ["blue", "green", "red"]: >>> plots_dict[f"{colour}.png"] = plt.figure() >>> plt.plot([1, 2, 3], color=colour) >>> >>> plt.close("all") >>> dict_plot_writer = MatplotlibWriter( >>> filepath="data/08_reporting/plots" >>> ) >>> dict_plot_writer.save(plots_dict)
Example saving multiple plots in a folder, using a list:
>>> import matplotlib.pyplot as plt >>> from kedro.extras.datasets.matplotlib import MatplotlibWriter >>> >>> plots_list = [] >>> for i in range(5): >>> plots_list.append(plt.figure()) >>> plt.plot([i, i + 1, i + 2]) >>> plt.close("all") >>> list_plot_writer = MatplotlibWriter( >>> filepath="data/08_reporting/plots" >>> ) >>> list_plot_writer.save(plots_list)
Method | __init__ |
Creates a new instance of MatplotlibWriter. |
Constant | DEFAULT |
Undocumented |
Method | _describe |
Undocumented |
Method | _exists |
Undocumented |
Method | _invalidate |
Invalidate underlying filesystem caches. |
Method | _load |
Undocumented |
Method | _release |
Undocumented |
Method | _save |
Undocumented |
Method | _save |
Undocumented |
Instance Variable | _fs |
Undocumented |
Instance Variable | _fs |
Undocumented |
Instance Variable | _overwrite |
Undocumented |
Instance Variable | _protocol |
Undocumented |
Instance Variable | _save |
Undocumented |
Inherited from AbstractVersionedDataSet
:
Method | exists |
Checks whether a data set's output already exists by calling the provided _exists() method. |
Method | load |
Loads data by delegation to the provided load method. |
Method | resolve |
Compute the version the dataset should be loaded with. |
Method | resolve |
Compute the version the dataset should be saved with. |
Method | save |
Saves data by delegation to the provided save method. |
Method | _fetch |
Undocumented |
Method | _fetch |
Generate and cache the current save version |
Method | _get |
Undocumented |
Method | _get |
Undocumented |
Method | _get |
Undocumented |
Instance Variable | _exists |
Undocumented |
Instance Variable | _filepath |
Undocumented |
Instance Variable | _glob |
Undocumented |
Instance Variable | _version |
Undocumented |
Instance Variable | _version |
Undocumented |
Inherited from AbstractDataSet
(via AbstractVersionedDataSet
):
Class Method | from |
Create a data set instance using the configuration provided. |
Method | __str__ |
Undocumented |
Method | release |
Release any cached data. |
Method | _copy |
Undocumented |
Property | _logger |
Undocumented |
def __init__(self, filepath:
str
, fs_args: Dict[ str, Any]
= None, credentials: Dict[ str, Any]
= None, save_args: Dict[ str, Any]
= None, version: Version
= None, overwrite: bool
= False):
(source)
¶
Creates a new instance of MatplotlibWriter.
Parameters | |
filepath:str | Filepath in POSIX format to save Matplotlib objects to, prefixed with a
protocol like s3:// . If prefix is not provided, file protocol (local filesystem)
will be used. The prefix should be any protocol supported by fsspec. |
fsDict[ | Extra arguments to pass into underlying filesystem class constructor
(e.g. {"project": "my-project"} for GCSFileSystem), as well as
to pass to the filesystem's open method through nested key open_args_save .
Here you can find all available arguments for open :
https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.open
All defaults are preserved, except mode , which is set to wb when saving. |
credentials:Dict[ | Credentials required to get access to the underlying filesystem.
E.g. for S3FileSystem it should look like:
{'key': '<id>', 'secret': '<key>'}} |
saveDict[ | Save args passed to plt.savefig . See
https://matplotlib.org/api/_as_gen/matplotlib.pyplot.savefig.html |
version:Version | If specified, should be an instance of kedro.io.core.Version. If its load attribute is None, the latest version will be loaded. If its save attribute is None, save version will be autogenerated. |
overwrite:bool | If True, any existing image files will be removed. Only relevant when saving multiple Matplotlib objects at once. |