Plotting Grouped Scalars

Here there are the classes that plot grouped scalars

class plotszoo.scalars.grouped.GroupedScalarsBarchart(data, groups, targets)

Plot a grouped mean barchart from the scalars as well as the mean confidence intervals

Args:
data

plotszoo.data.DataCollection with some scalars

groups

A list of indices to group by

targets

One or a list of targets to plot

Example:

import numpy as np
import pandas as pd
import os
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
import plotszoo

iris = load_iris()
scalars = pd.DataFrame(data= np.c_[iris["data"], iris["target"]], columns=iris["feature_names"] + ["target"])

data = plotszoo.data.DataCollection()
data.set_scalars(scalars)

fig, axes = plt.subplots(2, 2)

yticks_fn = lambda x: iris["target_names"][int(x)]
for feature, ax in zip(iris["feature_names"], axes.flatten()):
    barchart = plotszoo.scalars.grouped.GroupedScalarsBarchart(data, ["target"], feature)
    barchart.plot(ax, title=feature, nbins=20, grid=True, yticks_fn=yticks_fn)

fig.set_size_inches(20, 10)
fig.savefig(os.path.join(os.path.dirname(os.path.realpath(__file__)), "images/GroupedScalarsBarchart_subplots.png"))
_images/GroupedScalarsBarchart_subplots.png
import numpy as np
import pandas as pd
import os
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
import plotszoo

iris = load_iris()
scalars = pd.DataFrame(data= np.c_[iris["data"], iris["target"]], columns=iris["feature_names"] + ["target"])

data = plotszoo.data.DataCollection()
data.set_scalars(scalars)

fig, ax = plt.subplots()

yticks_fn = lambda x: iris["target_names"][int(x)]

barchart = plotszoo.scalars.grouped.GroupedScalarsBarchart(data, ["target"], iris["feature_names"])
barchart.plot(ax, title="Iris", nbins=20, grid=True, yticks_fn=yticks_fn)

fig.set_size_inches(20, 10)
fig.savefig(os.path.join(os.path.dirname(os.path.realpath(__file__)), "images/GroupedScalarsBarchart.png"))
_images/GroupedScalarsBarchart.png
plot(ax, title=None, nbins=10, grid=False, yticks_fn=None, legend=None)

Plot the grouped mean barchart

Args:
ax

matplotlib ax to plot to

title

The title of the plot (Default: None)

nbins

Number of ticks in the x axis (Default: 10)

grid

Show vertical grid lines (Default: False)

yticks_fn

A function to convert each index to text (Default: None)

legend

Plot the legend (Default: auto)

Returns:

Grouped scalars pandas DataFrame