{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Plot Interaction of Categorical Factors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this example, we will visualize the interaction between categorical factors. First, we will create some categorical data. Then, we will plot it using the interaction_plot function, which internally re-codes the x-factor categories to integers." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-07-29T11:30:40.871873Z", "iopub.status.busy": "2026-07-29T11:30:40.871654Z", "iopub.status.idle": "2026-07-29T11:30:42.947480Z", "shell.execute_reply": "2026-07-29T11:30:42.945777Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "\n", "from statsmodels.graphics.factorplots import interaction_plot" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-07-29T11:30:42.950269Z", "iopub.status.busy": "2026-07-29T11:30:42.949760Z", "iopub.status.idle": "2026-07-29T11:30:42.961144Z", "shell.execute_reply": "2026-07-29T11:30:42.959767Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "np.random.seed(12345)\n", "weight = pd.Series(np.repeat([\"low\", \"hi\", \"low\", \"hi\"], 15), name=\"weight\")\n", "nutrition = pd.Series(np.repeat([\"lo_carb\", \"hi_carb\"], 30), name=\"nutrition\")\n", "days = np.log(np.random.randint(1, 30, size=60))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-07-29T11:30:42.964161Z", "iopub.status.busy": "2026-07-29T11:30:42.963233Z", "iopub.status.idle": "2026-07-29T11:30:43.335024Z", "shell.execute_reply": "2026-07-29T11:30:43.327866Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(6, 6))\n", "fig = interaction_plot(\n", " x=weight,\n", " trace=nutrition,\n", " response=days,\n", " colors=[\"red\", \"blue\"],\n", " markers=[\"D\", \"^\"],\n", " ms=10,\n", " ax=ax,\n", ")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.14.6" } }, "nbformat": 4, "nbformat_minor": 4 }