chart_me.charting_assembly_strategy

Specify AssembleChartsStrategy Protocol; Default Implementation of Chart Assembly

The AssembleChartsStrategy Protocal requires one method - assemble_charts that return a list of High Level Altair Charts or Compound Chart. The AssembleChartStrategy expects two MetaData Objects InferedDataTypes that specificy metadata about columns in the dataframe.

Typical usage example:

assembler = AssembleChartsStrategyDefault(df, cols, infer_dtypes) charts = assembler.assemble_charts()

Submodules

Package Contents

Classes

ChartMeDataType

Defines Normalized Datatypes

InferedDataTypes

Core Object Returned for Assembler - column level specifications

AssembleChartsStrategy

Defines the protocol type for AssembleChartsStrategy

AssembleChartsStrategyDefault

Default implementation of AssembleChartsStrategy

Functions

assemble_bivariate_charts(df: pandas.DataFrame, cols: List[str], infered_data_types: chart_me.datatype_infer_strategy.InferedDataTypes, **kwargs) → List[Union[altair.Chart, altair.HConcatChart]]

Delegated Function to Manage Bivariate Use Cases

assemble_univariate_charts(df: pandas.DataFrame, cols: List[str], infered_data_types: chart_me.datatype_infer_strategy.InferedDataTypes, **kwargs) → List[Union[altair.Chart, altair.HConcatChart]]

Delegated Function to Manage Univariate Use Cases

class chart_me.charting_assembly_strategy.ChartMeDataType[source]

Bases: enum.Enum

Defines Normalized Datatypes

FLOATS = F
INTEGER = I
TEMPORAL = ['T']
NOMINAL = ['N']
NOT_SUPPORTED_TYPE = NA
class chart_me.charting_assembly_strategy.InferedDataTypes[source]

Core Object Returned for Assembler - column level specifications

preaggregated :bool
chart_me_data_types :Dict[str, ChartMeDataType]
chart_me_data_types_meta :Dict[str, ChartMeDataTypeMetaType]
exception chart_me.charting_assembly_strategy.InsufficientValidColumnsError[source]

Bases: Exception

Implementation of error if there’s no valid columns to chart

chart_me.charting_assembly_strategy.assemble_bivariate_charts(df: pandas.DataFrame, cols: List[str], infered_data_types: chart_me.datatype_infer_strategy.InferedDataTypes, **kwargs) List[Union[altair.Chart, altair.HConcatChart]][source]

Delegated Function to Manage Bivariate Use Cases

Parameters
  • df – dataframe

  • cols – a list of two columns

  • infered_data_types – An instance of InferedDataTypes object

Returns

List of altair charts or compounds charts

Raises

ValueError if called with len of cols != 2

chart_me.charting_assembly_strategy.assemble_univariate_charts(df: pandas.DataFrame, cols: List[str], infered_data_types: chart_me.datatype_infer_strategy.InferedDataTypes, **kwargs) List[Union[altair.Chart, altair.HConcatChart]][source]

Delegated Function to Manage Univariate Use Cases

Parameters
  • df – dataframe

  • cols – a single column name in a list

  • infered_data_types – An instance of InferedDataTypes object

Returns

List of altair charts or compounds charts

Raises

ValueError if called with more then one column

class chart_me.charting_assembly_strategy.AssembleChartsStrategy[source]

Bases: Protocol

Defines the protocol type for AssembleChartsStrategy

Protocal requires 1 method — assemble_charts

assemble_charts(self) List[Union[altair.Chart, altair.HConcatChart]][source]

Defines Protocal Type for AssembleChartsStrategy

Parameters
  • df (pd.DataFrame) –

  • cols (List[str]) – at least 1 and no more then 2 at this time

  • infered_data_types (InferedDataTypes) – metadata required to guide viz logic

Returns

return a list of Altair visuals

Return type

List[Union[alt.Chart, alt.HConcatChart]]

class chart_me.charting_assembly_strategy.AssembleChartsStrategyDefault(df: pandas.DataFrame, cols: List[str], infered_data_types: chart_me.datatype_infer_strategy.InferedDataTypes, **kwargs)[source]

Default implementation of AssembleChartsStrategy

Default implementation strategy provided by chart_me. The core logic is provided by seperate modules depending on number of columns provided - so far 2 are build univariate & bivariate. More then 2 columns will throw an error

assemble_charts(self) List[Union[altair.Chart, altair.HConcatChart]][source]

assembles charts based on columns count

Returns

A list of Altair Chart/Compound charts to display

Raises
  • InsufficientValidColumnsError – Will occur if no columns available after removing unsupported types.

  • NotImplementedError – Only support 1 or 2 columns at this time