%matplotlib inline
A function to plot step plots of cumulative counts.
from mlxtend.general_plotting import category_scatter
In enrichment plots, the y-axis can be interpreted as "how many samples are less or equal to the corresponding x-axis label."
import pandas as pd
s1 = [1.1, 1.5]
s2 = [2.1, 1.8]
s3 = [3.1, 2.1]
s4 = [3.9, 2.5]
data = [s1, s2, s3, s4]
df = pd.DataFrame(data, columns=['X1', 'X2'])
df
X1 | X2 | |
---|---|---|
0 | 1.1 | 1.5 |
1 | 2.1 | 1.8 |
2 | 3.1 | 2.1 |
3 | 3.9 | 2.5 |
Plotting the data where the categories are determined by the unique values in the label column label_col
. The x
and y
values are simply the column names of the DataFrame that we want to plot.
import matplotlib.pyplot as plt
from mlxtend.plotting import enrichment_plot
ax = enrichment_plot(df, legend_loc='upper left')
with open('../../api_modules/mlxtend.plotting/enrichment_plot.md', 'r') as f:
print(f.read())
## enrichment_plot *enrichment_plot(df, colors='bgrkcy', markers=' ', linestyles='-', alpha=0.5, lw=2, where='post', grid=True, count_label='Count', xlim='auto', ylim='auto', invert_axes=False, legend_loc='best', ax=None)* Plot stacked barplots **Parameters** - `df` : pandas.DataFrame A pandas DataFrame where columns represent the different categories. colors: str (default: 'bgrcky') The colors of the bars. - `markers` : str (default: ' ') Matplotlib markerstyles, e.g, 'sov' for square,circle, and triangle markers. - `linestyles` : str (default: '-') Matplotlib linestyles, e.g., '-,--' to cycle normal and dashed lines. Note that the different linestyles need to be separated by commas. - `alpha` : float (default: 0.5) Transparency level from 0.0 to 1.0. - `lw` : int or float (default: 2) Linewidth parameter. - `where` : {'post', 'pre', 'mid'} (default: 'post') Starting location of the steps. - `grid` : bool (default: `True`) Plots a grid if True. - `count_label` : str (default: 'Count') Label for the "Count"-axis. - `xlim` : 'auto' or array-like [min, max] (default: 'auto') Min and maximum position of the x-axis range. - `ylim` : 'auto' or array-like [min, max] (default: 'auto') Min and maximum position of the y-axis range. - `invert_axes` : bool (default: False) Plots count on the x-axis if True. - `legend_loc` : str (default: 'best') Location of the plot legend {best, upper left, upper right, lower left, lower right} No legend if legend_loc=False - `ax` : matplotlib axis, optional (default: None) Use this axis for plotting or make a new one otherwise **Returns** - `ax` : matplotlib axis