statsmodels.graphics.factorplots.interaction_plot¶
-
statsmodels.graphics.factorplots.interaction_plot(x, trace, response, func=
'mean', ax=None, plottype='b', xlabel=None, ylabel=None, colors=None, markers=None, linestyles=None, legendloc='best', legendtitle=None, **kwargs)[source]¶ Interaction plot for factor level statistics.
Note. If categorial factors are supplied levels will be internally recoded to integers. This ensures matplotlib compatibility. Uses a DataFrame to calculate an aggregate statistic for each level of the factor or group given by trace.
- Parameters:¶
- x : array_like¶
The x factor levels constitute the x-axis. If a pandas.Series is given its name will be used in xlabel if xlabel is None.
- trace : array_like¶
The trace factor levels will be drawn as lines in the plot. If trace is a pandas.Series its name will be used as the legendtitle if legendtitle is None.
- response : array_like¶
The reponse or dependent variable. If a pandas.Series is given its name will be used in ylabel if ylabel is None.
- func : function¶
Anything accepted by pandas.DataFrame.aggregate. This is applied to the response variable grouped by the trace levels.
- ax : axes, optional¶
Matplotlib axes instance
- plottype : str {'line', 'scatter', 'both'}, optional¶
The type of plot to return. Can be ‘l’, ‘s’, or ‘b’
- xlabel : str, optional¶
Label to use for x. Default is ‘X’. If x is a pandas.Series it will use the series names.
- ylabel : str, optional¶
Label to use for response. Default is ‘func of response’. If response is a pandas.Series it will use the series names.
- colors : list, optional¶
If given, must have length == number of levels in trace.
- markers : list, optional¶
If given, must have length == number of levels in trace
- linestyles : list, optional¶
If given, must have length == number of levels in trace.
- legendloc : {None, str, int}¶
Location passed to the legend command.
- legendtitle : {None, str}¶
Title of the legend.
- **kwargs¶
These will be passed to the plot command used either plot or scatter. If you want to control the overall plotting options, use kwargs.
- Returns:¶
The figure given by ax.figure or a new instance.
- Return type:¶
Figure
Examples
>>> import numpy as np >>> np.random.seed(12345) >>> weight = np.random.randint(1,4,size=60) >>> duration = np.random.randint(1,3,size=60) >>> days = np.log(np.random.randint(1,30, size=60)) >>> fig = interaction_plot(weight, duration, days, ... colors=['red','blue'], markers=['D','^'], ms=10) >>> import matplotlib.pyplot as plt >>> plt.show()(
Source code,png,hires.png,pdf)