the formula definition of the plot is treated as a composition of patsy formulas
completed the formula interpretation, inserted the subset slicing of the dataframe
refactored the main function removing the code duplication and confusion
extended the code comments
use the violin plot instead of the boxplot when the exog is categorical
added the ellipse to the scatterplot