class documentation

class PlotlyDataSet(JSONDataSet): (source)

View In Hierarchy

PlotlyDataSet generates a plot from a pandas DataFrame and saves it to a JSON file using an underlying filesystem (e.g.: local, S3, GCS). It loads the JSON into a plotly figure.

PlotlyDataSet is a convenience wrapper for plotly.JSONDataSet. It generates the JSON file directly from a pandas DataFrame through plotly_args.

Example usage for the YAML API:

bar_plot:
  type: plotly.PlotlyDataSet
  filepath: data/08_reporting/bar_plot.json
  plotly_args:
    type: bar
    fig:
      x: features
      y: importance
      orientation: h
    layout:
      xaxis_title: x
      yaxis_title: y
      title: Title

Example usage for the Python API:

>>> from kedro.extras.datasets.plotly import PlotlyDataSet
>>> import plotly.express as px
>>> import pandas as pd
>>>
>>> df_data = pd.DataFrame([[0, 1], [1, 0]], columns=('x1', 'x2'))
>>>
>>> data_set = PlotlyDataSet(
>>>     filepath='scatter_plot.json',
>>>     plotly_args={
>>>         'type': 'scatter',
>>>         'fig': {'x': 'x1', 'y': 'x2'},
>>>     }
>>> )
>>> data_set.save(df_data)
>>> reloaded = data_set.load()
>>> assert px.scatter(df_data, x='x1', y='x2') == reloaded
Method __init__ Creates a new instance of PlotlyDataSet pointing to a concrete JSON file on a specific filesystem.
Method _describe Undocumented
Method _plot_dataframe Undocumented
Method _save Undocumented
Instance Variable _fs_open_args_load Undocumented
Instance Variable _fs_open_args_save Undocumented
Instance Variable _plotly_args Undocumented

Inherited from JSONDataSet:

Constant DEFAULT_LOAD_ARGS Undocumented
Constant DEFAULT_SAVE_ARGS Undocumented
Method _exists Undocumented
Method _invalidate_cache Undocumented
Method _load Undocumented
Method _release Undocumented
Instance Variable _fs Undocumented
Instance Variable _load_args Undocumented
Instance Variable _protocol Undocumented
Instance Variable _save_args Undocumented

Inherited from AbstractVersionedDataSet (via JSONDataSet):

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_load_version Compute the version the dataset should be loaded with.
Method resolve_save_version Compute the version the dataset should be saved with.
Method save Saves data by delegation to the provided save method.
Method _fetch_latest_load_version Undocumented
Method _fetch_latest_save_version Generate and cache the current save version
Method _get_load_path Undocumented
Method _get_save_path Undocumented
Method _get_versioned_path Undocumented
Instance Variable _exists_function Undocumented
Instance Variable _filepath Undocumented
Instance Variable _glob_function Undocumented
Instance Variable _version Undocumented
Instance Variable _version_cache Undocumented

Inherited from AbstractDataSet (via JSONDataSet, AbstractVersionedDataSet):

Class Method from_config 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, plotly_args: Dict[str, Any], load_args: Dict[str, Any] = None, save_args: Dict[str, Any] = None, version: Version = None, credentials: Dict[str, Any] = None, fs_args: Dict[str, Any] = None): (source)

Creates a new instance of PlotlyDataSet pointing to a concrete JSON file on a specific filesystem.

Parameters
filepath:strFilepath in POSIX format to a JSON file 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. Note: http(s) doesn't support versioning.
plotly_args:Dict[str, Any]Plotly configuration for generating a plotly figure from the dataframe. Keys are type (plotly express function, e.g. bar, line, scatter), fig (kwargs passed to the plotting function), theme (defaults to plotly), layout.
load_args:Dict[str, Any]Plotly options for loading JSON files. Here you can find all available arguments: https://plotly.com/python-api-reference/generated/plotly.io.from_json.html#plotly.io.from_json All defaults are preserved.
save_args:Dict[str, Any]Plotly options for saving JSON files. Here you can find all available arguments: https://plotly.com/python-api-reference/generated/plotly.io.write_json.html All defaults are preserved.
version:VersionIf 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.
credentials:Dict[str, Any]Credentials required to get access to the underlying filesystem. E.g. for GCSFileSystem it should look like {'token': None}.
fs_args:Dict[str, Any]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 keys open_args_load and 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 w when saving.
def _describe(self) -> Dict[str, Any]: (source)
def _plot_dataframe(self, data: pd.DataFrame) -> go.Figure: (source)

Undocumented

def _save(self, data: pd.DataFrame): (source)
_plotly_args = (source)

Undocumented