QuickEcharts 2.1.8
Create ECharts plots in a single simple function call, with internal data wrangling via polars
License: MIT
Requires Python: >=3.10

![PyPI](https://img.shields.io/pypi/v/QuickEcharts?label=pypi%20package)
![PyPI - Downloads](https://img.shields.io/pypi/dm/QuickEcharts)
![Build + Test](https://github.com/AdrianAntico/QuickEcharts/actions/workflows/python-package.yml/badge.svg)

# QuickEcharts

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Logo.PNG)

QuickEcharts is a Python package that enables one to plot Echarts quickly. It piggybacks off of the pyecharts package that pipes into Apache Echarts. Pyecharts is a great package for fully customizing plots but is quite a challenge to make use of quickly. QuickEcharts solves this with a simple API for defining plotting elements and data, along with automatic data wrangling operations, using polars, to correctly structure data fast.

For the Code Examples below, there is a dataset in the QuickEcharts/datasets folder named FakeBevData.csv that you can download for replication purposes.

# Installation
```bash
pip install QuickEcharts

or 

pip install git+https://github.com/AdrianAntico/QuickEcharts.git#egg=quickecharts
```

<br>

# Run Shiny App
```python
from QuickEcharts.shiny_app import run_app
run_app(port=8001)
```

<br>


# Code Examples

<br>

## Area

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Area(
  dt = data,
  PreAgg = False,
  YVar = 'Daily Liters',
  XVar = 'Date',
  GroupVar = None,
  FacetRows = 2,
  FacetCols = 2,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'sum',
  YVarTrans = "Identity",
  RenderHTML = "Area Plot",
  Opacity = 0.50,
  GradientColors = ['#e12191', '#0011FF'],
  LineWidth = 1,
  Symbol = "emptyCircle",
  SymbolSize = 6,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'dark',
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Area Plot',
  TitleColor = "lightgray",
  TitleFontSize = 20,
  SubTitle = "Gradient Colors",
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = "Daily Liters",
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = 'top',
  LegendPosRight = '0%',
  LegendPosTop = '2%',
  LegendBorderSize = 0.25,
  LegendTextColor = "#fff",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Area.PNG)


```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Area(
  dt = data,
  PreAgg = False,
  YVar = 'Daily Liters',
  XVar = 'Date',
  GroupVar = 'Brand',
  FacetRows = 1,
  FacetCols = 1,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'sum',
  YVarTrans = "Identity",
  RenderHTML = None,
  Opacity = 0.5,
  GradientColors = ['#c86589', '#06a7ff0d'],
  LineWidth = 2,
  Symbol = "emptyCircle",
  SymbolSize = 6,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'wonderland',
  BackgroundColor = None,
  Width = None,
  Height = None,
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Line Plot',
  TitleColor = "#fff",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = None,
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = None,
  LegendPosRight = '0%',
  LegendPosTop = '5%',
  LegendBorderSize = 1,
  LegendTextColor = "#fff",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Area_GroupVar.PNG)


```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

brand = data['Brand'].unique()
brand = [b for b in brand if b != "#N/A"]

plot_list = [None] * len(brand)
for i in range(len(brand)):
  plot_list[i] = Charts.Area(
    dt = data.filter(pl.col('Brand') == brand[i]),
    PreAgg = False,
    YVar = 'Daily Liters',
    XVar = 'Date',
    GroupVar = None,
    FacetRows = 1,
    FacetCols = 1,
    FacetLevels = None,
    TimeLine = False,
    AggMethod = 'sum',
    YVarTrans = "Identity",
    RenderHTML = "Area Plot",
    Opacity = 0.50,
    GradientColors = ['#e12191', '#0011FF'],
    LineWidth = 1,
    Symbol = "emptyCircle",
    SymbolSize = 6,
    ShowLabels = False,
    LabelPosition = "top",
    Theme = 'dark',
    BackgroundColor = None,
    Width = None,
    Height = None,
    ToolBox = True,
    Brush = True,
    DataZoom = True,
    Title = f'{brand[i]}',
    TitleColor = "lightgray",
    TitleFontSize = 20,
    SubTitle = "Gradient Colors",
    SubTitleColor = "#fff",
    SubTitleFontSize = 12,
    AxisPointerType = 'cross',
    YAxisTitle = "Daily Liters",
    YAxisNameLocation = 'middle',
    YAxisNameGap = 70,
    XAxisTitle = None,
    XAxisNameLocation = 'middle',
    XAxisNameGap = 42,
    Legend = 'top',
    LegendPosRight = '0%',
    LegendPosTop = '2%',
    LegendBorderSize = 0.25,
    LegendTextColor = "#fff",
    VerticalLine = None,
    VerticalLineName = 'Line Name',
    HorizontalLine = None,
    HorizontalLineName = 'Line Name',
    AnimationThreshold = 2000,
    AnimationDuration = 1000,
    AnimationEasing = "cubicOut",
    AnimationDelay = 0,
    AnimationDurationUpdate = 300,
    AnimationEasingUpdate = "cubicOut",
    AnimationDelayUpdate = 0)

Charts.display_plots_grid(
  plot_list,
  cols = 3,
  render = "html")

```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Area_Facet.PNG)


</details>

<br>

## Bar

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Bar(
  dt = data,
  PreAgg = False,
  YVar = 'Daily Liters',
  XVar = 'Date',
  GroupVar = None,
  FacetCols = 1,
  FacetRows = 1,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'sum',
  YVarTrans = "Identity",
  RenderHTML = None,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'dark',
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Bar Plot',
  TitleColor = "lightgray",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = 'Daily Liters',
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = 'Date',
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = 'top',
  LegendPosRight = '0%',
  LegendPosTop = '2%',
  LegendBorderSize = 1,
  LegendTextColor = "#lightgray",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Bar.PNG)


```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Bar(
  dt = data,
  PreAgg = False,
  YVar = 'Daily Liters',
  XVar = 'Date',
  GroupVar = 'Brand',
  FacetCols = 1,
  FacetRows = 1,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'sum',
  YVarTrans = "Identity",
  RenderHTML = None,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'wonderland',
  BackgroundColor = None,
  Width = None,
  Height = None,
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Bar Plot',
  TitleColor = "#fff",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = None,
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = None,
  LegendPosRight = '0%',
  LegendPosTop = '5%',
  LegendBorderSize = 1,
  LegendTextColor = "#fff",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Bar_GroupVar.PNG)


```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Bar(
  dt = data,
  PreAgg = False,
  YVar = 'Daily Liters',
  XVar = 'Date',
  GroupVar = 'Brand',
  FacetCols = 2,
  FacetRows = 2,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'sum',
  YVarTrans = "Identity",
  RenderHTML = None,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'wonderland',
  BackgroundColor = None,
  Width = None,
  Height = None,
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Bar Plot',
  TitleColor = "#fff",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = None,
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = None,
  LegendPosRight = '0%',
  LegendPosTop = '5%',
  LegendBorderSize = 1,
  LegendTextColor = "#fff",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Bar_Facet.PNG)

</details>


<br>


## Bar3D

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Bar3D(
  dt = data,
  PreAgg = False,
  YVar = 'Brand',
  XVar = 'Category',
  ZVar = 'Daily Liters',
  AggMethod = 'mean',
  ZVarTrans = "logmin",
  RenderHTML = None,
  Theme = 'wonderland',
  BarColors = ["#00b8ff", "#0097e1", "#0876b8", "#004fa7", "#012e6d"],
  BackgroundColor = "#000",
  Width = None,
  Height = None,
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Bar3D Plot',
  TitleColor = "#fff",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  Legend = 'top',
  LegendPosRight = '0%',
  LegendPosTop = '5%',
  LegendBorderSize = 1,
  LegendTextColor = "#fff",
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Bar3D.PNG)

</details>


<br>



## Box

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.BoxPlot(
  dt = data,
  SampleSize = 100000,
  YVar = 'Daily Liters',
  GroupVar = 'Brand',
  YVarTrans = "logmin",
  RenderHTML = None,
  Theme = 'dark',
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Box Plot',
  TitleColor = "lightgray",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = None,
  YAxisNameLocation = 'middle',
  YAxisNameGap = 42,
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = 'top',
  LegendPosRight = '0%',
  LegendPosTop = '2%',
  LegendBorderSize = 1,
  LegendTextColor = "lightgray",
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Boxplot.PNG)

</details>


<br>

## Copula

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Copula(
  dt = data,
  SampleSize = 15000,
  YVar = 'Daily Liters',
  XVar = 'Daily Units',
  GroupVar = None,
  FacetRows = 2,
  FacetCols = 2,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'mean',
  RenderHTML = None,
  LineWidth = 2,
  Symbol = "emptyCircle",
  SymbolSize = 6,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'dark',
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Copula Plot',
  TitleColor = "lightgray",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = 'Daily Liters',
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = 'Daily Units',
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = 'top',
  LegendPosRight = '0%',
  LegendPosTop = '2%',
  LegendBorderSize = 1,
  LegendTextColor = "lightgray",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Copula.PNG)


```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Copula(
  dt = data,
  SampleSize = 15000,
  YVar = 'Daily Liters',
  XVar = 'Daily Units',
  GroupVar = 'Brand',
  FacetRows = 1,
  FacetCols = 1,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'mean',
  RenderHTML = None,
  LineWidth = 2,
  Symbol = "emptyCircle",
  SymbolSize = 6,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'wonderland',
  BackgroundColor = None,
  Width = None,
  Height = None,
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Copula Plot',
  TitleColor = "#fff",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = None,
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = None,
  LegendPosRight = '0%',
  LegendPosTop = '5%',
  LegendBorderSize = 1,
  LegendTextColor = "#fff",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Copula_GroupVar.PNG)


```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Copula(
  dt = data,
  SampleSize = 15000,
  YVar = 'Daily Liters',
  XVar = 'Daily Units',
  GroupVar = 'Brand',
  FacetRows = 2,
  FacetCols = 2,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'mean',
  RenderHTML = None,
  LineWidth = 2,
  Symbol = "emptyCircle",
  SymbolSize = 6,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'wonderland',
  BackgroundColor = None,
  Width = None,
  Height = None,
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Copula Plot',
  TitleColor = "#fff",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = None,
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = None,
  LegendPosRight = '0%',
  LegendPosTop = '5%',
  LegendBorderSize = 1,
  LegendTextColor = "#fff",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Copula_Facet.PNG)

</details>


<br>


## Copula3D

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Copula3D(
  dt = data,
  SampleSize = 15000,
  YVar = 'Daily Liters',
  XVar = 'Daily Units',
  ZVar = 'Daily Margin',
  ColorMapVar = "ZVar",
  AggMethod = 'mean',
  RenderHTML = None,
  RangeColor = ["red", "white", "blue"],
  Theme = 'dark',
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Copula3D.PNG)

</details>


<br>

## Density

<details><summary>Click for code example</summary>

```python

# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Density(
  dt = data,
  SampleSize = 500000,
  YVar = "Daily Liters",
  GroupVar = None,
  FacetRows = 2,
  FacetCols = 2,
  FacetLevels = None,
  TimeLine = False,
  YVarTrans = "sqrt",
  RenderHTML = None,
  LineWidth = 2,
  FillOpacity = 0.5,
  Theme = 'dark',
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Density Plot',
  TitleColor = "lightgray",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  XAxisTitle = 'Daily Liters',
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = 'top',
  LegendPosRight = '0%',
  LegendPosTop = '2%',
  LegendBorderSize = 0.25,
  LegendTextColor = "lightgray",
  VerticalLine = 5,
  VerticalLineName = 'Line Name',
  HorizontalLine = 225000,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()

```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Density.PNG)


```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Density(
  dt = data,
  SampleSize = 100000,
  YVar = "Daily Liters",
  GroupVar = 'Brand',
  FacetRows = 2,
  FacetCols = 2,
  FacetLevels = None,
  TimeLine = False,
  YVarTrans = "sqrt",
  RenderHTML = None,
  LineWidth = 2,
  FillOpacity = 0.5,
  Theme = 'wonderland',
  BackgroundColor = None,
  Width = None,
  Height = None,
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Density Plot',
  TitleColor = "#fff",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = None,
  LegendPosRight = '0%',
  LegendPosTop = '5%',
  LegendBorderSize = 1,
  LegendTextColor = "#fff",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Density_Facet.PNG)

</details>

<br>

## Donut

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Donut(
  dt = data,
  PreAgg = False,
  YVar = 'Daily Liters',
  GroupVar = 'Brand',
  AggMethod = 'count',
  YVarTrans = "Identity",
  RenderHTML = None,
  Theme = 'dark',
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  Title = 'Donut Chart',
  TitleColor = "lightgray",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  Legend = 'right',
  LegendPosRight = '5%',
  LegendPosTop = '5%',
  LegendBorderSize = 1,
  LegendTextColor = "lightgray",
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Donut.PNG)

</details>


<br>

## Funnel

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Funnel(
  dt = data,
  CategoryVar = ['Daily Units', 'Daily Revenue', 'Daily Margin', 'Daily Liters'],
  ValuesVar = [100, 80, 60, 40],
  RenderHTML = None,
  SeriesLabel = "Funnel Data",
  SortStyle = 'descending',
  Theme = 'dark',
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  Title = "Funnel",
  TitleColor = "lightgray",
  TitleFontSize = 20,
  Legend = 'top',
  LegendPosRight = '0%',
  LegendPosTop = '2%',
  LegendBorderSize = 0.25,
  LegendTextColor = "lightgray",
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Funnel_Descending.PNG)

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Funnel(
  dt = data,
  CategoryVar = ['Daily Units', 'Daily Revenue', 'Daily Margin', 'Daily Liters'],
  ValuesVar = [100, 80, 60, 40],
  RenderHTML = None,
  SeriesLabel = "Funnel Data",
  SortStyle = 'ascending',
  Theme = 'dark',
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  Title = "Funnel",
  TitleColor = "lightgray",
  TitleFontSize = 20,
  Legend = 'top',
  LegendPosRight = '0%',
  LegendPosTop = '2%',
  LegendBorderSize = 0.25,
  LegendTextColor = "lightgray",
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Funnel_Ascending.PNG)


</details>


<br>



## Heatmap

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Heatmap(
  dt = data,
  PreAgg = False,
  YVar = 'Brand',
  XVar = 'Category',
  MeasureVar = 'Daily Liters',
  AggMethod = 'mean',
  MeasureVarTrans = "Identity",
  RenderHTML = None,
  ShowLabels = False,
  LabelPosition = "top",
  LabelColor = "#fff",
  Theme = 'dark',
  RangeColor = ["#5b5b5b5d", "#00c4ff", "#9cff00"],
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Heatmap',
  TitleColor = "lightgray",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = None,
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = 'top',
  LegendPosRight = '0%',
  LegendPosTop = '2%',
  LegendBorderSize = 0.25,
  LegendTextColor = "lightgray",
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Heatmap.PNG)

</details>


<br>


## Histogram

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Histogram(
  dt = data,
  SampleSize = 100000,
  YVar = "Daily Liters",
  GroupVar = None,
  FacetRows = 2,
  FacetCols = 2,
  FacetLevels = None,
  TimeLine = False,
  YVarTrans = "logmin",
  RenderHTML = True,
  Theme = 'dark',
  CategoryGap = "0%",
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Histogram',
  TitleColor = "lightgray",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  XAxisTitle = "Horray",
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = 'right',
  LegendPosRight = '0%',
  LegendPosTop = '15%',
  LegendBorderSize = 0.25,
  LegendTextColor = "lightgray",
  VerticalLine = 10,
  VerticalLineName = 'Line Name',
  HorizontalLine = 40000,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "elasticOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Histogram.PNG)


```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Histogram(
  dt = data,
  SampleSize = 500000,
  YVar = 'Daily Liters',
  GroupVar = 'Brand',
  FacetRows = 2,
  FacetCols = 2,
  FacetLevels = None,
  TimeLine = False,
  YVarTrans = None,
  RenderHTML = False
  NumberBins = 20,
  CategoryGap = "10%",
  Theme = 'wonderland',
  BackgroundColor = "#000",
  Width = None,
  Height = None,
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Histogram',
  TitleColor = "#fff",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = 'top',
  LegendPosRight = '0%',
  LegendPosTop = '5%',
  LegendBorderSize = 1,
  LegendTextColor = "#fff",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Histogram_Facet.PNG)

</details>

<br>


## Line

<details><summary>Click for code example</summary>

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Line(
  dt = data,
  PreAgg = False,
  YVar = ['Daily Liters', 'Daily Margin', 'Daily Revenue', 'Daily Units'],
  XVar = 'Date',
  GroupVar = None,
  FacetRows = 1,
  FacetCols = 1,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'sum',
  YVarTrans = "Identity",
  RenderHTML = None,
  SmoothLine = True,
  LineWidth = 2,
  Symbol = None,
  SymbolSize = 6,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'dark',
  BackgroundColor = None,
  Width = "1200px",
  Height = "750px",
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Line Plot',
  TitleColor = "lightgray",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = None,
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = 'Date',
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = 'right',
  LegendPosRight = '5%',
  LegendPosTop = '15%',
  LegendBorderSize = 1,
  LegendTextColor = "lightgray",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Line_MultiYVar.PNG)


```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Line(
  dt = data,
  PreAgg = False,
  YVar = 'Daily Liters',
  XVar = 'Date',
  GroupVar = 'Brand',
  FacetRows = 1,
  FacetCols = 1,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'sum',
  YVarTrans = "Identity",
  RenderHTML = None,
  SmoothLine = True,
  LineWidth = 2,
  Symbol = "emptyCircle",
  SymbolSize = 6,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'wonderland',
  BackgroundColor = None,
  Width = None,
  Height = None,
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Line Plot',
  TitleColor = "#fff",
  TitleFontSize = 20,
  SubTitle = None,
  SubTitleColor = "#fff",
  SubTitleFontSize = 12,
  AxisPointerType = 'cross',
  YAxisTitle = None,
  YAxisNameLocation = 'middle',
  YAxisNameGap = 70,
  XAxisTitle = None,
  XAxisNameLocation = 'middle',
  XAxisNameGap = 42,
  Legend = None,
  LegendPosRight = '0%',
  LegendPosTop = '5%',
  LegendBorderSize = 1,
  LegendTextColor = "#fff",
  VerticalLine = None,
  VerticalLineName = 'Line Name',
  HorizontalLine = None,
  HorizontalLineName = 'Line Name',
  AnimationThreshold = 2000,
  AnimationDuration = 1000,
  AnimationEasing = "cubicOut",
  AnimationDelay = 0,
  AnimationDurationUpdate = 300,
  AnimationEasingUpdate = "cubicOut",
  AnimationDelayUpdate = 0)

# Needed to display
p1.load_javascript()

# In new cell
p1.render_notebook()
```

![](https://github.com/AdrianAntico/QuickEcharts/raw/main/QuickEcharts/Images/Line_GroupVar.PNG)

```python
# Environment
import pkg_resources
import polars as pl
from QuickEcharts import Charts
from pyecharts.globals import CurrentConfig, NotebookType 
CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

# Pull Data from Package
FilePath = "..FakeBevData.csv"
data = pl.read_csv(FilePath)

# Create Plot in Jupyter Lab
p1 = Charts.Line(
  dt = data,
  PreAgg = False,
  YVar = 'Daily Liters',
  XVar = 'Date',
  GroupVar = 'Brand',
  FacetRows = 2,
  FacetCols = 2,
  FacetLevels = None,
  TimeLine = False,
  AggMethod = 'sum',
  YVarTrans = "Identity",
  RenderHTML = None,
  SmoothLine = True,
  LineWidth = 2,
  Symbol = "emptyCircle",
  SymbolSize = 6,
  ShowLabels = False,
  LabelPosition = "top",
  Theme = 'wonderland',
  BackgroundColor = None,
  Width = None,
  Height = None,
  ToolBox = True,
  Brush = True,
  DataZoom = True,
  Title = 'Line Plot',
  TitleColor = "#fff",