{ "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": { "execution": { "iopub.execute_input": "2023-12-14T14:41:42.759146Z", "iopub.status.busy": "2023-12-14T14:41:42.758888Z", "iopub.status.idle": "2023-12-14T14:41:45.210032Z", "shell.execute_reply": "2023-12-14T14:41:45.209202Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "from statsmodels.graphics.factorplots import interaction_plot" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2023-12-14T14:41:45.213818Z", "iopub.status.busy": "2023-12-14T14:41:45.213141Z", "iopub.status.idle": "2023-12-14T14:41:45.222170Z", "shell.execute_reply": "2023-12-14T14:41:45.221422Z" }, "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": { "execution": { "iopub.execute_input": "2023-12-14T14:41:45.227262Z", "iopub.status.busy": "2023-12-14T14:41:45.225602Z", "iopub.status.idle": "2023-12-14T14:41:45.670294Z", "shell.execute_reply": "2023-12-14T14:41:45.669426Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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ycnWfIEKIGBYLDExscx2fHy89u7da1E1AIDqsGnTJgUFBenSSy8tee+ss87S+eefr02bNkmSkpOT9f3332vfvn3KyspSSkpKScAoKirSV199pZSUFIu+wZkRMCwWHBxcZttms8lut1tUDQDAW7Rt21YxMTHKysoqEzCysrK0atUqFRUVqVOnTlaXeUoEDAAAqlmrVq10/PhxrVy5suS9P/74Qzk5OWrdurUk8w/Orl27as6cOdq4caO6dOmixMREHTt2TP/617/UoUMH1apVy6qvcEYEDAAAqlmLFi3Uv39/3XvvvcrOztb69et12223qVGjRurfv3/JfikpKfrwww914YUXqnbt2goICFC3bt30wQcfePX4C4mAAQCAJaZOnar27dvrqquuUseOHeVwOPTZZ5+V6TpPTk5WcXFxmbEWKSkpJ73njbhdOwAAcDtaMAAAgNsRMAAAgNsRMAAAgNsRMAAAgNsRMAAAgNsRMAAAgNsRMAAAgNsRMAB4hSZNmujll1+u8P47duyQzWbTunXrPFYTgMojYADwCqtWrdJ9993n1nNOmzZNderUces5AVRMkNUFAIAk1a9f3+oSALgRLRgAKmXevHmqU6eOiouLJUnr1q2TzWbT6NGjS/a55557dNttt0mSsrOz1bVrV4WHhyshIUHDhg3ToUOHSvb9cxfJ5s2b1aVLF4WFhal169ZatGiRbDabZs+eXaaOH3/8Ud27d1dERITatWun5cuXS5IyMzN15513Ki8vTzabTTabTc8884xnfhkATkLAAFApXbt21cGDB7V27VpJUlZWlurVq6fMzMySfbKyspSSkqJt27bpiiuu0PXXX69vv/1WH330kbKzs5WWllbuuYuLizVgwABFRERo5cqVeuONNzRmzJhy9x0zZoxGjhypdevW6bzzztMtt9yi48ePq1OnTnr55ZcVFRWl3bt3a/fu3Ro5cqTbfw8AykfAAFAp0dHRuvDCC0sCRWZmph566CGtXbtWBQUF+uWXX7R161YlJycrPT1dgwYN0ogRI9SiRQt16tRJr776qt59910dPXr0pHMvXLhQ27Zt07vvvqt27dqpS5cueu6558qtY+TIkbryyit13nnnady4cfrpp5+0detWhYSEKDo6WjabTXFxcYqLi1Pt2rU9+SsBcAICBoBKS05OVmZmphwOh7788ktdd911atWqlbKzs5WVlaWGDRuqRYsWWr9+vaZNm6batWuXPPr06SO73a7t27efdN6cnBwlJCQoLi6u5L1LLrmk3BoSExNLXsfHx0uS9u7d6+ZvCsBVDPIEUGkpKSl6++23tX79egUHB6tly5ZKSUlRZmamDhw4oOTkZElSQUGB/vKXv2jYsGEnnePss8+uUg3BwcElr202myTJbrdX6ZwAqo6AAaDSnOMwXnrppZIwkZKSookTJ+rAgQN65JFHJEkXX3yxvv/+ezVv3rxC5z3//PO1a9cu/fbbb2rQoIEkM43VVSEhISWDUAFUL7pIAFRa3bp1lZiYqA8++EApKSmSpG7duumbb77RDz/8UBI6HnvsMX311VdKS0vTunXrtGXLFs2ZM+eUgzx79eqlZs2a6Y477tC3336rZcuW6cknn5RU2kpREU2aNFFBQYEWL16s33//XYcPH67aFwZQYQQMAFWSnJys4uLikoARExOj1q1bKy4uTueff74kM04iKytLP/zwg7p27aqLLrpITz/9tBo2bFjuOQMDAzV79mwVFBQoKSlJ99xzT8kskrCwsArX1qlTJ91///0aOHCg6tevr0mTJlXtywKoMJvD4XBYXQQAnMmyZcvUpUsXbd26Vc2aNbO6HABnQMAA4JVmzZql2rVrq0WLFtq6dauGDx+uunXrKjs72+rSAFQAgzwBeKWDBw/qscce086dO1WvXj317NlTf/vb36wuC0AF0YIBAADcjkGeAADA7QgYAADA7QgYAADA7QgYAADA7QgYAADA7QgYAADA7QgYAADA7QgYAADA7QgYAADA7f4fA/lAtc77V48AAAAASUVORK5CYII=", "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", "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.10.13" } }, "nbformat": 4, "nbformat_minor": 4 }