{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Plotting behavorial data generated by OpenSesame" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the data wrangling tutorial we covered how to import and manipulate a dataframe. We also saw some ways to get an idea how your data looks like by grouping the data. In this tutorial we will go a step further by also visualizing the data. Therefore, we will use python's most widely used visualization package: [matplotlib](https://matplotlib.org/). Let's first load the data. We will use the same data as in the data wrangling tutorial." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": " subject_nr block session congruency_transition_type congruency_type \\\n0 1 1 lowswitch NaN incongruent \n1 1 1 lowswitch congruency-switch congruent \n2 1 1 lowswitch congruency-repetition congruent \n3 1 1 lowswitch congruency-switch incongruent \n4 1 1 lowswitch congruency-repetition incongruent \n5 1 1 lowswitch congruency-repetition incongruent \n6 1 1 lowswitch congruency-repetition incongruent \n7 1 1 lowswitch congruency-switch congruent \n8 1 1 lowswitch congruency-repetition congruent \n9 1 1 lowswitch congruency-repetition congruent \n\n correct response_time task_transition_type task_type response \n0 0 1483 NaN parity None \n1 1 707 task-switch magnitude a \n2 1 856 task-switch parity a \n3 1 868 task-repetition parity a \n4 1 1079 task-switch magnitude a \n5 1 819 task-repetition magnitude a \n6 0 1481 task-switch parity None \n7 0 1483 task-repetition parity None \n8 1 805 task-repetition parity a \n9 1 848 task-repetition parity a ", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
subject_nrblocksessioncongruency_transition_typecongruency_typecorrectresponse_timetask_transition_typetask_typeresponse
011lowswitchNaNincongruent01483NaNparityNone
111lowswitchcongruency-switchcongruent1707task-switchmagnitudea
211lowswitchcongruency-repetitioncongruent1856task-switchparitya
311lowswitchcongruency-switchincongruent1868task-repetitionparitya
411lowswitchcongruency-repetitionincongruent11079task-switchmagnitudea
511lowswitchcongruency-repetitionincongruent1819task-repetitionmagnitudea
611lowswitchcongruency-repetitionincongruent01481task-switchparityNone
711lowswitchcongruency-switchcongruent01483task-repetitionparityNone
811lowswitchcongruency-repetitioncongruent1805task-repetitionparitya
911lowswitchcongruency-repetitioncongruent1848task-repetitionparitya
\n
" }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from jupyterquiz import display_quiz\n", "\n", "# Import cleaned dataframe from the data wrangling module\n", "df = pd.read_csv('data/df_cleaned.csv')\n", "\n", "# Print first 10 rows of the dataframe\n", "df.head(10)" ] }, { "cell_type": "code", "execution_count": 9, "outputs": [], "source": [ "plt.style.use('default')" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "As you learned in the Python Lessons, there are three ways of using matplotlib: the seaborn way (quick, beautiful but limited options), the procedural way (also quick but a bit less rigid) and the object-oriented way (slowest but most flexible). Let's visualize switch costs using these three methods whilst minimizing the amount of code we use, so we can compare them:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 11, "outputs": [ { "data": { "text/plain": "" }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": "
", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkoAAAGwCAYAAABWwkp7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACor0lEQVR4nOzdeXyU1dn/8c/sWyaTTPadHWRR2VywVawoLqiIFdD2UdSqj7a2uNXan7aorVZbbbWbtrbgg1Wgbq07qAVrobIjm+wkgSSEbLNklnuW+/fHnQwJBAiQZZJc79drXpDJncnJEDLfnHOdc+lUVVURQgghhBBH0Hf3AIQQQgghkpUEJSGEEEKIo5CgJIQQQghxFBKUhBBCCCGOQoKSEEIIIcRRSFASQgghhDgKCUpCCCGEEEdh7O4BJIN4PE5FRQVOpxOdTtfdwxFCCCFEO6iqis/nIz8/H72+c+Z+JCgBFRUVFBUVdfcwhBBCCHESysvLKSws7JTHlqAEOJ1OQHuiU1NTu3k0QgghhGgPr9dLUVFR4nW8M0hQgsRyW2pqqgQlIYQQoofpzLIZKeYWQgghhDgKCUpCCCGEEEchQUkIIYQQ4iikRkkIIUSHicViRCKR7h6G6CVMJhMGg6FbxyBBSQghxClTVZWqqioaGhq6eyiil0lLSyM3N7fbzjmUoCSEEOKUNYek7Oxs7Ha7HN4rTpmqqgQCAaqrqwHIy8vrlnFIUBJCCHFKYrFYIiRlZGR093BEL2Kz2QCorq4mOzu7W5bhpJhbCCHEKWmuSbLb7d08EtEbNX9fdVftmwQlIYQQHUKW20Rn6O7vKwlKQgghhBBHIUFJCCGEEOIoJCgJIYToUebMmcOZZ57Z3cPoELNmzWLq1KnHvGbp0qXodDo5eqGbSFASQgjRqSZOnMjs2bO7exgAzJs3j7S0tO4eRsJzzz3HvHnzEm+39VxNmDCByspKXC5Xl4xp79696HQ61q9f3yWfL9nJ8QCdLBZXicVVzEbJpEII0VMoioLZbO70z9Oe8GM2m8nNze30sYi2yat3JzvgDbG2rJ599QEisXh3D0cIIbrUrFmzWLZsGc899xw6nQ6dTseuXbu49dZb6d+/PzabjaFDh/Lcc8+1+rilS5dy1lln4XA4SEtL47zzzqO0tLTNz7Fnzx4GDRrEnXfeSTx+9J+zS5cu5eabb8bj8STGMmfOHAD69evHz372M2bNmoXL5eK2224D4MEHH2TIkCHY7XYGDBjAI4880mqbevMy4Pz58+nXrx8ul4uZM2fi8/kS17z++uuMGjUKm81GRkYGkyZNorGxMfH8NC+9tfVc7d27t82ltzfeeIMRI0ZgsVjo168fzzzzTKuvtV+/fjzxxBPccsstOJ1OiouL+dOf/nTsf6wm/fv3B2D06NHodDomTpzIZ599hslkoqqqqtW19913H+effz5waLbu7bffZsiQIVitVi6++GLKy8tbfcw777zD2LFjsVqtDBgwgEcffZRoNNqusXULVagej0cFVI/H0+GPXV7XqL6zfr/64aYKdeWeWrXKE1RjsXiHfx4hhOguwWBQ3bJlixoMBo94X0NDg3ruueeqt912m1pZWalWVlaqoVBI/clPfqKuXLlS3b17t/rKK6+odrtdXbhwoaqqqhqJRFSXy6Xef//96s6dO9UtW7ao8+bNU0tLS1VVVdWf/vSn6hlnnKGqqqpu3LhRzcvLU3/0ox8dd5zhcFj9zW9+o6ampibG4vP5VFVV1ZKSEjU1NVX95S9/qe7YsUPdsWOHqqqq+vjjj6v/+c9/1D179qj//Oc/1ZycHPWpp55KPOZPf/pTNSUlRZ02bZq6ceNG9bPPPlNzc3PVH//4x6qqqmpFRYVqNBrVZ599Vt2zZ4/65Zdfqr///e8Tn/emm25Sr7766qM+V9FoVP3Xv/6lAmp9fb2qqqq6evVqVa/Xq4899pi6bds2de7cuarNZlPnzp2bGFdJSYnqdrvV3//+9+qOHTvUJ598UtXr9erWrVuP+zytXLlSBdSPP/5YraysVGtra1VVVdUhQ4aoTz/9dOK6SCSiZmdnq3/9619VVVXVuXPnqiaTSR03bpy6fPlydfXq1epZZ52lTpgwIfExH374oZqamqrOmzdP3bVrl7p48WK1X79+6pw5c446nmN9f3Xm63czCUpq5welDzdWqutK69V/bT2gfrSpUl1fVq/W+EJqPC6BSQjR8x3rhUxVVfWCCy5Qf/CDHxzzMe666y712muvVVVVVWtra1VAXbp0aZvXNgel5cuXq263W/3lL3/Z7rHOnTtXdblcR9xfUlKiTp069bgf//TTT6tjx45tNRa73a56vd7EfQ888IB69tlnq6qqqmvWrFEBde/evW0+XsugpKptP1eHB6UbbrhBvfjii1td88ADD6jDhw9v9fV8+9vfTrwdj8fV7Oxs9Y9//ONxv8Y9e/aogLpu3bpW9z/11FPqaaedlnj77bffVlNSUlS/36+qqvbcAup///vfxDVbt25VAfWLL75QVVVVv/71r6tPPPFEq8edP3++mpeXd9TxdHdQkqW3LmLQ68hIsZCZYqHGH2ZdeQNbK714gtJlWwjR97zwwguMGzeOrKwsUlJS+POf/0xZWRkAbrebWbNmMXnyZK688kqee+45KisrW318WVkZkyZN4uGHH+b+++/vkDGNGzfuiPtef/11vva1r5Gbm0tKSgqPPPJIYpzN+vXrh9PpTLydl5eX6E92xhlncNFFFzFq1Ciuu+46/vznP1NfX39K49y6dSvnnXdeq/vOO+88duzYQSwWS9x3+umnJ/6u0+nIzc1NjOtkzJo1i507d/Lf//4XgL/+9a9Mnz4dh8ORuMZoNLZ6HocNG0ZaWhpbt24FYM2aNTz22GOkpKQkbrfddhuVlZUEAoGTHltnkqDUxUwGPdlOKy6rifK6IOvK6tlxwEdASeL1WSGE6ECLFi3innvu4ZZbbmHx4sWsX7+em2++GUVREtfMnTuXFStWMGHCBBYuXMiQIUMSL9AAWVlZnHXWWSxYsACv19sh42r5gg/w3//+l5kzZ3LZZZfx7rvvsm7dOv7f//t/rcYJYDKZWr2t0+kStVIGg4ElS5bwwQcfMHz4cH77298ydOhQ9uzZc9LjVFX1iNOqVVU94rpjjetkZGdnc+WVVzJ37lyqq6t5//33ueWWW464rq2TtJvvi8fjPProo6xfvz5x27hxIzt27MBqtZ702DqTBKVuYjUZyE+zYTMZ2FXtZ21pPaW1jYSjseN/sBBC9CBms7nVTMe///1vJkyYwF133cXo0aMZNGgQu3btOuLjRo8ezUMPPcTy5csZOXIkr776auJ9NpuNd999F6vVyuTJk1sVT5/IWI7lP//5DyUlJfy///f/GDduHIMHDz5qQfmx6HQ6zjvvPB599FHWrVuH2WzmrbfeOunxDR8+nM8//7zVfcuXL2fIkCEd0jS2ebdfW+P4zne+w4IFC3jxxRcZOHDgETNb0WiU1atXJ97etm0bDQ0NDBs2DIAxY8awbds2Bg0adMRNr0/OSJKco+pD7GYj+Wk2dOjYWullXVkDFQ1BorJDTgjRS/Tr148vvviCvXv3UlNTw6BBg1i9ejUfffQR27dv55FHHmHVqlWJ6/fs2cNDDz3EihUrKC0tZfHixWzfvp3TTjut1eM6HA7ee+89jEYjl112GX6/v11j8fv9fPLJJ9TU1BxzuWfQoEGUlZWxYMECdu3axfPPP3/UgHM0X3zxBU888QSrV6+mrKyMN998k4MHDx7xtbQcX8vnqq0ZoPvuu49PPvmExx9/nO3bt/Pyyy/zu9/9rsOWILOzs7HZbHz44YccOHAAj8eTeN/kyZNxuVz87Gc/4+abbz7iY00mE3fffTdffPEFa9eu5eabb+acc87hrLPOAuAnP/kJ//d//8ecOXPYvHkzW7duZeHChTz88MMdMvbOIEEpCeh0OlJtJvJcNpRInI37PWzY10C1L0Q8fuR0qhBC9CT3338/BoOB4cOHk5WVxaWXXsq0adOYMWMGZ599NrW1tdx1112J6+12O1999RXXXnstQ4YM4fbbb+d73/sed9xxxxGPnZKSwgcffICqqlx++eWJbfdHM2HCBP73f/+XGTNmkJWVxdNPP33Ua6+++mruuecevve973HmmWeyfPlyHnnkkRP62lNTU/nss8+4/PLLGTJkCA8//DDPPPMMl112WZvXH/5cHV4PBdqszKJFi1iwYAEjR47kJz/5CY899hizZs06obEdjdFo5Pnnn+fFF18kPz+fq6++OvE+vV7PrFmziMVi3HjjjUd8rN1u58EHH+SGG27g3HPPxWazsWDBgsT7J0+ezLvvvsuSJUsYP34855xzDs8++ywlJSUdMvbOoFPbWtjsY7xeLy6XC4/HQ2pqaoc+9r76AJv3e8lPs7X7Y2JxlbpGhZiqkpNqoSjdTrqj8w8+E0KIkxEKhdizZw/9+/dP2joT0XFuu+02Dhw4wD//+c9W98+bN4/Zs2d3eKuVY31/debrdzM5mTsJGfQ6spwWIrE41d4wNf4w+S4bBek2nFbT8R9ACCGE6GAej4dVq1bxt7/9jX/84x/dPZwuI0tvScxk0JOTasVpMVFa18jasnp2VfsJRaTgWwgh2nLZZZe12nre8vbEE0909/CSwhNPPHHU5+hoS4KgLUVeddVV3HHHHVx88cVdOOLuJUtvJN/S29H4w1E8QQWn1USx205OqlV6yAkhul0yLb3t37+fYDDY5vvcbjdut7uLR5R86urqqKura/N9NpuNgoKCLh7RscnSm2i3FIsRh9mANxRlc4WHSk+QYreDLKcFg/7IcyuEEKKvSbYX+WQkgfHESFDqYXQ6HS6biRSLkYaAwpf7GshyWihy28lwmNs86EsIIYQQJ0eCUg/V3BIlGotT51eo9SvkuqwUpdtx2aXgWwghhOgIEpR6OKNBT3aqlXA0RkVDkBpfmPw0bYecwyL/vEIIIcSpkFfSXsJiNJDnshFQouyuaeSAL0RRuo1clw2r6dSPtBdCCCH6IglKvYzdbMRuNuILRfiqyk+VJ0xRhp1spwWTQXbICSGEECdCXjl7KafVRJ7LihKLs3Gfhw3lDVR7pSWKEEJ0pjlz5nDmmWd22+fX6XS8/fbb3f4YvUm3ByWfz8fs2bMpKSnBZrMxYcKEVs0RZ82ahU6na3U755xzWj1GOBzm7rvvJjMzE4fDwVVXXcW+ffu6+ktJOnqdjnS7mdxUK75QlA37Gti430Ndo4IcnyWEEDBx4kRmz57d3cPoMJWVlYlDI/fu3YtOp2P9+vXdO6gertuD0ne+8x2WLFnC/Pnz2bhxI5dccgmTJk1i//79iWsuvfRSKisrE7f333+/1WPMnj2bt956iwULFvD555/j9/uZMmUKsZicYA3aDrnMFAsZDgsHfWHWldeztcqLNxTp7qEJIYToQLm5uVgslu4eRq/SrUEpGAzyxhtv8PTTT3P++eczaNAg5syZQ//+/fnjH/+YuM5isZCbm5u4tTwoy+Px8Je//IVnnnmGSZMmMXr0aF555RU2btzIxx9/3B1fVtJqbomSajFRXhtkXWk9O6t9BBUJlEKIjqWqKgEl2i239s6Yz5o1i2XLlvHcc88lVix27drFrbfeSv/+/bHZbAwdOpTnnnuu1cctXbqUs846C4fDQVpaGueddx6lpaVtfo49e/YwaNAg7rzzTuLxeJvXbNiwgQsvvBCn00lqaipjx45l9erVqKpKVlYWb7zxRuLaM888k+zs7MTbK1aswGQy4ff7gdbLZv379wdg9OjR6HQ6Jk6cmPi4v/71r4wYMQKLxUJeXh7f+973Wo2ppqaGa665BrvdzuDBg49ogNuXdGsxdzQaJRaLHXEkuc1m4/PPP0+8vXTpUrKzs0lLS+OCCy7g5z//eeIbZc2aNUQiES655JLE9fn5+YwcOZLly5czefLkIz5vOBwmHA4n3vZ6vR39pSU1q8lAfpqNxnCUndV+qrxhipt2yElLFCFERwhGYgz/yUfd8rm3PDYZu/n4L2/PPfcc27dvZ+TIkTz22GMApKenU1hYyKJFi8jMzGT58uXcfvvt5OXlMX36dKLRKFOnTuW2227jtddeQ1EUVq5c2eZhv5s2beKSSy7hpptu4sknnzzqOL71rW8xevRo/vjHP2IwGFi/fj0mkwmdTsf555/P0qVLufbaa6mvr2fLli04HA62bNnC8OHDWbp0KWPHjiUlJeWIx125ciVnnXUWH3/8MSNGjMBsNgPwxz/+kXvvvZdf/OIXXHbZZXg8Hv7zn/+0+thHH32Up59+ml/+8pf89re/5Vvf+halpaV98kTvbg1KTqeTc889l8cff5zTTjuNnJwcXnvtNb744gsGDx4MaA0Or7vuOkpKStizZw+PPPII3/jGN1izZg0Wi4WqqirMZjPp6emtHjsnJ4eqqqo2P++TTz7Jo48+2ulfX7JzWIzYm1qibKn0UuEJUZJhJyvFglF2yAkhejmXy4XZbMZut5Obm5u4v+XrQ//+/Vm+fDmLFi1i+vTpeL1ePB4PU6ZMYeDAgQCcdtppRzz2ihUrmDJlCg899BD333//McdRVlbGAw88wLBhwwASr3+g1VD96U9/AuCzzz7jjDPOoLi4mKVLlyaCUsuZopaysrIAyMjIaPX1/exnP+O+++7jBz/4QeK+8ePHt/rYWbNmcf311wNaE93f/va3rFy5kksvvfSYX0tv1O3HA8yfP59bbrmFgoICDAYDY8aM4YYbbmDt2rUAzJgxI3HtyJEjGTduHCUlJbz33ntMmzbtqI+rqupR23k89NBD3HvvvYm3vV4vRUVFHfQV9SzNLVGcViMNgQhfljeQ6bRQ7HaQmSItUYQQJ8dmMrDlsSNn9Lvqc5+KF154gZdeeonS0lKCwSCKoiR2srndbmbNmsXkyZO5+OKLmTRpEtOnTycvLy/x8WVlZUyaNImf/exn3HPPPa0eu+XMz7e//W1eeOEF7r33Xr7zne8wf/58Jk2axHXXXZcIYRMnTuQHP/gBNTU1LFu2jIkTJ1JcXMyyZcu4/fbbWb58+QkVo1dXV1NRUcFFF110zOtOP/30xN8dDgdOp5Pq6up2f57epNunDQYOHMiyZcvw+/2Ul5ezcuVKIpFIYm31cHl5eZSUlLBjxw5AK1xTFIX6+vpW11VXV5OTk9PmY1gsFlJTU1vd+jq9TofbYSbbaaUhEGF9ubZDriGgdPfQhBA9kE6nS5zr1tW3U/kFb9GiRdxzzz3ccsstLF68mPXr13PzzTejKId+Fs6dO5cVK1YwYcIEFi5cyJAhQ/jvf/+beH9WVhZnnXUWCxYsOKK0Y/369Ylb83LfnDlz2Lx5M1dccQWffvopw4cP56233gK0CYKMjAyWLVuWCEoXXHABy5YtY9WqVQSDQb72ta+1++uz2Wztus5kat0KS6fTHbXGqrfr9qDUzOFwkJeXR319PR999BFXX311m9fV1tZSXl6eSO9jx47FZDKxZMmSxDWVlZVs2rSJCRMmdMnYexOjQU+204rbbuaAN8S6snq+qvTiD0e7e2hCCNHhzGZzqx3S//73v5kwYQJ33XUXo0ePZtCgQezateuIjxs9ejQPPfQQy5cvZ+TIkbz66quJ99lsNt59912sViuTJ0/G5/Ml3jdo0KDErWVR9pAhQ7jnnntYvHgx06ZNY+7cuQCJOqV//OMfbNq0ia9//euMGjWKSCTCCy+8wJgxY3A6nUf92oBWX5/T6aRfv3588sknJ/mM9T3dHpQ++ugjPvzwQ/bs2cOSJUu48MILGTp0KDfffDN+v5/777+fFStWsHfvXpYuXcqVV15JZmYm11xzDaCtMd96663cd999fPLJJ6xbt45vf/vbjBo1ikmTJnXzV9dzmY16clNtOMwm9tY2sqa0jt0H/YQiskNOCNF79OvXjy+++IK9e/dSU1PDoEGDWL16NR999BHbt2/nkUceaXW23549e3jooYdYsWIFpaWlLF68mO3btx9Rp+RwOHjvvfcwGo1cdtlliV1phwsGg3zve99j6dKllJaW8p///IdVq1a1eryJEyfy6quvcvrpp5OampoIT3/729+OWp8EkJ2djc1m48MPP+TAgQN4PB5Am8F65plneP7559mxYwdr167lt7/97Sk8i71btwclj8fDd7/7XYYNG8aNN97I1772NRYvXozJZMJgMLBx40auvvpqhgwZwk033cSQIUNYsWJFqwT961//mqlTpzJ9+nTOO+887HY777zzDgaD9Dg7VTazgYI0O2a9ge0HfKwtrWdffYBIrG9OwQohepf7778fg8HA8OHDycrK4tJLL2XatGnMmDGDs88+m9raWu66667E9Xa7na+++oprr72WIUOGcPvtt/O9732PO+6444jHTklJ4YMPPkBVVS6//HIaGxuPuMZgMFBbW8uNN97IkCFDmD59OpdddlmrgvILL7yQWCzWKhRdcMEFxGIxLrjggqN+bUajkeeff54XX3yR/Pz8xErNTTfdxG9+8xv+8Ic/MGLECKZMmZIoZxFH0qlyRDNerxeXy4XH4+nweqV99QE27/eSn9a+deFkpqoqnmCEQCSK22Gh2G0nM8WCQS8F30L0ZaFQiD179tC/f/8jjnsR4lQd6/urM1+/m3X7rjfRc+h0OtLsZpxxEw0BhQ3lDWQ7LRS57bgdskNOCCFE7yNBSZwwg15HRoqFSCxOjV+hxq+Qn2alIN2Oy2Y6/gMIIYQQPYQEJXHSmluihKMxyuuDVHvDFKTbKEi3tetUXCGEECLZyauZOGUWo4F8l42AEmVXtZ8qb4hit51clxWLUQrqhRBC9FwSlESHsZuN2EwGfKEoWyt9VDaEKM6wk+2UlihCCCF6JglKokPpdDpSbSZSrEY8gQgb93vIcJgpzrCT6bCglx1yQgghehAJSqJT6HU60h1mUuMqdY3NO+SsFLvtpNlNskNOCCFEjyBBSXQqg15HllPbIXfQF6amMUy+y0phuh2nVXbICSGESG4SlESXaN4hF4rEKKsLUO0NU5huJz/Nhs0sBd9CCCGSk1TYii5lNRnId9kxGw3sqPaxpqye8roASlRaoggher45c+Zw5plndvcwTtmsWbOYOnXqMa9ZunQpOp2OhoaGLhlTd5GgJLpFisVIvssGKmyu8LC2rJ4qT4hYvM931BFCdKGJEycye/bs7h5Gt9m7dy86nY7169e3uv+5555j3rx5ibfbep4mTJhAZWUlLper8wfajWTpTXQbnU6Hy2YixWJsaolST3aqlSK3nQxpiSKE6KMikQgmU/fWcLYn/JjNZnJzc7tgNN1LZpREt2tuiZLttFLnV1hf1sDmCi+eQKS7hyaEOFmqCkpj99za2et91qxZLFu2jOeeew6dTodOp2PXrl3ceuut9O/fH5vNxtChQ3nuuedafdzSpUs566yzcDgcpKWlcd5551FaWtrm59izZw+DBg3izjvvJB5vu8Sgebnur3/9KwMGDMBisWhNyD0ebr/9drKzs0lNTeUb3/gGGzZsOOLjXnzxRYqKirDb7Vx33XVHLIXNnTuX0047DavVyrBhw/jDH/6QeF///v0BGD16NDqdjokTJyaem+alt7aep71797a59PbGG28wYsQILBYL/fr145lnnmk1ln79+vHEE09wyy234HQ6KS4u5k9/+tNR/42SgcwoiaRhNOjJTrWiRONUNAQ56AtRkGanIN2GwyLfqkL0KJEAPJHfPZ/7xxVgdhz3sueee47t27czcuRIHnvsMQDS09MpLCxk0aJFZGZmsnz5cm6//Xby8vKYPn060WiUqVOnctttt/Haa6+hKAorV65scwZ806ZNXHLJJdx00008+eSTxxzLzp07WbRoEW+88QYGg7bB5YorrsDtdvP+++/jcrl48cUXueiii9i+fTtut7vVx73zzjt4vV5uvfVWvvvd7/K3v/0NgD//+c/89Kc/5Xe/+x2jR49m3bp13HbbbTgcDm666SZWrlzJWWedxccff8yIESMwm83tep6ysrLYu3dvq+vWrFnD9OnTmTNnDjNmzGD58uXcddddZGRkMGvWrMR1zzzzDI8//jg//vGPef3117nzzjs5//zzGTZs2HH/zbqDvPqIpGM26slraomyu6axqSWKjVyXDatJdsgJITqGy+XCbDZjt9tbLSE9+uijib/379+f5cuXs2jRIqZPn47X68Xj8TBlyhQGDhwIwGmnnXbEY69YsYIpU6bw0EMPcf/99x93LIqiMH/+fLKysgD49NNP2bhxI9XV1VgsFgB+9atf8fbbb/P6669z++23AxAKhXj55ZcpLCwE4Le//S1XXHEFzzzzDLm5uTz++OM888wzTJs2LfH1bNmyhRdffJGbbrop8fkyMjKOuox2tOfpcM8++ywXXXQRjzzyCABDhgxhy5Yt/PKXv2wVlC6//HLuuusuAB588EF+/etfs3TpUglKQpwou9mI3WzEF4rwVZWfSk+I4gwH2U4LJmmJIkRyM9m1mZ3u+tyn4IUXXuCll16itLSUYDCIoiiJnWxut5tZs2YxefJkLr74YiZNmsT06dPJy8tLfHxZWRmTJk3iZz/7Gffcc0+rx05JSUn8/dvf/jYvvPACACUlJYnQAtrsjN/vJyMjo9XHB4NBdu3alXi7uLg4EZIAzj33XOLxONu2bcNgMFBeXs6tt97KbbfdlrgmGo12SgH21q1bufrqq1vdd9555/Gb3/yGWCyWmCk7/fTTE+/X6XTk5uZSXV3d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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Here, the sns.lineplot function tells seaborn we want a line plot\n", "sns.lineplot(data=df,\n", " x='session',\n", " y='response_time',\n", " hue='task_transition_type') # Which groups to separate and give different colors (hue stands for color)" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "As you can see, with only one line of code we can visualize the switch cost difference. In this graph we can clearly see that there are less switch costs for the high-switch condition as compared to the low-switch condition. Why do you think that is?\n" ], "metadata": { "collapsed": false }, "outputs": [] }, { "cell_type": "code", "execution_count": 13, "outputs": [ { "data": { "text/plain": "", "text/html": "
" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": "", "application/javascript": "var questionspMfRUjxhRmSL=[\n {\n \"question\": \"Why are the switch-costs higher in the low-switch condition?\",\n \"type\": \"multiple_choice\",\n \"answers\": [\n {\n \"answer\": \"Participants are in a more flexible cognitive state in the high-switch condition (and thus can switch easier) because they expect they have to be\",\n \"correct\": true,\n \"feedback\": \"Probably correct (though this is still a hypothesis)!\"\n },\n {\n \"answer\": \"The participants that got the low-switch condition were just more lazy\",\n \"correct\": false,\n \"feedback\": \"Each participant went through both conditions, so this can't explain it. Try again!\"\n },\n {\n \"answer\": \"More switches means that the easier task also was present more frequently\",\n \"correct\": false,\n \"feedback\": \"In both conditions, both tasks were present just as much (and there shouldn't be an easier task). Try again!\"\n }\n ]\n }\n];\n // Make a random ID\nfunction makeid(length) {\n var result = [];\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n var charactersLength = characters.length;\n for (var i = 0; i < length; i++) {\n result.push(characters.charAt(Math.floor(Math.random() * charactersLength)));\n }\n return result.join('');\n}\n\n// Choose a random subset of an array. Can also be used to shuffle the array\nfunction getRandomSubarray(arr, size) {\n var shuffled = arr.slice(0), i = arr.length, temp, index;\n while (i--) {\n index = Math.floor((i + 1) * Math.random());\n temp = shuffled[index];\n shuffled[index] = shuffled[i];\n shuffled[i] = temp;\n }\n return shuffled.slice(0, size);\n}\n\nfunction printResponses(responsesContainer) {\n var responses=JSON.parse(responsesContainer.dataset.responses);\n var stringResponses='IMPORTANT!To preserve this answer sequence for submission, when you have finalized your answers:
  1. Copy the text in this cell below \"Answer String\"
  2. Double click on the cell directly below the Answer String, labeled \"Replace Me\"
  3. Select the whole \"Replace Me\" text
  4. Paste in your answer string and press shift-Enter.
  5. Save the notebook using the save icon or File->Save Notebook menu item



  6. Answer String:
    ';\n console.log(responses);\n responses.forEach((response, index) => {\n if (response) {\n console.log(index + ': ' + response);\n stringResponses+= index + ': ' + response +\"
    \";\n }\n });\n responsesContainer.innerHTML=stringResponses;\n}\nfunction check_mc() {\n var id = this.id.split('-')[0];\n //var response = this.id.split('-')[1];\n //console.log(response);\n //console.log(\"In check_mc(), id=\"+id);\n //console.log(event.srcElement.id) \n //console.log(event.srcElement.dataset.correct) \n //console.log(event.srcElement.dataset.feedback)\n\n var label = event.srcElement;\n //console.log(label, label.nodeName);\n var depth = 0;\n while ((label.nodeName != \"LABEL\") && (depth < 20)) {\n label = label.parentElement;\n console.log(depth, label);\n depth++;\n }\n\n\n\n var answers = label.parentElement.children;\n\n //console.log(answers);\n\n\n // Split behavior based on multiple choice vs many choice:\n var fb = document.getElementById(\"fb\" + id);\n\n\n\n\n if (fb.dataset.numcorrect == 1) {\n // What follows is for the saved responses stuff\n var outerContainer = fb.parentElement.parentElement;\n var responsesContainer = document.getElementById(\"responses\" + outerContainer.id);\n if (responsesContainer) {\n //console.log(responsesContainer);\n var response = label.firstChild.innerText;\n if (label.querySelector(\".QuizCode\")){\n response+= label.querySelector(\".QuizCode\").firstChild.innerText;\n }\n console.log(response);\n //console.log(document.getElementById(\"quizWrap\"+id));\n var qnum = document.getElementById(\"quizWrap\"+id).dataset.qnum;\n console.log(\"Question \" + qnum);\n //console.log(id, \", got numcorrect=\",fb.dataset.numcorrect);\n var responses=JSON.parse(responsesContainer.dataset.responses);\n console.log(responses);\n responses[qnum]= response;\n responsesContainer.setAttribute('data-responses', JSON.stringify(responses));\n printResponses(responsesContainer);\n }\n // End code to preserve responses\n \n for (var i = 0; i < answers.length; i++) {\n var child = answers[i];\n //console.log(child);\n child.className = \"MCButton\";\n }\n\n\n\n if (label.dataset.correct == \"true\") {\n // console.log(\"Correct action\");\n if (\"feedback\" in label.dataset) {\n fb.textContent = jaxify(label.dataset.feedback);\n } else {\n fb.textContent = \"Correct!\";\n }\n label.classList.add(\"correctButton\");\n\n fb.className = \"Feedback\";\n fb.classList.add(\"correct\");\n\n } else {\n if (\"feedback\" in label.dataset) {\n fb.textContent = jaxify(label.dataset.feedback);\n } else {\n fb.textContent = \"Incorrect -- try again.\";\n }\n //console.log(\"Error action\");\n label.classList.add(\"incorrectButton\");\n fb.className = \"Feedback\";\n fb.classList.add(\"incorrect\");\n }\n }\n else {\n var reset = false;\n var feedback;\n if (label.dataset.correct == \"true\") {\n if (\"feedback\" in label.dataset) {\n feedback = jaxify(label.dataset.feedback);\n } else {\n feedback = \"Correct!\";\n }\n if (label.dataset.answered <= 0) {\n if (fb.dataset.answeredcorrect < 0) {\n fb.dataset.answeredcorrect = 1;\n reset = true;\n } else {\n fb.dataset.answeredcorrect++;\n }\n if (reset) {\n for (var i = 0; i < answers.length; i++) {\n var child = answers[i];\n child.className = \"MCButton\";\n child.dataset.answered = 0;\n }\n }\n label.classList.add(\"correctButton\");\n label.dataset.answered = 1;\n fb.className = \"Feedback\";\n fb.classList.add(\"correct\");\n\n }\n } else {\n if (\"feedback\" in label.dataset) {\n feedback = jaxify(label.dataset.feedback);\n } else {\n feedback = \"Incorrect -- try again.\";\n }\n if (fb.dataset.answeredcorrect > 0) {\n fb.dataset.answeredcorrect = -1;\n reset = true;\n } else {\n fb.dataset.answeredcorrect--;\n }\n\n if (reset) {\n for (var i = 0; i < answers.length; i++) {\n var child = answers[i];\n child.className = \"MCButton\";\n child.dataset.answered = 0;\n }\n }\n label.classList.add(\"incorrectButton\");\n fb.className = \"Feedback\";\n fb.classList.add(\"incorrect\");\n }\n // What follows is for the saved responses stuff\n var outerContainer = fb.parentElement.parentElement;\n var responsesContainer = document.getElementById(\"responses\" + outerContainer.id);\n if (responsesContainer) {\n //console.log(responsesContainer);\n var response = label.firstChild.innerText;\n if (label.querySelector(\".QuizCode\")){\n response+= label.querySelector(\".QuizCode\").firstChild.innerText;\n }\n console.log(response);\n //console.log(document.getElementById(\"quizWrap\"+id));\n var qnum = document.getElementById(\"quizWrap\"+id).dataset.qnum;\n console.log(\"Question \" + qnum);\n //console.log(id, \", got numcorrect=\",fb.dataset.numcorrect);\n var responses=JSON.parse(responsesContainer.dataset.responses);\n if (label.dataset.correct == \"true\") {\n if (typeof(responses[qnum]) == \"object\"){\n if (!responses[qnum].includes(response))\n responses[qnum].push(response);\n } else{\n responses[qnum]= [ response ];\n }\n } else {\n responses[qnum]= response;\n }\n console.log(responses);\n responsesContainer.setAttribute('data-responses', JSON.stringify(responses));\n printResponses(responsesContainer);\n }\n // End save responses stuff\n\n\n\n var numcorrect = fb.dataset.numcorrect;\n var answeredcorrect = fb.dataset.answeredcorrect;\n if (answeredcorrect >= 0) {\n fb.textContent = feedback + \" [\" + answeredcorrect + \"/\" + numcorrect + \"]\";\n } else {\n fb.textContent = feedback + \" [\" + 0 + \"/\" + numcorrect + \"]\";\n }\n\n\n }\n\n if (typeof MathJax != 'undefined') {\n var version = MathJax.version;\n console.log('MathJax version', version);\n if (version[0] == \"2\") {\n MathJax.Hub.Queue([\"Typeset\", MathJax.Hub]);\n } else if (version[0] == \"3\") {\n MathJax.typeset([fb]);\n }\n } else {\n console.log('MathJax not detected');\n }\n\n}\n\nfunction make_mc(qa, shuffle_answers, outerqDiv, qDiv, aDiv, id) {\n var shuffled;\n if (shuffle_answers == \"True\") {\n //console.log(shuffle_answers+\" read as true\");\n shuffled = getRandomSubarray(qa.answers, qa.answers.length);\n } else {\n //console.log(shuffle_answers+\" read as false\");\n shuffled = qa.answers;\n }\n\n\n var num_correct = 0;\n\n\n\n shuffled.forEach((item, index, ans_array) => {\n //console.log(answer);\n\n // Make input element\n var inp = document.createElement(\"input\");\n inp.type = \"radio\";\n inp.id = \"quizo\" + id + index;\n inp.style = \"display:none;\";\n aDiv.append(inp);\n\n //Make label for input element\n var lab = document.createElement(\"label\");\n lab.className = \"MCButton\";\n lab.id = id + '-' + index;\n lab.onclick = check_mc;\n var aSpan = document.createElement('span');\n aSpan.classsName = \"\";\n //qDiv.id=\"quizQn\"+id+index;\n if (\"answer\" in item) {\n aSpan.innerHTML = jaxify(item.answer);\n //aSpan.innerHTML=item.answer;\n }\n lab.append(aSpan);\n\n // Create div for code inside question\n var codeSpan;\n if (\"code\" in item) {\n codeSpan = document.createElement('span');\n codeSpan.id = \"code\" + id + index;\n codeSpan.className = \"QuizCode\";\n var codePre = document.createElement('pre');\n codeSpan.append(codePre);\n var codeCode = document.createElement('code');\n codePre.append(codeCode);\n codeCode.innerHTML = item.code;\n lab.append(codeSpan);\n //console.log(codeSpan);\n }\n\n //lab.textContent=item.answer;\n\n // Set the data attributes for the answer\n lab.setAttribute('data-correct', item.correct);\n if (item.correct) {\n num_correct++;\n }\n if (\"feedback\" in item) {\n lab.setAttribute('data-feedback', item.feedback);\n }\n lab.setAttribute('data-answered', 0);\n\n aDiv.append(lab);\n\n });\n\n if (num_correct > 1) {\n outerqDiv.className = \"ManyChoiceQn\";\n } else {\n outerqDiv.className = \"MultipleChoiceQn\";\n }\n\n return num_correct;\n\n}\nfunction check_numeric(ths, event) {\n\n if (event.keyCode === 13) {\n ths.blur();\n\n var id = ths.id.split('-')[0];\n\n var submission = ths.value;\n if (submission.indexOf('/') != -1) {\n var sub_parts = submission.split('/');\n //console.log(sub_parts);\n submission = sub_parts[0] / sub_parts[1];\n }\n //console.log(\"Reader entered\", submission);\n\n if (\"precision\" in ths.dataset) {\n var precision = ths.dataset.precision;\n // console.log(\"1:\", submission)\n submission = Math.round((1 * submission + Number.EPSILON) * 10 ** precision) / 10 ** precision;\n // console.log(\"Rounded to \", submission, \" precision=\", precision );\n }\n\n\n //console.log(\"In check_numeric(), id=\"+id);\n //console.log(event.srcElement.id) \n //console.log(event.srcElement.dataset.feedback)\n\n var fb = document.getElementById(\"fb\" + id);\n fb.style.display = \"none\";\n fb.textContent = \"Incorrect -- try again.\";\n\n var answers = JSON.parse(ths.dataset.answers);\n //console.log(answers);\n\n var defaultFB = \"\";\n var correct;\n var done = false;\n answers.every(answer => {\n //console.log(answer.type);\n\n correct = false;\n // if (answer.type==\"value\"){\n if ('value' in answer) {\n if (submission == answer.value) {\n fb.textContent = jaxify(answer.feedback);\n correct = answer.correct;\n //console.log(answer.correct);\n done = true;\n }\n // } else if (answer.type==\"range\") {\n } else if ('range' in answer) {\n //console.log(answer.range);\n if ((submission >= answer.range[0]) && (submission < answer.range[1])) {\n fb.textContent = jaxify(answer.feedback);\n correct = answer.correct;\n //console.log(answer.correct);\n done = true;\n }\n } else if (answer.type == \"default\") {\n defaultFB = answer.feedback;\n }\n if (done) {\n return false; // Break out of loop if this has been marked correct\n } else {\n return true; // Keep looking for case that includes this as a correct answer\n }\n });\n\n if ((!done) && (defaultFB != \"\")) {\n fb.innerHTML = jaxify(defaultFB);\n //console.log(\"Default feedback\", defaultFB);\n }\n\n fb.style.display = \"block\";\n if (correct) {\n ths.className = \"Input-text\";\n ths.classList.add(\"correctButton\");\n fb.className = \"Feedback\";\n fb.classList.add(\"correct\");\n } else {\n ths.className = \"Input-text\";\n ths.classList.add(\"incorrectButton\");\n fb.className = \"Feedback\";\n fb.classList.add(\"incorrect\");\n }\n\n // What follows is for the saved responses stuff\n var outerContainer = fb.parentElement.parentElement;\n var responsesContainer = document.getElementById(\"responses\" + outerContainer.id);\n if (responsesContainer) {\n console.log(submission);\n var qnum = document.getElementById(\"quizWrap\"+id).dataset.qnum;\n //console.log(\"Question \" + qnum);\n //console.log(id, \", got numcorrect=\",fb.dataset.numcorrect);\n var responses=JSON.parse(responsesContainer.dataset.responses);\n console.log(responses);\n if (submission == ths.value){\n responses[qnum]= submission;\n } else {\n responses[qnum]= ths.value + \"(\" + submission +\")\";\n }\n responsesContainer.setAttribute('data-responses', JSON.stringify(responses));\n printResponses(responsesContainer);\n }\n // End code to preserve responses\n\n if (typeof MathJax != 'undefined') {\n var version = MathJax.version;\n console.log('MathJax version', version);\n if (version[0] == \"2\") {\n MathJax.Hub.Queue([\"Typeset\", MathJax.Hub]);\n } else if (version[0] == \"3\") {\n MathJax.typeset([fb]);\n }\n } else {\n console.log('MathJax not detected');\n }\n return false;\n }\n\n}\n\nfunction isValid(el, charC) {\n //console.log(\"Input char: \", charC);\n if (charC == 46) {\n if (el.value.indexOf('.') === -1) {\n return true;\n } else if (el.value.indexOf('/') != -1) {\n var parts = el.value.split('/');\n if (parts[1].indexOf('.') === -1) {\n return true;\n }\n }\n else {\n return false;\n }\n } else if (charC == 47) {\n if (el.value.indexOf('/') === -1) {\n if ((el.value != \"\") && (el.value != \".\")) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n } else if (charC == 45) {\n var edex = el.value.indexOf('e');\n if (edex == -1) {\n edex = el.value.indexOf('E');\n }\n\n if (el.value == \"\") {\n return true;\n } else if (edex == (el.value.length - 1)) { // If just after e or E\n return true;\n } else {\n return false;\n }\n } else if (charC == 101) { // \"e\"\n if ((el.value.indexOf('e') === -1) && (el.value.indexOf('E') === -1) && (el.value.indexOf('/') == -1)) {\n // Prev symbol must be digit or decimal point:\n if (el.value.slice(-1).search(/\\d/) >= 0) {\n return true;\n } else if (el.value.slice(-1).search(/\\./) >= 0) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n } else {\n if (charC > 31 && (charC < 48 || charC > 57))\n return false;\n }\n return true;\n}\n\nfunction numeric_keypress(evnt) {\n var charC = (evnt.which) ? evnt.which : evnt.keyCode;\n\n if (charC == 13) {\n check_numeric(this, evnt);\n } else {\n return isValid(this, charC);\n }\n}\n\n\n\n\n\nfunction make_numeric(qa, outerqDiv, qDiv, aDiv, id) {\n\n\n\n //console.log(answer);\n\n\n outerqDiv.className = \"NumericQn\";\n aDiv.style.display = 'block';\n\n var lab = document.createElement(\"label\");\n lab.className = \"InpLabel\";\n lab.textContent = \"Type numeric answer here:\";\n aDiv.append(lab);\n\n var inp = document.createElement(\"input\");\n inp.type = \"text\";\n //inp.id=\"input-\"+id;\n inp.id = id + \"-0\";\n inp.className = \"Input-text\";\n inp.setAttribute('data-answers', JSON.stringify(qa.answers));\n if (\"precision\" in qa) {\n inp.setAttribute('data-precision', qa.precision);\n }\n aDiv.append(inp);\n //console.log(inp);\n\n //inp.addEventListener(\"keypress\", check_numeric);\n //inp.addEventListener(\"keypress\", numeric_keypress);\n /*\n inp.addEventListener(\"keypress\", function(event) {\n return numeric_keypress(this, event);\n }\n );\n */\n //inp.onkeypress=\"return numeric_keypress(this, event)\";\n inp.onkeypress = numeric_keypress;\n inp.onpaste = event => false;\n\n inp.addEventListener(\"focus\", function (event) {\n this.value = \"\";\n return false;\n }\n );\n\n\n}\nfunction jaxify(string) {\n var mystring = string;\n\n var count = 0;\n var loc = mystring.search(/([^\\\\]|^)(\\$)/);\n\n var count2 = 0;\n var loc2 = mystring.search(/([^\\\\]|^)(\\$\\$)/);\n\n //console.log(loc);\n\n while ((loc >= 0) || (loc2 >= 0)) {\n\n /* Have to replace all the double $$ first with current implementation */\n if (loc2 >= 0) {\n if (count2 % 2 == 0) {\n mystring = mystring.replace(/([^\\\\]|^)(\\$\\$)/, \"$1\\\\[\");\n } else {\n mystring = mystring.replace(/([^\\\\]|^)(\\$\\$)/, \"$1\\\\]\");\n }\n count2++;\n } else {\n if (count % 2 == 0) {\n mystring = mystring.replace(/([^\\\\]|^)(\\$)/, \"$1\\\\(\");\n } else {\n mystring = mystring.replace(/([^\\\\]|^)(\\$)/, \"$1\\\\)\");\n }\n count++;\n }\n loc = mystring.search(/([^\\\\]|^)(\\$)/);\n loc2 = mystring.search(/([^\\\\]|^)(\\$\\$)/);\n //console.log(mystring,\", loc:\",loc,\", loc2:\",loc2);\n }\n\n //console.log(mystring);\n return mystring;\n}\n\n\nfunction show_questions(json, mydiv) {\n console.log('show_questions');\n //var mydiv=document.getElementById(myid);\n var shuffle_questions = mydiv.dataset.shufflequestions;\n var num_questions = mydiv.dataset.numquestions;\n var shuffle_answers = mydiv.dataset.shuffleanswers;\n\n if (num_questions > json.length) {\n num_questions = json.length;\n }\n\n var questions;\n if ((num_questions < json.length) || (shuffle_questions == \"True\")) {\n //console.log(num_questions+\",\"+json.length);\n questions = getRandomSubarray(json, num_questions);\n } else {\n questions = json;\n }\n\n //console.log(\"SQ: \"+shuffle_questions+\", NQ: \" + num_questions + \", SA: \", shuffle_answers);\n\n // Iterate over questions\n questions.forEach((qa, index, array) => {\n //console.log(qa.question); \n\n var id = makeid(8);\n //console.log(id);\n\n\n // Create Div to contain question and answers\n var iDiv = document.createElement('div');\n //iDiv.id = 'quizWrap' + id + index;\n iDiv.id = 'quizWrap' + id;\n iDiv.className = 'Quiz';\n iDiv.setAttribute('data-qnum', index);\n mydiv.appendChild(iDiv);\n // iDiv.innerHTML=qa.question;\n\n var outerqDiv = document.createElement('div');\n outerqDiv.id = \"OuterquizQn\" + id + index;\n\n iDiv.append(outerqDiv);\n\n // Create div to contain question part\n var qDiv = document.createElement('div');\n qDiv.id = \"quizQn\" + id + index;\n //qDiv.textContent=qa.question;\n qDiv.innerHTML = jaxify(qa.question);\n\n outerqDiv.append(qDiv);\n\n // Create div for code inside question\n var codeDiv;\n if (\"code\" in qa) {\n codeDiv = document.createElement('div');\n codeDiv.id = \"code\" + id + index;\n codeDiv.className = \"QuizCode\";\n var codePre = document.createElement('pre');\n codeDiv.append(codePre);\n var codeCode = document.createElement('code');\n codePre.append(codeCode);\n codeCode.innerHTML = qa.code;\n outerqDiv.append(codeDiv);\n //console.log(codeDiv);\n }\n\n\n // Create div to contain answer part\n var aDiv = document.createElement('div');\n aDiv.id = \"quizAns\" + id + index;\n aDiv.className = 'Answer';\n iDiv.append(aDiv);\n\n //console.log(qa.type);\n\n var num_correct;\n if (qa.type == \"multiple_choice\") {\n num_correct = make_mc(qa, shuffle_answers, outerqDiv, qDiv, aDiv, id);\n } else if (qa.type == \"many_choice\") {\n num_correct = make_mc(qa, shuffle_answers, outerqDiv, qDiv, aDiv, id);\n } else if (qa.type == \"numeric\") {\n //console.log(\"numeric\");\n make_numeric(qa, outerqDiv, qDiv, aDiv, id);\n }\n\n\n //Make div for feedback\n var fb = document.createElement(\"div\");\n fb.id = \"fb\" + id;\n //fb.style=\"font-size: 20px;text-align:center;\";\n fb.className = \"Feedback\";\n fb.setAttribute(\"data-answeredcorrect\", 0);\n fb.setAttribute(\"data-numcorrect\", num_correct);\n iDiv.append(fb);\n\n\n });\n var preserveResponses = mydiv.dataset.preserveresponses;\n console.log(preserveResponses);\n console.log(preserveResponses == \"true\");\n if (preserveResponses == \"true\") {\n console.log(preserveResponses);\n // Create Div to contain record of answers\n var iDiv = document.createElement('div');\n iDiv.id = 'responses' + mydiv.id;\n iDiv.className = 'JCResponses';\n // Create a place to store responses as an empty array\n iDiv.setAttribute('data-responses', '[]');\n\n // Dummy Text\n iDiv.innerHTML=\"Select your answers and then follow the directions that will appear here.\"\n //iDiv.className = 'Quiz';\n mydiv.appendChild(iDiv);\n }\n//console.log(\"At end of show_questions\");\n if (typeof MathJax != 'undefined') {\n console.log(\"MathJax version\", MathJax.version);\n var version = MathJax.version;\n setTimeout(function(){\n var version = MathJax.version;\n console.log('After sleep, MathJax version', version);\n if (version[0] == \"2\") {\n MathJax.Hub.Queue([\"Typeset\", MathJax.Hub]);\n } else if (version[0] == \"3\") {\n MathJax.typeset([mydiv]);\n }\n }, 500);\nif (typeof version == 'undefined') {\n } else\n {\n if (version[0] == \"2\") {\n MathJax.Hub.Queue([\"Typeset\", MathJax.Hub]);\n } else if (version[0] == \"3\") {\n MathJax.typeset([mydiv]);\n } else {\n console.log(\"MathJax not found\");\n }\n }\n }\n return false;\n}\n\n {\n show_questions(questionspMfRUjxhRmSL, pMfRUjxhRmSL);\n }\n " }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display_quiz(\"questions/question_2.json\")" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "However, seaborn also does things we didn't ask for: it calculates the mean response time and gives us an error bar. We can explicitly change these settings of course, but it does illustrate a difference in coding philosophy: with the object-oriented way you build from the ground up, whilst in the seaborn (and the lesser extent the procedural way) you built from the top down. Let's see what happens with the procedural approach:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 15, "outputs": [ { "data": { "text/plain": "" }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": "
    ", "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Because the procedural approach doesn't have the handy \"hue\" parameter, we first need to make the grouping ourselves\n", "pivot = df.pivot_table(values = \"response_time\",\n", " index= \"session\",\n", " columns=\"task_transition_type\",\n", " aggfunc=np.mean)\n", "\n", "# Then, use the pivot table to plot, pyplot automatically takes \"index\" as x-values, \"values\" as y-axis and \"columns\" as grouping\n", "pivot.plot(kind=\"line\")" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Alright, we don't get the error bars, and no label for the y-axis, and the \"lowswitch\" tick is missing, but other than that looks pretty similar to the seaborn plot. You can change the style to whatever you like most. See the styles available [here](https://matplotlib.org/stable/gallery/style_sheets/style_sheets_reference.html). Below you can change the style and look at the new output right away:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 16, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Solarize_Light2', '_classic_test_patch', '_mpl-gallery', '_mpl-gallery-nogrid', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark', 'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'tableau-colorblind10']\n" ] }, { "data": { "text/plain": "" }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": "
    ", "image/png": "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6LKO17NnzzJv4EFBQTRv3pxdu3adc5+dO3dSXFzMVVddRXFxse3LYrHQqlUrdu/eDUBiYiLHjx+nb9++Vd7n0alTpzK3GzZsSGFhIRkZGWXub9OmjYoTkWqgFRSROmbcuHF89dVXrFy5kvnz5+Pq6soVV1zBHXfcYTs9UhHl7ePr68vhw4fPuc+ZN/0nn3yy3O+fKXgyMzMBqqXB9q9Fh8ViAUp7bP7sUnIkIhWnAkWkjvH29ubuu+/m7rvvJjU1lS1btvDf//6XjIwMnnrqKSwWC4WFhWftd/r0aby8vM66Pz09vdz7zrfKcOY4EyZMICgo6LyxApw8efJCT6va/Hm1SESqjk7xiNRhgYGBXHfddURHRxMXFweUnqI586maMxITE0lMTCz3GOvWrcNqtdpup6SksHfv3vN+gqZdu3aYzWaOHz9O48aNy/0CCAsLo169eqxatarcoumMc612iEjNpRUUkTokJyeHyZMn06NHD8LDw3Fzc+PAgQPs2LGDLl26AHDllVfy+uuv895779GlSxdSUlJYtGiRbTXjrzIyMnj55Ze55ppryMnJ4fPPP8fZ2ZmbbrrpnHEEBwczbNgwPvvsM44fP05MTAyenp6kp6dz4MABXF1dbZNn77vvPqZNm8ZTTz3FoEGDCAwMJDU1lZ07dzJmzBgAIiIiAFiyZAm9e/fGbDYTFhaGm5tbJWZPRKqTChSROsRisdCkSRPWrFnDiRMnKC4uJjAwkMGDBzN48GCgtOk1LS2N77//nlWrVhEREcH9999vmzXyV7fddhsHDx7krbfeIjc3lyZNmjBu3DhCQkLOG8uQIUOoX78+S5YsYd26dRQVFeHr60vjxo259tprbdvFxMQwefJkvvzySz788EMKCwvx9/cv09TaunVrbrrpJn788Ud++OEHrFbrRc9BERHHZFj/vDYrIlIFPvroI9asWcP7779v71BEpIbQCoqIVJmMjAz27dvH5s2badq0qb3DEZEaRAWKiFSZ7du38/7779OsWTPuueeean3skpISLrRAbDabqykaEakoneIRkVrpz9foOZc33njjkifPikjVUoEiIrXSqVOnSEtLO+82DRs2xMlJC8kijkgFioiIiDgcDWoTERERh6MCRURERByOChQRERFxOCpQRERExOGoQBERERGHowJFREREHI4KFBEREXE4KlBERETE4fw/avtxbcDyg38AAAAASUVORK5CYII=\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(plt.style.available) # Print out all available styles\n", "plt.style.use('ggplot') # Set style for the rest of the script, change 'default' to something else\n", "\n", "# Another way of making a quick plot (this code is the same as above, only way shorter but less explicit)\n", "df.pivot_table(\"response_time\", \"subject_nr\", \"task_transition_type\").plot(kind=\"line\")" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Alright, let's set it back to default:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 17, "outputs": [], "source": [ "plt.style.use('default') # Set style for the rest of the script, change 'default' to something else" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Some tweaking needs to be done now since the plots assume that \"subject_nr\" is a continuous variable, and in some styles not all the x-ticks are shown. But again, with a few lines of code we get a pretty good idea of how the switch cost looks like between conditions. Let's now try the object-oriented approach:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 19, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "session task_transition_type\n", "highswitch task-repetition 673.951220\n", " task-switch 685.008065\n", "lowswitch task-repetition 760.000000\n", " task-switch 916.188235\n", "Name: response_time, dtype: float64\n" ] }, { "data": { "text/plain": "
    ", "image/png": "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EhERKT0Vi7+gwVQiIiJlo2Lxu6/3ZrDix181mEpEROQSqFj8LuX7w7y/8aBjrcFUIiIizlOx+F3XprHYbDYNphIREbkEKha/69A4mg6No62OISIi4tG0UUBERERcRsVCREREXEbFQkRERFxGxUJERERcRsVCREREXEbFQkRERFxGxUJERERcRsVCREREXEbFQkRERFxGxUJERERcRsVCREREXEbFQkRERFzGIy9CZhgGANnZ2RYnERER8SxnXjvPvJa6mkcWi5ycHAASEhIsTiIiIuKZcnJyCA8Pd/nj2ozyqizlyG63c+TIEUJDQ7HZbC55zOzsbBISEjh48CBhYWEueUwREZFLUR6vTYZhkJOTQ3x8PD4+rt8R4ZFnLHx8fKhZs2a5PHZYWJiKhYiIuBVXvzaVx5mKM7R5U0RERFxGxUJERERcRsXid4GBgYwZM4bAwECro4iIiACe+drkkZs3RURExD3pjIWIiIi4jIqFiIiIuIyKhYiIiLiMpcWiffv2JCcnn/frNpuNlJSUUj/e6tWrsdlsnDhx4pKzlYaz+crrMUREpHxc7HXKHYwdO5bmzZtb/hhnuPUZi6NHj9K9e3erY5zXn/P98ssv2Gw2Nm/ebG0oERHxKiNGjGDVqlWO9d13302/fv0sy+PWkzdjY2OtjnBB7p5PREQqv6pVq1K1alWrYzhYfsbCbrczcuRIIiIiiI2NZezYsY6vnf02wfr162nevDlVqlShVatWpKSk/OVZgtTUVFq1akVwcDBt2rRh586djq9t2bKFDh06EBoaSlhYGC1btmTTpk0YhkGNGjX46KOPHMc2b96c6Ohox3rDhg34+/uTm5t7Tr66desC0KJFC2w2G+3bt3fc77///S9NmjQhMDCQuLg4Hn744RJ5jx07xs0330xwcDANGzZk8eLFZflWiohIOcrMzOSf//wn1atXJzg4mO7du7N7926AMr2GjB07llq1ahEYGEh8fDyPPvooADNmzCAxMdFxvzOvdTNnznTc1rVrV0aPHu14nDNvY4wdO5a33nqLRYsWYbPZsNlsrF69GoBDhw5x2223ERERQUhICK1ateKbb74p8Rznz59PnTp1CA8P57bbbnNc9NMZlheLt956i5CQEL755humTJnC+PHjWbFixTnH5eTk0Lt3bxITE/nuu+94/vnnGTVq1F8+5tNPP83L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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Group dataframe by both subject number and task_transition_type\n", "df_group = df.groupby(['session','task_transition_type']).response_time.mean()\n", "print(df_group)\n", "\n", "# Unstack the `task_transition_type` index, to place it as columns\n", "df_oo = df_group.unstack(level='task_transition_type')\n", "\n", "# Make the framework and place in \"fig\" and \"ax\" variables\n", "fig, ax = plt.subplots(figsize=(6, 4.5))\n", "\n", "# Populate the \"ax\" variable with the dataframe\n", "ax.plot(df_oo)\n", "\n", "# Show dataframe\n", "plt.show()" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "As you can see you need the most code for the object-oriented approach. Furthermore, it doesn't give you anything you don't ask for. We didn't specify if we wanted a legend, or if we wanted x- and y-labels, so we will then need to add this manually. It is however the best way to make your plots, since (1) the procedural and seaborn approach are built on the object-oriented syntax, so you can make changes to these plots with your understanding of object-oriented matplotlib usage, and (2) it is the most reproducible way to code your plots, since you make everything what you do explicit.\n", "\n", "It's important to be aware of the difference between these approaches, as when you google solutions for your matplotlib problems, you will often encounter solutions for all three approaches. However, when you are coding in an object-oriented matter, simply inputting procedural code will not work, and vice-versa! For the rest of the tutorial, we will continue with the object-oriented approach, unless it is really inconvenient to do so (as you will see at the end of the tutorial). For now, let's improve the plot we made above:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 23, "outputs": [ { "data": { "text/plain": "
    ", "image/png": "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Ctq3b+843A+c9y/pFi1a0KJFC5588knatWvHRx995Piy8/X15csvv6RPnz707NmTxYsXExAQAHBOr9AZDRo0oEGDBjz88MPccsstzJo1ixtvvNHRx/T555+zfft2OnXqREBAAAUFBbzzzju0bNnSse/zvTbA6fUFBAQQExPDd999x1VXXVXKd+sSs9lKdmrMo2QhEA/fEp9qKw1X+QydrWXLliQnJ+Ph4UFMTMwFtzt06BBHjx4lKso8/blmzRrc3Nxo0KABNWvWpFatWuzfv5/bbrvtgq8fnD9nF9quuG0aNWrEypUrne5bvXo1DRo00BpwUvkUFcAPL8PKyYABwTFmaCrKv/BzPLzNaVJclE7JlSN3NxvPX9cIMMPRn50ZP39do3KbjykmJoa1a9dy4MABUlNTiYuLY8OGDXz77bfs3r2bZ599lvXr/zgClpiYyJNPPsmaNWs4ePAgixcvZvfu3ef0oPj7+/PVV1/h4eFB7969HVexnS03N5cHHniAZcuWcfDgQVatWsX69eud9te1a1c++ugjmjZtSmBgoCNE/fe//71g/xJAeHg4vr6+LFq0iN9//52MjAzAPKI1YcIEpkyZwp49e9i0aRNTp079G+9i1Wb1Z+hCunfvTrt27bjhhhv49ttvOXDgAKtXr+aZZ55hw4YNju18fHy444472Lp1KytWrOChhx5i4MCBjl6j0aNHM3bsWN544w12797Ntm3bmDVrFhMnTgQu/Dkr7n063xGhRx55hO+++44XX3yR3bt38/777/Pmm2+WqIdLpEJJ2wcze8DKSYABLe+A4avhwU1wz/IL31x8ehQFpnLWq0kk0/7ZkoggH6f7I4J8mPbPluU6D9OoUaNwd3enUaNG1KhRg169etG/f38GDRpE27ZtSUtLczpS4Ofnxy+//MKAAQNo0KAB99xzDw888ADDhg07Z9/VqlXjm2++wTAM+vTpw8mTJ8/Zxt3dnbS0NG6//XYaNGjAwIED6d27t1PT8FVXXUVRUZFTOOrSpQtFRUUX7V/y8PBgypQpTJ8+naioKPr16wfAHXfcweTJk3n77bdp3Lgxffv2Zc+ePX/l7XMNfqHmX10XU45/lVn9GboQm83G119/TefOnbnrrrto0KABN998MwcOHKBmzZqO7eLi4ujfvz99+vShR48eNGnSxGnagLvvvpv33nuP2bNn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9FPDMEr3PTZhwgSjQYMGRn5+/jk/0263G2FhYcZnn31mGIZhNG/e3Bg7dqwRHh5uGIZhrF692vDw8DCysrIMwzCM559/3mjWrJnj+XfccYfRr18/p31Onz7dCAgIMNLS0s77Op9//nnDz8/PyMzMdNz36KOPGm3bti3xe2UYhlFpjzA1bdrUaRwZGUlKSso52/366680bdoUHx8fx31t2rQpdp+RkZEAjn2OHDmSu+++m+7du/Pqq6+yb98+x7Z/TtTLly+na9eudO3aleXLl180TV9ISkoKR48epVu3bhfd7s/1+vv7ExAQcN73QEREqq5du3bh4eFB27ZtHfeFhoZy2WWXsWvXLqB032M33XQTubm51KtXj6FDhzJ//nwKCwsBnI5WnThxgh07dnDvvfdSVFTErl27WLZsGS1btixV39KWLVto0aIFISEhF9wmJiaGgIAAx/hCmeBiKm1g8vT0dBrbbDanw3NnGIaBzWY7577i9nnmOWf2OXr0aHbs2MG1117L999/T6NGjZg/fz4ATZo0ITQ0lOXLlzs+aF26dGH58uWsX7+e3NxcOnbsWOLX5uvrW6LtSvoeiIhI1XWh77w/fz+W5nssOjqaX3/9lbfeegtfX1+GDx9O586dKSgoAMzwtWzZMlasWEGzZs0IDg6mc+fOLF++nGXLljn16pZESb4Ty+L7sNIGppJq2LAhP//8M3l5eY77NmzY8Jf21aBBAx5++GEWL15M//79mTVrFvBHov7888/Zvn07nTp1IiEhgYKCAt555x1atmzplHz/zMvLC4CioiLHfQEBAcTExDhdaikiIvJXNGrUiMLCQqcm6bS0NHbv3s3ll18OlP57zNfXl+uvv54pU6awbNky1qxZw7Zt24A/jlZ99tlnjnDUpUsXli5dWuwZFy8vL6fvQzDPpmzZsqXce3SrfGC69dZbsdvt3HPPPezatYtvv/2W119/HeCcI08XkpubywMPPMCyZcs4ePAgq1atYv369Y4PGpgfkI8++oimTZsSGBjo+PD997//vWiaDg8Px9fXl0WLFvH777+TkZEBmEe0JkyYwJQpU9izZw+bNm1i6tSpf/2NEBGRKik+Pp5+/foxdOhQVq5cydatW/nnP/9JrVq16Nevn2O7kn6PzZ49m5kzZ7J9+3b279/PnDlz8PX1pW7dusAfR6v+/LyuXbuyYMGCYs+4xMTE8PPPP/Prr7+SmppKQUEBt9xyCxEREdxwww2sWrWK/fv3M3fuXNasWVOm71OVD0yBgYF88cUXbNmyhebNm/P000/z3HPPATj1NV2Mu7s7aWlp3H777TRo0ICBAwfSu3dvxowZ49jmqquuoqioyOlD1aVLF4qKii6apj08PJgyZQrTp08nKirK8eG94447mDx5Mm+//TaNGzemb9++jktARURESmPWrFm0atWKvn370q5dOwzD4Ouvv3Y6lVXS77Hg4GBmzJhBhw4daNq0Kd999x1ffPEFoaGhgHkw4sz2nTp1AsyjREFBQbRo0YLAwMAL1jl06FAuu+wyWrduTY0aNVi1ahVeXl4sXryY8PBw+vTpQ0JCAq+++iru7u5l+RZhMy508rIK++9//8udd95JRkZGifuFREREpPKqkjN9n+2DDz6gXr161KpVi61bt/L4448zcOBAhSUREREBFJgASE5O5rnnniM5OZnIyEhuuukmXn75ZavLEhERERehU3IiIiIixajyTd8iIiIixVFgEhERESmGApOIiIhIMRSYRERERIqhwCQiIiJSDAUmEanyYmJimDx5stVliIgL07QCIlLlHTt2DH9/f/z8/KwuRURclAKTiIiISDF0Sk5EXMpnn31GQkICvr6+hIaG0r17d06ePAmYC4Refvnl+Pj40LBhQ95++23H8/Lz83nggQeIjIzEx8eHmJgYxo4d63h89OjR1KlTB29vb6KionjooYccj519Su7QoUP069ePatWqERgYyMCBA/n999+d9tW8eXPmzJlDTEwMQUFB3HzzzWRlZZXjOyMiVtLSKCLiMpKSkrjlllsYP348N954I1lZWaxYsQLDMJgxYwbPP/88b775Ji1atGDz5s0MHToUf39/7rjjDqZMmcLChQv59NNPqVOnDocPH+bw4cOAGcImTZrExx9/TOPGjUlOTmbr1q3nrcEwDG644Qb8/f1Zvnw5hYWFDB8+nEGDBrFs2TLHdvv27WPBggV8+eWXpKenM3DgQF599VUtqyRSSSkwiYjLSEpKorCwkP79+1O3bl0AEhISAHjxxReZMGEC/fv3ByA2NpadO3cyffp07rjjDg4dOkR8fDwdO3bEZrM5ng/mEaOIiAi6d++Op6cnderUoU2bNuetYenSpfz8888kJiYSHR0NwJw5c2jcuDHr16/niiuuAMButzN79mwCAgIA+Ne//sV3332nwCRSSemUnIi4jGbNmtGtWzcSEhK46aabmDFjBunp6Rw7dozDhw8zZMgQqlWr5ri99NJL7Nu3D4DBgwezZcsWLrvsMh566CEWL17s2O9NN91Ebm4u9erVY+jQocyfP5/CwsLz1rBr1y6io6MdYQmgUaNGBAcHs2vXLsd9MTExjrAEEBkZSUpKSlm/JSLiIhSYRMRluLu7s2TJEr755hsaNWrE1KlTueyyy9i/fz8AM2bMYMuWLY7b9u3b+emnnwBo2bIliYmJvPjii+Tm5jJw4ED+8Y9/ABAdHc2vv/7KW2+9ha+vL8OHD6dz584UFBScU4NhGNhstmLv9/T0dHrcZrNht9vL7L0QEdeiwCQiLsVms9GhQwfGjBnD5s2b8fLyYtWqVdSqVYv9+/cTFxfndIuNjXU8NzAwkEGDBjFjxgw++eQT5s6dy/HjxwHw9fXl+uuvZ8qUKSxbtow1a9awbdu2c35+o0aNOHTokKP/CWDnzp1kZGRw+eWXl/8bICIuST1MIuIy1q5dy3fffUePHj0IDw9n7dq1HDt2jMsvv5zRo0fz0EMPERgYSO/evcnLy2PDhg2kp6czcuRIJk2aRGRkJM2bN8fNzY3/+7//IyIiguDgYGbPnk1RURFt27bFz8+POXPm4Ovr69TndEb37t1p2rQpt912G5MnT3Y0fXfp0oXWrVtb8K6IiCtQYBIRlxEYGMiPP/7I5MmTyczMpG7dukyYMIHevXsD4Ofnx2uvvcZjjz2Gv78/CQkJjBgxAoBq1aoxbtw49uzZg7u7O1dccQVff/01bm5uBAcH8+qrrzJy5EiKiopISEjgiy++IDQ09JwabDYbCxYs4MEHH6Rz5864ubnRq1cvpk6deinfChFxMZq4UkRERKQY6mESERERKYYCk4iIiEgxFJhEREREiqHAJCIiIlIMBSYRERGRYigwiYiIiBRDgUlERESkGApMIiIiIsVQYBIREREphgKTiIiISDEUmERERESKocAkIiIiUoz/B5Z6iADtp/X2AAAAAElFTkSuQmCC\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Group dataframe by both subject number and task_transition_type\n", "df_group = df.groupby(['session','task_transition_type']).response_time.mean()\n", "\n", "# Unstack the `task_transition_type` index, to place it as columns\n", "df_oo = df_group.unstack(level='task_transition_type')\n", "\n", "# Make the framework and place in \"fig\" and \"ax\" variables\n", "fig, ax = plt.subplots(figsize=(6, 4.5))\n", "ax.plot(df_oo)\n", "\n", "# Set axis labels on the \"ax\" variable\n", "ax.set_xlabel('session')\n", "ax.set_ylabel('response time')\n", "\n", "# Set different markers for each group; \"o\" refers to \"circle\", \"s\" refers to \"square\", can you see what's going on here?\n", "markers = ['o', 's']\n", "for i, line in enumerate(ax.get_lines()):\n", " line.set_marker(markers[i])\n", "\n", "# Explicitly state which xticks to use, here we only want \"1\" and \"2\" because those are our subject numbers\n", "ax.set_xticks(ticks=['lowswitch','highswitch'])\n", "\n", "# Update legend\n", "ax.legend(ax.get_lines(), [\"task-switch\", \"task-repetition\"], loc='best', ncol=2)\n", "\n", "# Show the dataframe in a tight layout\n", "plt.tight_layout()" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's continue. Next thing to check is how the response time distribution looks like. Many statistical tests assume a normal distribution, but is that the case in our response time distribution as well? Using matplotlib.pyplot and the object-oriented approach we can easily make a histogram plot by specifying the column that should be plotted:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": "
    ", "image/png": "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f9G3vvUtrVixQtnZ2Vq1alWsWgIAAJaIyTUora2tqqys1Pz580P2FxUVae/evR3qg8GggsGg89jv90uSAoFAVPprD34eleMCANBVROM19vwxjTGXrY1JQPnrX/+qs2fPKjMzM2R/ZmamGhoaOtSXlZVpyZIlHfZnZ2dHrUcAALozz4roHbu5uVkej+eSNTG9i8flcoU8NsZ02CdJCxYsUGlpqfO4vb1df/vb39S7d+9O620XCASUnZ2turo6paamxrqdmGEdvsJanMM6fIW1OId1OCde1sEYo+bmZvl8vsvWxiSgpKenKyEhocPZksbGxg5nVSTJ7XbL7XaH7PvGN74RzRavi9TU1C79ixYprMNXWItzWIevsBbnsA7nxMM6XO7MyXkxuUg2KSlJBQUFKi8vD9lfXl6uIUOGxKIlAABgkZi9xVNaWqopU6Zo4MCB+u53v6uf//znOn78uL7//e/HqiUAAGCJmAWURx99VCdPntSPf/xj1dfXKy8vT9u3b1dOTk6sWrpu3G63Fi1a1OFtq+6GdfgKa3EO6/AV1uIc1uGc7rgOLnMl9/oAAABcR3xZIAAAsA4BBQAAWIeAAgAArENAAQAA1iGgREhZWZnuuusupaSkKCMjQw8++KA+/vjjkBpjjBYvXiyfz6fk5GQVFhbq8OHDITXBYFCzZ89Wenq6evXqpXHjxunEiRPXcyoRVVZWJpfLpZKSEmdfd1qHP//5z/re976n3r17q2fPnvrOd76jyspKZ7w7rMWXX36pf//3f1dubq6Sk5N166236sc//rHa29udmnhch927d2vs2LHy+XxyuVzasmVLyHik5tzU1KQpU6bI4/HI4/FoypQpOnXqVJRnF55LrUVbW5vmzZun/Px89erVSz6fT48//rg+/fTTkGPEw1pc7nfi65588km5XC6tWLEiZH88rMMVM4iIkSNHmtWrV5tDhw6Z6upqM3r0aNO3b1/T0tLi1CxbtsykpKSYX/3qV+bgwYPm0UcfNVlZWSYQCDg13//+980tt9xiysvLTVVVlRk+fLgZMGCA+fLLL2MxrWuyf/9+069fP/Ptb3/bPP30087+7rIOf/vb30xOTo6ZNm2a+f3vf29qa2vNjh07zJEjR5ya7rAWzz33nOndu7f57W9/a2pra80vf/lL83d/93dmxYoVTk08rsP27dvNwoULza9+9SsjyWzevDlkPFJzHjVqlMnLyzN79+41e/fuNXl5eWbMmDHXa5pX5FJrcerUKTNixAizceNG84c//MHs27fPDBo0yBQUFIQcIx7W4nK/E+dt3rzZDBgwwPh8PvPiiy+GjMXDOlwpAkqUNDY2GkmmoqLCGGNMe3u78Xq9ZtmyZU7NF198YTwej/nv//5vY8y5/1F79OhhNmzY4NT8+c9/NjfccIP53e9+d30ncI2am5tN//79TXl5uRk2bJgTULrTOsybN88MHTr0ouPdZS1Gjx5tnnjiiZB948ePN9/73veMMd1jHS58MYrUnD/66CMjybz77rtOzb59+4wk84c//CHKs7o6l3phPm///v1Gkjl27JgxJj7X4mLrcOLECXPLLbeYQ4cOmZycnJCAEo/rcCm8xRMlfr9fkpSWliZJqq2tVUNDg4qKipwat9utYcOGae/evZKkyspKtbW1hdT4fD7l5eU5NV3FzJkzNXr0aI0YMSJkf3dah61bt2rgwIF65JFHlJGRoTvuuEP/8z//44x3l7UYOnSo3nrrLX3yySeSpA8++EB79uzRAw88IKn7rMPXRWrO+/btk8fj0aBBg5yawYMHy+PxdMl1Oc/v98vlcjnfudZd1qK9vV1TpkzRM888o9tvv73DeHdZh/Ni+m3G8coYo9LSUg0dOlR5eXmS5Hwx4oVfhpiZmaljx445NUlJSbrppps61Fz4xYo227Bhg6qqqnTgwIEOY91pHf70pz9p1apVKi0t1Q9/+EPt379fP/jBD+R2u/X44493m7WYN2+e/H6/vvnNbyohIUFnz57VT37yEz322GOSutfvxHmRmnNDQ4MyMjI6HD8jI6NLroskffHFF5o/f74mTZrkfCled1mLn/70p0pMTNQPfvCDTse7yzqcR0CJglmzZunDDz/Unj17Ooy5XK6Qx8aYDvsudCU1tqirq9PTTz+tN998UzfeeONF6+J9HaRz/xoaOHCgli5dKkm64447dPjwYa1atUqPP/64Uxfva7Fx40atXbtW69ev1+23367q6mqVlJTI5/Np6tSpTl28r0NnIjHnzuq76rq0tbVp4sSJam9v18svv3zZ+nhai8rKSr300kuqqqoKu994Woev4y2eCJs9e7a2bt2qnTt3qk+fPs5+r9crSR0SbGNjo/OvKK/Xq9bWVjU1NV20xnaVlZVqbGxUQUGBEhMTlZiYqIqKCv3nf/6nEhMTnXnE+zpIUlZWlv7hH/4hZN+3vvUtHT9+XFL3+Z145plnNH/+fE2cOFH5+fmaMmWK/u3f/k1lZWWSus86fF2k5uz1evXZZ591OP5f/vKXLrcubW1tmjBhgmpra1VeXu6cPZG6x1q88847amxsVN++fZ2/nceOHdOcOXPUr18/Sd1jHb6OgBIhxhjNmjVLmzZt0ttvv63c3NyQ8dzcXHm9XpWXlzv7WltbVVFRoSFDhkiSCgoK1KNHj5Ca+vp6HTp0yKmx3X333aeDBw+qurra2QYOHKjJkyerurpat956a7dYB0m6++67O9xq/sknnzhfiNldfic+//xz3XBD6J+ahIQE5zbj7rIOXxepOX/3u9+V3+/X/v37nZrf//738vv9XWpdzoeTmpoa7dixQ7179w4Z7w5rMWXKFH344Ychfzt9Pp+eeeYZvfHGG5K6xzqEuO6X5capf/3XfzUej8fs2rXL1NfXO9vnn3/u1Cxbtsx4PB6zadMmc/DgQfPYY491elthnz59zI4dO0xVVZW59957rb6V8kp8/S4eY7rPOuzfv98kJiaan/zkJ6ampsasW7fO9OzZ06xdu9ap6Q5rMXXqVHPLLbc4txlv2rTJpKenm2effdapicd1aG5uNu+//755//33jSSzfPly8/777zt3pkRqzqNGjTLf/va3zb59+8y+fftMfn6+dbeUXmot2trazLhx40yfPn1MdXV1yN/PYDDoHCMe1uJyvxMXuvAuHmPiYx2uFAElQiR1uq1evdqpaW9vN4sWLTJer9e43W5zzz33mIMHD4Yc58yZM2bWrFkmLS3NJCcnmzFjxpjjx49f59lE1oUBpTutw29+8xuTl5dn3G63+eY3v2l+/vOfh4x3h7UIBALm6aefNn379jU33nijufXWW83ChQtDXnzicR127tzZ6d+EqVOnGmMiN+eTJ0+ayZMnm5SUFJOSkmImT55smpqartMsr8yl1qK2tvaifz937tzpHCMe1uJyvxMX6iygxMM6XCmXMcZcjzM1AAAAV4prUAAAgHUIKAAAwDoEFAAAYB0CCgAAsA4BBQAAWIeAAgAArENAAQAA1iGgAAAA6xBQAACAdQgoAADAOgQUAABgHQIKAACwzv8DuKZA1j6wRjUAAAAASUVORK5CYII=\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Make the framework and place in \"fig\" and \"ax\" variables\n", "fig, ax = plt.subplots()\n", "\n", "# Specify that the column \"response_time\" of dataframe \"df\" needs to be plotted in a histogram \"hist\". Place this in \"ax\"\n", "ax.hist(df['response_time'])\n", "\n", "# Show the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That's a good start. However, we are still missing lots of things in this plot. There are no labels for the x- and y-axis, there is no title for the plot, I think we need a few more bins, the graph could be a bit wider, and I am also not happy about the background colour. This is where the real power of object-oriented coding in matplotlib shows itself: you can customize virtually anything you want in these plots." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": "
    ", "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8,6), # Change size to width,height in inches\n", " facecolor='grey', # Change background colour to grey\n", " frameon=False)\n", "\n", "ax.hist(df['response_time'],\n", " bins=30) # Bins defines the amount of bins you want to plot\n", "\n", "ax.set_xlabel(\"RT\", size=14) # label on the x-axis, size defines font size\n", "ax.set_ylabel(\"Count\", size=14) # label on the y-axis, size defines font size\n", "ax.set_title(\"Response time distribution\") # title of the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also make overlays to compare two distributions. Let's for example see how the distribution of correct versus incorrect trials look like." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": "
    ", "image/png": "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oWtH4xp4JUlSty1YsIBFixax7rrrMnjw4EaXo0wMGjSIfv368fTTT7NgwQIGDhzYpe140pokSaqbro7ASW2px3PKZ6UkSZKyZuCVJElS1jyGV5IkLVVNzU09u79xPbu/3m7y5MlMmDCB1157rcPrjB49mgkTJjBhwoSlVlc9OcIrSZLUSzQ1NbH11lsvsd348ePZb7/9OrTNAw88kH/+85/dK2wZ5wivJElSHS1YsKDmNWPffvtt+vXr14CK2vb2228zaNAgBg0a1OhSlipHeCVJ0nJt0aJFnHXWWYwZM4YBAwYwatQoTjvttNblU6dOZbfddmPQoEGsssoqHHHEEcyZM6d1ecto6hlnnMFaa63FRhttxPTp04kIfvGLXzBu3DgGDhzIVVddBcCkSZPYdNNNGThwIJtssgnf//7331PPc889x0EHHcTKK6/MkCFDGDt2LPfeey+TJ0/m5JNP5uGHHyYiiAgmT5682P1pamri8ssv5ze/+U1ru+bm5jZrmjx5MiNGjGhd/8knn2TfffdljTXWYOjQoWy33Xbcdttt7fZhU1MTo0aNYsCAAay11locffTRXXgklh5HeCVJ0nLtxBNP5LLLLuP888/nQx/6EM8//zyPPfYYAHPnzmWvvfZihx124L777uPFF1/ki1/8IkcdddR7wubtt9/O8OHDufXWW0kptc4/4YQTOPfcc5k0aRIDBgzgsssuY+LEiVxyySVss802PPTQQxx++OEMGTKEQw45hDlz5rDLLruw9tprc/311zNy5EgefPBBFi1axIEHHsgjjzzC73//+9YAuuKKKy52f775zW/y6KOPMnv2bCZNmgTAyiuvzIwZM2rWdMstt7xn/Tlz5rD33ntz6qmnMnDgQC6//HL22WcfHn/8cUaNGrXY/q655hrOP/98fv7zn7P55pszc+ZMHn744e49KHVm4JUkScutN954gwsvvJBLLrmEQw45BIANN9yQD33oQwD89Kc/5a233uKKK65gyJAhAFxyySXss88+nHXWWayxxhoADBkyhP/5n/9pPZRh+vTpAEyYMIEDDjigdX+nnHIK5557buu89ddfn3/84x/86Ec/4pBDDuHqq69m1qxZ3Hfffay88soAjBkzpnX9oUOH0rdvX0aOHNnmfRo6dCiDBg1i/vz5NdtV11Rtq622Yquttmq9feqpp3Lddddx/fXXc9RRRy3W/plnnmHkyJHsscce9OvXj1GjRvGBD3ygze03goc0SJKk5dajjz7K/Pnz2X333dtcvtVWW7WGXYCddtqJRYsW8fjjj7fO22KLLWoetzt27NjW32fNmsWzzz7LF77wBYYOHdo6nXrqqTz55JMATJkyhW222aY17C4NlTXV8uabb3L88cez2WabMWLECIYOHcpjjz3GM888U7P9pz/9ad566y022GADDj/8cK677jreeeedpVF6lznCK0mSlltLOlkrpURE1FxWOb8yEFeqnL9o0SIALrvsMrbffvv3tOvTp0+H6qmHtmptcdxxx3HzzTdzzjnnMGbMGAYNGsSnPvUpFixYULP9uuuuy+OPP86tt97KbbfdxpFHHsnZZ5/NH//4x2XmJD1HeCVJ0nLrfe97H4MGDeL222+vuXyzzTZjypQpvPnmm63z7rrrLlZYYQU22mijTu1rjTXWYO211+app55izJgx75nWX399ALbcckumTJnCK6+8UnMb/fv3Z+HChUvcV0fb1fKnP/2J8ePHs//++7PFFlswcuTI1kM02jJo0CA+8YlPcNFFF9Hc3Mw999zD1KlTu7T/pcERXkk1eaF4ScuDgQMHcsIJJ3D88cfTv39/dtppJ2bNmsXf//53vvCFL/DZz36WiRMncsghh9DU1MSsWbP42te+xuc///nW43c7o6mpiaOPPprhw4fzsY99jPnz53P//ffz6quvcswxx/CZz3yG008/vfWqD2uuuSYPPfQQa621Fh/84AcZPXo006ZNY8qUKayzzjoMGzaMAQMGLLaf0aNHc/PNN/P444+zyiqr1Dy5rS1jxozh2muvZZ999iEi+Pa3v906Ol3L5MmTWbhwIdtvvz2DBw/myiuvZNCgQay33nqd7p+lxcArSZKWqmX9H9pvf/vb9O3bl+985zvMmDGDNddcky9/+csADB48mJtvvpmvf/3rbLfddgwePJhPfvKTnHfeeV3a1xe/+EUGDx7M2WefzfHHH8+QIUPYYostWr+xrH///txyyy0ce+yx7L333rzzzjtsttlmXHrppQB88pOf5Nprr2XXXXfltddeY9KkSYwfP36x/Rx++OE0NzczduxY5syZwx133MHo0aM7VOP555/PYYcdxo477siqq67KCSecwOzZs9tsP2LECM4880yOOeYYFi5cyBZbbMENN9zAKqus0tnuWWqi8tIZeldEDAdef/311xk+fHijy5F6nCO8kjpj3rx5TJs2jfXXX5+BAwc2uhxlpL3n1uzZs1tGr1dMKbWZyj2GV5IkSVlb5gJvROwcETdExIyISBGxX9XyiIimcvlbEdEcEZtXtRkQERdHxEsR8WZEXB8R6/ToHZEkSdIyYZkLvMAQ4GFg8SsbF44HjimXbwfMBG6NiGEVbS4A9gcOAj4EDAVujIg+S6lmSZIkLaOWuZPWUkq/A34HLHbduyhmTABOSyldW847BHgBOBj4UUSsCHwB+HxK6bayzeeAZ4E9gJt75I5IkiRpmbAsjvC2Z31gJND6pc8ppfnAH4Edy1nvB/pVtZkBPFLRZjHlYRDDWyZgWFttJUmS1Hv0tsDb8oXQL1TNf6Fi2UhgQUrp1Xba1HIi8HrF9Fz3SpUkSdKyoLcF3hbV11KLGvOqLanNGcCKFZMnuUmSJGWgtwXemeXP6pHa1Xl31Hcm0D8iVmqnzWJSSvNTSrNbJuCNehQsSZKkxuptgXcaRaDds2VGRPQHdgHuLmc9ALxd1WZN4D8q2kiSJGk5scxdpSEihgJjKmatHxFbA6+klJ6JiAuAkyLiCeAJ4CRgLnA1QErp9Yj4CXBuRLwMvAKcA0wFbuuxOyJJkgpNTcv0/saNG8fWW2/NBRdcsFTKyVFn+6y5uZldd92VV199lREjRizV2mpZ5gIvMBa4o+J2y5dVXw6MB74HDAK+D6wE3At8JKVUeQjCN4B3gF+UbW8HxqeUFi7VyiVJUq9z7bXX0q9fv0aXsdSMHj2aCRMmMGHChHbbRQTXXXcd++233xK32dv6bJkLvCmlZooTzNpanoCmcmqrzTzga+UkSZLUppVXXrnRJfD2228vFiBrzWu0lpqWhT7rjN52DK8kSVJdjRs37j2jn6NHj+b000/nsMMOY9iwYYwaNYof//jH71nnueee46CDDmLllVdmyJAhjB07lnvvvbd1+Q9+8AM23HBD+vfvz8Ybb8yVV175nvUjgh/+8Ifsu+++DBkyhFNPPZWmpia23npr/vd//5cNNtiAAQMGkFLi9ddf54gjjmD11Vdn+PDh7Lbbbjz88MPv2d7111/P2LFjGThwIKuuuioHHHBA6317+umn+cY3vkFELPalXpX3GWD//fcnIlpvt1VTdZ9dddVVjB07lmHDhjFy5EgOPvhgXnzxxTb7/Omnn2afffZhpZVWYsiQIWy++ebcdNNNbbbvLgOvJElSlXPPPZexY8fy0EMPceSRR/KVr3yFxx57DIA5c+awyy67MGPGDK6//noefvhhjj/+eBYtWgTAddddx9e//nWOPfZYHnnkEb70pS9x6KGHcscdd7xnHxMnTmTfffdl6tSpHHbYYQD861//4he/+AW/+tWvmDJlCgAf//jHmTlzJjfddBMPPPAA2267LbvvvjuvvPIKAL/97W854IAD+PjHP85DDz3E7bffztixY4Hi0IN11lmH7373uzz//PM8//zzNe/vfffdB8CkSZN4/vnnW2+3VVO1BQsWcMopp/Dwww/z61//mmnTpjF+/Pg2+/erX/0q8+fP584772Tq1KmcddZZDB06tJ1HpHuWuUMaJEmSGm3vvffmyCOPBOCEE07g/PPPp7m5mU022YSrr76aWbNmcd9997V+tD9mzLvn259zzjmMHz++df1jjjmGv/zlL5xzzjnsuuuure0OPvjg1qDbYsGCBVx55ZWsttpqAPzhD39g6tSpvPjiiwwYMKB1+7/+9a+55pprOOKIIzjttNM46KCDOPnkk1u3s9VWWwHF4Rp9+vRpHXltS8v+RowYsVi76ppqqbwfG2ywARdddBEf+MAHmDNnTs0g+8wzz/DJT36SLbbYonWdpckRXkmSpCpbbrll6+8RwciRI1s/op8yZQrbbLNNm8exPvroo+y0007vmbfTTjvx6KOPvmdeyyhspfXWW+89wfKBBx5gzpw5rLLKKgwdOrR1mjZtGk8++WRrPbvvvnvX7mgHVNdUy0MPPcS+++7Leuutx7Bhwxg3bhxQBNtajj76aE499VR22mknJk6cyN/+9rd6l/0eBl5JkqQq1SeLRUTrIQuDBg1a4vrVx8qmlBabN2TIkMXWq563aNEi1lxzTaZMmfKe6fHHH+e4447rcD3dUavOSm+++SYf+chHGDp0KFdddRX33Xcf1113HVCMDtfyxS9+kaeeeorPf/7zTJ06lbFjx3LxxRfXvfYWBl5JkqRO2HLLLZkyZUrrMbTVNt10U/785z+/Z97dd9/Npptu2ul9bbvttsycOZO+ffsyZsyY90yrrrpqaz233357m9vo378/Cxcu+cqs/fr161C7ao899hgvvfQSZ555Jh/+8IfZZJNN2j1hrcW6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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8,6), # Change size to width,height in inches\n", " facecolor='grey', # Change background colour to grey\n", " frameon=False) # Remove background behind the bars\n", "\n", "# Here we make two dataframes, one with only correct trials and another with only incorrect trials\n", "correct_trials = df[df['correct'] == 1]\n", "incorrect_trials = df[df['correct'] == 0]\n", "\n", "# Then we make two histograms. Matplotlib will place items you make in the same figure in the same \"ax\" if you define it so.\n", "ax.hist(correct_trials['response_time'],\n", " bins=20,\n", " alpha=0.5, # This defines opacity of the bars\n", " color='green',\n", " label=\"correct trials\") # This defines the label that the bar gets, for the legend\n", "\n", "ax.hist(incorrect_trials['response_time'],\n", " bins=20,\n", " alpha=0.5,\n", " color='red',\n", " label=\"incorrect trials\")\n", "\n", "ax.set_xlabel(\"RT\", size=14)\n", "ax.set_ylabel(\"Count\", size=14)\n", "ax.set_title(\"Correct vs incorrect response time distributions\")\n", "ax.legend(loc='upper right') # This tells matplotlib to create a legend, and place it on the upper right field of the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "source": [ "Three things to note here:\n", "- Our data seems to be *right-skewed*, and not normally distributed\n", "- There are some unrealistically quick responses (under 200 milliseconds)\n", "- There is a big peak just at the end of the trial of wrong responses (in the last bin)\n", "\n", "The first two points we will have to consider during our outlier analysis. The last point however, should get you alarmed. It could be that participants have amazing internal clocks that tell them that the maximum trial time is almost over, so they must just guess. However, what happened here is that our logger gave the maximum response time (1500ms) to trials where there was **no response**. Spotting anomalies like this is one of the key advantages of plotting as much as possible. Luckily, we have a column that shows which button was pressed called *response*. Let's fix this error:" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 27, "outputs": [ { "data": { "text/plain": "
    ", "image/png": "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OnY0roFXkiR12qJFi1iyZAnrrrsuQ4cOrXc5ysSQIUMYMGAATz31FIsWLWLw4MEd2o4nrUmSpC7T0RE4qSVd8ZzyWSlJkqSsGXglSZKUNY/hlSRJ3aqhsaFn9zexZ/fX102bNo3Jkyfz6quvtnmdsWPHMnnyZCZPntxtdXUlR3glSZL6iIaGBrbaaqtltps0aRL77rtvm7Z5wAEH8M9//rNzhfVyjvBKkiR1oUWLFtW8Zuzbb7/NgAED6lBRy95++22GDBnCkCFD6l1Kt3KEV5IkLdeWLFnCmWeeyfjx4xk0aBBjxozh1FNPbV4+Y8YMdt11V4YMGcIqq6zC4Ycfzrx585qXN42mnn766ay11lpsuOGGzJo1i4jgF7/4BRMnTmTw4MFceeWVAEydOpVNNtmEwYMHs/HGG/P973//PfU8++yzHHjggay88soMGzaMCRMmcM899zBt2jROOukkHnroISKCiGDatGlL3Z+GhgYuu+wyfvOb3zS3a2xsbLGmadOmMWrUqOb1n3jiCfbZZx/WWGMNhg8fzrbbbsutt97aah82NDQwZswYBg0axFprrcVRRx3VgUei+zjCK0mSlmsnnHACl156Keeddx4f+tCHeO6553j00UcBmD9/PnvuuSfbb7899957Ly+88AJf/OIXOfLII98TNm+77TZGjhzJLbfcQkqpef7xxx/POeecw9SpUxk0aBCXXnopU6ZM4eKLL2brrbfmwQcf5LDDDmPYsGEcfPDBzJs3j5133pm1116b6667jtGjR/PAAw+wZMkSDjjgAB5++GF+//vfNwfQFVdccan7881vfpNHHnmE119/nalTpwKw8sorM3v27Jo13Xzzze9Zf968eey1116ccsopDB48mMsuu4y9996bxx57jDFjxiy1v6uvvprzzjuPn//852y22WbMmTOHhx56qHMPShcz8EqSpOXWG2+8wQUXXMDFF1/MwQcfDMAGG2zAhz70IQB++tOf8tZbb3H55ZczbNgwAC6++GL23ntvzjzzTNZYYw0Ahg0bxv/8z/80H8owa9YsACZPnsz+++/fvL+TTz6Zc845p3neuHHj+Mc//sGPfvQjDj74YK666irmzp3Lvffey8orrwzA+PHjm9cfPnw4/fv3Z/To0S3ep+HDhzNkyBAWLlxYs111TdW23HJLttxyy+bbp5xyCtdeey3XXXcdRx555FLtn376aUaPHs3uu+/OgAEDGDNmDB/4wAda3H49eEiDJElabj3yyCMsXLiQ3XbbrcXlW265ZXPYBdhxxx1ZsmQJjz32WPO8zTffvOZxuxMmTGj+fe7cuTzzzDN84QtfYPjw4c3TKaecwhNPPAHA9OnT2XrrrZvDbneorKmWN998k+OOO45NN92UUaNGMXz4cB599FGefvrpmu0//elP89Zbb7H++utz2GGHce211/LOO+90R+kd5givJElabi3rZK2UEhFRc1nl/MpAXKly/pIlSwC49NJL2W677d7Trl+/fm2qpyu0VGuTY489lptuuomzzz6b8ePHM2TIED71qU+xaNGimu3XXXddHnvsMW655RZuvfVWjjjiCM466yz++Mc/9pqT9BzhlSRJy633ve99DBkyhNtuu63m8k033ZTp06fz5ptvNs+78847WWGFFdhwww3bta811liDtddemyeffJLx48e/Zxo3bhwAW2yxBdOnT+fll1+uuY2BAweyePHiZe6rre1q+dOf/sSkSZPYb7/92HzzzRk9enTzIRotGTJkCJ/4xCe48MILaWxs5O6772bGjBkd2n93cIRXUpt58XhJuRk8eDDHH388xx13HAMHDmTHHXdk7ty5/P3vf+cLX/gCn/3sZ5kyZQoHH3wwDQ0NzJ07l6997Wt8/vOfbz5+tz0aGho46qijGDlyJB/72MdYuHAh9913H6+88gpHH300n/nMZzjttNOar/qw5ppr8uCDD7LWWmvxwQ9+kLFjxzJz5kymT5/OOuusw4gRIxg0aNBS+xk7diw33XQTjz32GKusskrNk9taMn78eK655hr23ntvIoJvf/vbzaPTtUybNo3Fixez3XbbMXToUK644gqGDBnCeuut1+7+6S4GXkmS1K16+z+v3/72t+nfvz/f+c53mD17NmuuuSZf/vKXARg6dCg33XQTX//619l2220ZOnQon/zkJzn33HM7tK8vfvGLDB06lLPOOovjjjuOYcOGsfnmmzd/Y9nAgQO5+eabOeaYY9hrr71455132HTTTbnkkksA+OQnP8k111zDLrvswquvvsrUqVOZNGnSUvs57LDDaGxsZMKECcybN4/bb7+dsWPHtqnG8847j0MPPZQddtiBVVddleOPP57XX3+9xfajRo3ijDPO4Oijj2bx4sVsvvnmXH/99ayyyirt7Z5uE5WXztC7ImIk8Nprr73GyJEj612O1Cs4wiupJQsWLGDmzJmMGzeOwYMH17scZaS159brr7/eNHq9YkqpxVTuMbySJEnKWq8LvBGxU0RcHxGzIyJFxL5VyyMiGsrlb0VEY0RsVtVmUERcFBEvRsSbEXFdRKzTo3dEkiRJvUKvC7zAMOAhYOkrGxeOA44ul28LzAFuiYgRFW3OB/YDDgQ+BAwHboiIft1UsyRJknqpXnfSWkrpd8DvgKWuexfFjMnAqSmla8p5BwPPAwcBP4qIFYEvAJ9PKd1atvkc8AywO3BTj9wRSZIk9Qq9cYS3NeOA0UDzlz6nlBYCfwR2KGe9HxhQ1WY28HBFm6WUh0GMbJqAES21lSRJUt/R1wJv0xdCP181//mKZaOBRSmlV1ppU8sJwGsV07OdK1WSJEm9QV8LvE2qr6UWNeZVW1ab04EVKyZPcpMkScpAXwu8c8qf1SO1q/PuqO8cYGBErNRKm6WklBamlF5vmoA3uqJgSZIk1VdfC7wzKQLtHk0zImIgsDNwVznrfuDtqjZrAv9R0UaSJEnLiV53lYaIGA6Mr5g1LiK2Al5OKT0dEecDJ0bE48DjwInAfOAqgJTSaxHxE+CciHgJeBk4G5gB3Npjd0SSJBUaGnr1/iZOnMhWW23F+eef3y3l5Ki9fdbY2Mguu+zCK6+8wqhRo7q1tlp6XeAFJgC3V9xu+rLqy4BJwPeAIcD3gZWAe4CPpJQqD0H4BvAO8Iuy7W3ApJTS4m6tXJIk9TnXXHMNAwYMqHcZ3Wbs2LFMnjyZyZMnt9ouIrj22mvZd999l7nNvtZnvS7wppQaKU4wa2l5AhrKqaU2C4CvlZMkSVKLVl555XqXwNtvv71UgKw1r96aauoNfdYefe0YXkmSpC41ceLE94x+jh07ltNOO41DDz2UESNGMGbMGH784x+/Z51nn32WAw88kJVXXplhw4YxYcIE7rnnnublP/jBD9hggw0YOHAgG220EVdcccV71o8IfvjDH7LPPvswbNgwTjnlFBoaGthqq6343//9X9Zff30GDRpESonXXnuNww8/nNVXX52RI0ey66678tBDD71ne9dddx0TJkxg8ODBrLrqquy///7N9+2pp57iG9/4BhGx1Jd6Vd5ngP3224+IaL7dUk3VfXbllVcyYcIERowYwejRoznooIN44YUXWuzzp556ir333puVVlqJYcOGsdlmm3HjjTe22L6zDLySJElVzjnnHCZMmMCDDz7IEUccwVe+8hUeffRRAObNm8fOO+/M7Nmzue6663jooYc47rjjWLJkCQDXXnstX//61znmmGN4+OGH+dKXvsQhhxzC7bff/p59TJkyhX322YcZM2Zw6KGHAvCvf/2LX/ziF/zqV79i+vTpAHz84x9nzpw53Hjjjdx///1ss8027Lbbbrz88ssA/Pa3v2X//ffn4x//OA8++CC33XYbEyZMAIpDD9ZZZx2++93v8txzz/Hcc8/VvL/33nsvAFOnTuW5555rvt1STdUWLVrEySefzEMPPcSvf/1rZs6cyaRJk1rs369+9assXLiQO+64gxkzZnDmmWcyfPjwVh6Rzul1hzRIkiTV21577cURRxwBwPHHH895551HY2MjG2+8MVdddRVz587l3nvvbf5of/z4d8+3P/vss5k0aVLz+kcffTR/+ctfOPvss9lll12a2x100EHNQbfJokWLuOKKK1httdUA+MMf/sCMGTN44YUXGDRoUPP2f/3rX3P11Vdz+OGHc+qpp3LggQdy0kknNW9nyy23BIrDNfr169c88tqSpv2NGjVqqXbVNdVSeT/WX399LrzwQj7wgQ8wb968mkH26aef5pOf/CSbb7558zrdyRFeSZKkKltssUXz7xHB6NGjmz+inz59OltvvXWLx7E+8sgj7Ljjju+Zt+OOO/LII4+8Z17TKGyl9dZb7z3B8v7772fevHmsssoqDB8+vHmaOXMmTzzxRHM9u+22W8fuaBtU11TLgw8+yD777MN6663HiBEjmDhxIlAE21qOOuooTjnlFHbccUemTJnC3/72t64u+z0MvJIkSVWqTxaLiOZDFoYMGbLM9auPlU0pLTVv2LBhS61XPW/JkiWsueaaTJ8+/T3TY489xrHHHtvmejqjVp2V3nzzTT7ykY8wfPhwrrzySu69916uvfZaoBgdruWLX/wiTz75JJ///OeZMWMGEyZM4KKLLury2psYeCVJktphiy22YPr06c3H0FbbZJNN+POf//yeeXfddRebbLJJu/e1zTbbMGfOHPr378/48ePfM6266qrN9dx2220tbmPgwIEsXrzsK7MOGDCgTe2qPfroo7z44oucccYZfPjDH2bjjTdu9YS1Juuuuy5f/vKXueaaazjmmGO49NJL273vtjLwSpIktcNnPvMZRo8ezb777sudd97Jk08+ya9+9SvuvvtuAI499limTZvGD3/4Qx5//HHOPfdcrrnmGr75zW+2e1+77747H/zgB9l333256aabmDVrFnfddRf//d//zX333QcUJ7/97Gc/Y8qUKTzyyCPMmDGD733ve83bGDt2LHfccQf//ve/efHFF1vc19ixY7ntttuYM2cOr7zySptrHDNmDAMHDuSiiy7iySef5LrrruPkk09udZ3Jkydz0003MXPmTB544AH+8Ic/dOgfgrbypDVJktS9evqb1rrZwIEDufnmmznmmGPYa6+9eOedd9h000255JJLANh333254IILOOusszjqqKMYN24cU6dObT6utT0ightvvJFvfetbHHroocydO5fRo0ez0047scYaawDFpcd++ctfcvLJJ3PGGWcwcuRIdtppp+ZtfPe73+VLX/oSG2ywAQsXLqT4SoOlnXPOORx99NFceumlrL322syaNatNNa622mpMmzaNE088kQsvvJBtttmGs88+m0984hMtrrN48WK++tWv8uyzzzJy5Ej23HNPzjvvvLZ3TDtFS3d6eRcRI4HXXnvtNUaOHFnvcqReoaGxoWf3N7Fn9yep4xYsWMDMmTMZN24cgwcPrnc5ykhrz63XX3+dFVdcEWDFlNLrLW3DQxokSZKUNQOvJEmSsmbglSRJUtYMvJIkScqagVeSJHUZT4ZXV+uK55SBV5IkdVrTN5PNnz+/zpUoN03Pqepvv2sPr8MrSZI6rV+/fowaNar5G7aGDh261FfpSu2RUmL+/Pm88MILjBo1in79+nV4WwZeSZLUJUaPHg3Qpq+Vldpq1KhRzc+tjjLwSpKkLhERrLnmmqy++uq8/fbb9S5HGRgwYECnRnabGHglSVKX6tevX5eEFKmreNKaJEmSsmbglSRJUtYMvJIkScqagVeSJElZM/BKkiQpawZeSZIkZc3AK0mSpKwZeCVJkpQ1A68kSZKyZuCVJElS1gy8kiRJypqBV5IkSVkz8EqSJClrBl5JkiRlzcArSZKkrBl4JUmSlDUDryRJkrJm4JUkSVLWDLySJEnKmoFXkiRJWTPwSpIkKWsGXkmSJGWtf70LkKSWNDQ29Pw+J/b8PiVJ3csRXkmSJGXNwCtJkqSsGXglSZKUNQOv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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8,6), # Change size to width,height in inches\n", " facecolor='grey', # Change background colour to grey\n", " frameon=False) # Remove background behind the bars\n", "\n", "# Here we make two dataframes, one with only correct trials and another with only incorrect trials\n", "correct_trials = df[(df['correct'] == 1)]\n", "\n", "# To fix the issue, we make a double conditional: not only should the trial be incorrect, the response also should not be 'None'\n", "incorrect_trials = df[(df['correct'] == 0) & (df['response'] != 'None')]\n", "\n", "# Then we make two histograms. Matplotlib will place items you make in the same figure in the same \"ax\" if you define it so.\n", "ax.hist(correct_trials['response_time'],\n", " bins=20,\n", " alpha=0.5, # This defines opacity of the bars\n", " color='green',\n", " label=\"correct trials\") # This defines the label that the bar gets, for the legend\n", "\n", "ax.hist(incorrect_trials['response_time'],\n", " bins=20,\n", " alpha=0.5,\n", " color='red',\n", " label=\"incorrect trials\")\n", "\n", "ax.set_xlabel(\"RT\", size=14)\n", "ax.set_ylabel(\"Count\", size=14)\n", "ax.set_title(\"Correct vs incorrect response time distributions\")\n", "ax.legend(loc='upper right') # This tells matplotlib to create a legend, and place it on the upper right field of the plot\n", "plt.show()" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "The anomaly disappears!\n", "\n", "The last thing we will show here is how to easily make a histogram plot for each subject/condition. Often the distribution of reaction times does not only differ depending on whether the trial is correct or not, but it also differs per condition or per subject. This is important to keep in mind when you want to do an outlier analysis later: what is an outlier for one subject/condition doesn't have to be an outlier for another subject/condition.\n", "\n", "Below we make a so-called facet grid using seaborn. Later you will try to make this using the object-oriented approach, but this is one of the cases where using seaborn is just very convenient." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": "" }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": "
    ", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAJOCAYAAACqbjP2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABalklEQVR4nO3dd3xUZd7///fQhgApBEiTkMQICFJEYSkiBIRAVJaiLpZFsC1FYAM3KkUhWMCyIt6y6+reK+IqC99dRb0XDD1RBBQQFAERNBQhBRFSMEwguX5/+GNuh7QzkzKT5PV8PObxyDnXOdd8csxcvjnlGpsxxggAAABlquftAgAAAGoCQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITSpWUlKRrr73W22XUehxnVCf+3moOm82m999/v0r6jo6O1uLFi6uk79qM0FRLxMXFKTEx0dtlOL355psKCgrydhk1wowZM7Rx40bn8rhx4zRixAjvFQSfwee6bktPT1dCQoIk6ciRI7LZbNqzZ493i6rjGni7AKCuMsaosLBQzZo1U7NmzbxdDgAfExYW5u0ScBnONNUC48aNU2pqql5++WXZbDbZbDYdOXJEhYWFeuCBBxQTEyM/Pz+1b99eL7/8ssu+KSkp+s1vfqOmTZsqKChIN9xwg44ePVri+6Slpemqq67SxIkTVVRUVGo9KSkpuu+++5Sdne2sJykpSU8++aQ6d+5cbPvrr79ec+fOdf4uI0aM0Pz58xUSEqKAgACNHz9eBQUFzu2NMXr++ed15ZVXys/PT127dtW///1vTw6dZXFxcZo8ebImT56soKAgtWjRQo8//rh+/X3Xb7/9trp37y5/f3+FhYXp7rvvVlZWlrM9JSVFNptNa9euVffu3WW32/XJJ5+4XC5JSkrSsmXL9MEHHziPXUpKigYOHKjJkye71HT69GnZ7XZt2rSpSn93eAef6+r5XE+ZMkWJiYlq3ry5QkND9frrr+vcuXO677775O/vr9jYWH300UfOfawc/4sXL2rq1KnOseKxxx7T2LFjXc4gx8XFaerUqXr00UcVHByssLAwJSUlufTz68tzMTExkqRu3brJZrMpLi7O2c/lZyNHjBihcePGOZezsrI0bNgw+fn5KSYmRu+8806xY5Gdna0//OEPzv8+AwcO1JdffuneAa0LDGq8s2fPmt69e5uHHnrIpKenm/T0dHPx4kVTUFBg5s6daz7//HPz/fffm7fffts0adLErFy50hhjzIULF0xgYKCZMWOGOXz4sNm/f7958803zdGjR40xxsybN8907drVGGPM3r17TXh4uJk5c2a59TgcDrN48WITEBDgrCc3N9ccP37c1KtXz3z++efObb/88ktjs9nMd999Z4wxZuzYsaZZs2Zm9OjR5uuvvzb/+c9/TKtWrczs2bOd+8yePdtcffXVJjk52Xz33Xdm6dKlxm63m5SUlFJrGj9+vGnatGmZr0u/d0n69+9vmjVrZv74xz+ab775xnksX3/9dec2f//7382aNWvMd999Z7Zt22Z69eplEhISnO2bN282kkyXLl3MunXrzOHDh82PP/7ocpxzc3PN7373OzN06FDnsXM4HOadd94xzZs3N+fPn3f29/LLL5vo6GhTVFRU7n8T1Dx8rqvnc+3v72+eeuop8+2335qnnnrK1KtXzyQkJJjXX3/dfPvtt2bixImmRYsW5ty5c8YYU+7xN8aYp59+2gQHB5v33nvPHDhwwEyYMMEEBASY4cOHu7x3QECASUpKMt9++61ZtmyZsdlsZt26dc5tJJlVq1YZY4z5/PPPjSSzYcMGk56ebk6fPu3s549//KPL7zV8+HAzduxY53JCQoLp1KmT2bp1q9m5c6fp06eP8fPzMy+99JIxxpiioiJzww03mGHDhpkdO3aYb7/91vzXf/2XadGihfN98AtCUy1R0genJJMmTTK33XabMcaY06dPG0mlDkqXBtetW7ea4OBg88ILL1iuZ+nSpSYwMLDY+oSEBDNx4kTncmJioomLi3Mujx071gQHBzsHKGOMefXVV02zZs1MYWGhycvLM40bNzZbt2516feBBx4wd911V6n1ZGZmmkOHDpX5unDhQqn79+/f33To0MEloDz22GOmQ4cOpe5zaZDLzc01xvxfaHr//fddtvv1/8QuHYNfD67GGHP+/HkTHBzsMjBfe+21JikpqdT3R83H57rqP9d9+/Z1Ll+8eNE0bdrUjBkzxrkuPT3dSDLbtm0rtZ9fH39jjAkNDXU5rhcvXjRt2rQpFpp+/d7GGNOjRw/z2GOPOZd/HZrS0tKMJLN79+5iv0NZoengwYNGktm+fbuz/cCBA0aSMzRt3LjRBAQEuPyjzBhjYmNjzWuvvVbq710XcU9TLffXv/5V//M//6OjR48qPz9fBQUFzktBwcHBGjdunIYMGaLBgwdr0KBB+t3vfqfw8HDn/seOHdOgQYP09NNPa9q0aRWu56GHHtL999+vRYsWqX79+nrnnXf04osvumzTtWtXNWnSxLncu3dv5eXl6fjx48rKytL58+c1ePBgl30KCgrUrVu3Ut83JCREISEhFaq9V69estlsLnW9+OKLKiwsVP369bV7924lJSVpz549+umnn5yXOo4dO6aOHTs69+vevbvb72232/X73/9eb7zxhn73u99pz549+vLLL6vsyRr4Nj7Xv6iMz3WXLl2cP9evX18tWrRwudwYGhoqSS6X2ss6/tnZ2crMzNRvfvMbl36vv/76Ypc/f/3ekhQeHu7yPpXhwIEDatCggcu4c/XVV7vc0L9r1y7l5eWpRYsWLvvm5+fru+++q9R6ajpCUy32//7f/9O0adP04osvqnfv3vL399cLL7ygzz77zLnN0qVLNXXqVCUnJ2vlypV6/PHHtX79evXq1UuS1KpVK0VERGjFihV64IEHFBAQUKGahg0bJrvdrlWrVslut8vhcOi2226ztK/NZnMOOqtXr9YVV1zh0m6320vdd8KECXr77bfL7H///v1q06aNpVoud+7cOcXHxys+Pl5vv/22WrVqpWPHjmnIkCEu921IUtOmTT16jwcffFDXXnutfvjhB73xxhu66aabFBUV5VFfqLn4XP+fyvhcN2zYsFg9v1536R9Kl2q0cvx/vd8l5lf3P5b13mXdV1aSevXqFev7woULxd738np+raioSOHh4UpJSSnWxtOSrghNtUSjRo1UWFjosu6TTz5Rnz59NGnSJOe6kv7V0K1bN3Xr1k2zZs1S7969tXz5cufg6ufnp//85z+6+eabNWTIEK1bt07+/v4e1SNJDRo00NixY7V06VLZ7XbdeeedLv/6lKQvv/xS+fn58vPzkyRt375dzZo1U+vWrdW8eXPZ7XYdO3ZM/fv3L//A/P+efPJJzZgxo8xtIiIiymzfvn17seW2bduqfv36+uabb/Tjjz/q2WefVWRkpCRp586dluv7tdKOXefOndW9e3f97W9/0/Lly/XKK6941D9qDj7XZauMz7W7yjv+gYGBCg0N1eeff64bb7xR0i83j+/evbtC82M1atTI2devtWrVSunp6c7lwsJCff311xowYIAkqUOHDrp48aJ27tzpPPt18OBBnT171rnPddddp4yMDDVo0EDR0dEe11gXEJpqiejoaH322Wc6cuSImjVrpuDgYF111VV66623tHbtWsXExOgf//iHduzY4XwKIy0tTa+//rp++9vfKiIiQgcPHtS3336re++916Xvpk2bavXq1UpISFBCQoKSk5PLfUQ+OjpaeXl52rhxo/O0/KVB9MEHH1SHDh0kSZ9++mmxfQsKCvTAAw/o8ccf19GjRzVv3jxNnjxZ9erVk7+/v2bMmKFp06apqKhIffv2VU5OjrZu3apmzZpp7NixJdZTGafxjx8/runTp2v8+PH64osv9MorrzgvQbRp00aNGjXSK6+8ogkTJujrr7/WU0895dH7REdHa+3atTp48KBatGihwMBA579IH3zwQU2ePFlNmjTRyJEjK/T7wPfxua76z7W7yjv+kjRlyhQtXLhQV111la6++mq98sorOnPmTJlne8oTEhIiPz8/JScnq3Xr1mrcuLECAwM1cOBATZ8+XatXr1ZsbKxeeukll0DUvn17DR06VA899JBef/11NWjQQImJic7wKkmDBg1S7969NWLECD333HNq3769Tp48qTVr1mjEiBEe3VJQa3n5nipUkoMHD5pevXoZPz8/I8mkpaWZ8+fPm3HjxpnAwEATFBRkJk6caGbOnOm86TgjI8OMGDHChIeHm0aNGpmoqCgzd+5cU1hYaIwpfoNybm6u6dOnj7nxxhtNXl5euTVNmDDBtGjRwkgy8+bNc2m78cYbTceOHYvtc+km6Llz55oWLVqYZs2amQcffNDlBsWioiLz8ssvm/bt25uGDRuaVq1amSFDhpjU1FT3D5xF/fv3N5MmTXI+BdO8eXMzc+ZMlxvDly9fbqKjo43dbje9e/c2H374ocuNm5duBD9z5oxL35cf56ysLDN48GDTrFkzI8ls3rzZ2Zabm2uaNGliJk2aVGW/K3wHn+uq/1xffhN1VFSU8wbpS/SrG7LLO/7G/PIE4+TJk51jxWOPPWbuuOMOc+edd5b53pc/9fbr9zXGmL/97W8mMjLS1KtXz/Tv398Y88vTfBMnTjTBwcEmJCTELFy4sFg/6enp5pZbbjF2u920adPGvPXWW8V+z5ycHDNlyhQTERFhGjZsaCIjI80999xjjh07ZvFo1g02Y0q40ApUIWOMrr76ao0fP17Tp093aRs3bpzOnj3rczc4x8XF6dprr/X61w4cP35c0dHR2rFjh6677jqv1gL8Wk38XFeXoqIidejQQb/73e88PgMN38DlOVSrrKws/eMf/9CJEyd03333ebucGuPChQtKT0/XzJkz1atXLwITfAqfa1dHjx7VunXr1L9/fzkcDi1ZskRpaWm6++67vV0aKogZweGRhIQE59d/XP5asGBBqfuFhobq2Wef1euvv67mzZtXY8U126effqqoqCjt2rVLf/3rX71dDmopPteVo169enrzzTfVo0cP3XDDDdq7d682bNjgvOcLNReX5+CREydOKD8/v8S24OBgBQcHV3NFACqKzzVQNkITAACABVyeAwAAsIDQBAAAYEGtD03GGOXk5JQ4hT2AuouxAYC7an1oys3NVWBgoHJzc71dCgAfwtgAwF21PjQBAABUBkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWODV0PTqq6+qS5cuCggIUEBAgHr37q2PPvrI2W6MUVJSkiIiIuTn56e4uDjt27fPixUDAIC6yquhqXXr1nr22We1c+dO7dy5UwMHDtTw4cOdwej555/XokWLtGTJEu3YsUNhYWEaPHgw86oAAIBq53Nf2BscHKwXXnhB999/vyIiIpSYmKjHHntMkuRwOBQaGqrnnntO48ePt9RfTk6OAgMDlZ2drYCAgKosHUANwtgAwF0+c09TYWGhVqxYoXPnzql3795KS0tTRkaG4uPjndvY7Xb1799fW7du9WKlAACgLmrg7QL27t2r3r176/z582rWrJlWrVqljh07OoNRaGioy/ahoaE6evRoqf05HA45HA7nck5OTtUUDqBGYWwAUFFeP9PUvn177dmzR9u3b9fEiRM1duxY7d+/39lus9lctjfGFFv3awsXLlRgYKDzFRkZWWW1A6g5GBsAVJTP3dM0aNAgxcbG6rHHHlNsbKy++OILdevWzdk+fPhwBQUFadmyZSXuX9K/JiMjI7lvAajjGBsAVJTXzzRdzhgjh8OhmJgYhYWFaf369c62goICpaamqk+fPqXub7fbnVMYXHoBAGMDgIry6j1Ns2fPVkJCgiIjI5Wbm6sVK1YoJSVFycnJstlsSkxM1IIFC9S2bVu1bdtWCxYsUJMmTXT33Xd7s2wAAFAHeTU0ZWZmasyYMUpPT1dgYKC6dOmi5ORkDR48WJL06KOPKj8/X5MmTdKZM2fUs2dPrVu3Tv7+/t4sGwAA1EE+d09TZWMuFgAlYWwA4C6fu6cJAADAFxGaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsMCroWnhwoXq0aOH/P39FRISohEjRujgwYMu24wbN042m83l1atXLy9VDAAA6iqvhqbU1FQ9/PDD2r59u9avX6+LFy8qPj5e586dc9lu6NChSk9Pd77WrFnjpYoBAEBd1cCbb56cnOyyvHTpUoWEhGjXrl3q16+fc73dbldYWFh1lwcAAODk1dB0uezsbElScHCwy/qUlBSFhIQoKChI/fv31zPPPKOQkJAS+3A4HHI4HM7lnJycqisYQI3B2ACgomzGGOPtIiTJGKPhw4frzJkz+uSTT5zrV65cqWbNmikqKkppaWl64okndPHiRe3atUt2u71YP0lJSZo/f36x9dnZ2QoICKjS3wGA72JsAFBRPhOaHn74Ya1evVpbtmxR69atS90uPT1dUVFRWrFihUaNGlWsvaR/TUZGRjIwAnUcYwOAivKJy3NTpkzRhx9+qI8//rjMwCRJ4eHhioqK0qFDh0pst9vtJZ6BAlC3MTYAqCivhiZjjKZMmaJVq1YpJSVFMTEx5e5z+vRpHT9+XOHh4dVQIQAAwC+8OuXAww8/rLffflvLly+Xv7+/MjIylJGRofz8fElSXl6eZsyYoW3btunIkSNKSUnRsGHD1LJlS40cOdKbpQMAgDrGq/c02Wy2EtcvXbpU48aNU35+vkaMGKHdu3fr7NmzCg8P14ABA/TUU08pMjLS0nvk5OQoMDCQ+xYAuGBsAOAur1+eK4ufn5/Wrl1bTdUAAACUju+eAwAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAIBa65tvvtHnn3/uXC4qKtLu3buVkZHhdl8NKrMwAEDt03fAIKVnZpXaHh4aoi2bN1RjRYB106ZNU79+/fSb3/xGkjR06FBt3LhR9evX1/Lly3X77bdb7ovQBAAoU3pmlnokvlZq+47F46uxGsA9u3fv1tNPPy1J2rZtmz777DMdOXJEq1at0pNPPulWaOLyHAAAqLVycnIUEhIiSVq3bp2GDBmiyMhIjRgxQocPH3arL0ITAACotaKiorR9+3YVFRXpvffeU3x8vCQpNzdXTZo0casvQhMAAKi1pk6dqnvvvVdRUVHKyMhwXo775JNPdN1117nVF/c0AQCAWmvixImKjY3V/v37NXLkSAUFBUmS7r33Xo0dO9atvghNAACgVouPj3delrvE3UtzEqEJAADUYhcvXtQbb7yhTZs26dSpUyoqKnJp37x5s+W+CE2oFMzjAgDwRYmJiVq2bJluueUWdenSRTabzeO+CE2oFMzjAgDwRStXrtTKlSt18803V7gvnp4DAAC1VoMGDRQbG1spfXk1NC1cuFA9evSQv7+/QkJCNGLECB08eNBlG2OMkpKSFBERIT8/P8XFxWnfvn1eqhgAANQk06ZN00svvVTsXiZPePXyXGpqqh5++GH16NFDFy9e1Jw5cxQfH6/9+/eradOmkqTnn39eixYt0ptvvql27drp6aef1uDBg3Xw4EH5+/t7s3wAAODjtm/frk2bNik5OVmdOnVSw4YNXdpXrVpluS+vhqbk5GSX5aVLlyokJES7du1Sv379ZIzR4sWLNWfOHI0aNUqStGzZMoWGhmr58uUaP577ZAAAQOmCgoKcGaKifOpG8OzsbElScHCwJCktLU0ZGRkucyvY7Xb1799fW7duJTQBAIAyvfHGG5XWl8+EJmOMpk+frr59+6pTp06SpIyMDElSaGioy7ahoaE6evRoif04HA45HA7nck5OThVVDKAmYWwAUFE+E5omT56sr776Slu2bCnWdvmcCsaYUudZWLhwoebPn18lNQKouRgbgLrpyiuvlDHG0rZpaWlltvtEaJoyZYo+/PBDffzxx2rdurVzfVhYmKRfzjiFh4c712dlZRU7+3TJrFmzNH36dOdyTk6OIiMjq6hyADUFYwNQN91///168cUXdcMNN6hXr16SpG3btunTTz/VjBkzFBAQYLkvr4YmY4ymTJmiVatWKSUlRTExMS7tMTExCgsL0/r169WtWzdJUkFBgVJTU/Xcc8+V2Kfdbpfdbq/y2gHULIwNQN20b98+zZkzRzNmzHBZ/8ILL2jPnj165513LPfl1XmaHn74Yb399ttavny5/P39lZGRoYyMDOXn50v65bJcYmKiFixYoFWrVunrr7/WuHHj1KRJE919993eLB0AANQA//u//6vhw4cXWz9y5Eh9+OGHbvXl1TNNr776qiQpLi7OZf3SpUs1btw4SdKjjz6q/Px8TZo0SWfOnFHPnj21bt065mgCAADlCggI0Lp169S2bVuX9cnJyW5dmpN84PJceWw2m5KSkpSUlFT1BQEAgFpl9uzZmjZtmj799FOXe5r+/e9/66WXXnKrL5+4ERwAAKAqTJ48WVdffbUWL16s//7v/5YxRh06dFBycrJuuukmt/oiNKFapJ88qdiOXUptDw8N0ZbNG6qxIgBAbfXyyy/rD3/4g/z8/CRJgwYN0qBBgyrcL6EJ1aLQSD0SXyu1fcdiZncHAFSOp59+Wh07dtTgwYMrtV9CEwAAqFXGjRunhIQEhYSElDvVSFpamk6fPq3u3bvXjMktAQAAKssLL7yg22+/Xfv27VNeXl652zdt2lTTpk0rdztCEwAAqHV69uypnj17Wtq2cePGmjp1arnbEZoAAECtt2HDBn3xxReqV6+errvuOg0cONDtPghNAACg1jp37pxuvvlmbdu2TWFhYTp58qT8/f11zTXXaM2aNW5NcOnR16hceeWVOn36dLH1Z8+e1ZVXXulJlwAAAJVuzpw5ys3N1eHDh5Wamio/Pz9lZWWpVatWxb6PrjwehaYjR46osLCw2HqHw6ETJ0540iUAAECle/fdd/Xss8+qTZs2zm8iadiwoebOnasPPvjArb7cujz36y+2W7t2rQIDA53LhYWF2rhxo6Kjo90qAAAAoKqcOnVK7du3L7Y+ICBA58+fd6svt0LTiBEjJP3yfXBjx451aWvYsKGio6P14osvulUAAABAVQkLC9OJEycUFRXlsv61115Tjx493OrLrdBUVFQkSYqJidGOHTvUsmVLt94MAACgOvXr108fffSR+vTpI0k6f/682rZtq+zsbG3Y4N7Xd3n09Fx5M2YCAAD4goULFyozM1OSFBQUpEceeURXXnmlbr/9dgUFBbnVl8dTDmzcuFEbN25UVlaW8wzUJW+88Yan3QIAAFSaK664QldccYUkKTg4WAsWLPC4L4+enps/f77i4+O1ceNG/fjjjzpz5ozLCwAAwFekpqZq4MCBatmypZo2baobbrhBq1evdrsfj840/fWvf9Wbb76pMWPGeLI7AABAtXj//fd1xx136K677nI+xLZp0yaNGDFC7777rn77299a7suj0FRQUOC8oQoAULP1HTBI6ZlZpbanZ2RWYzVA5Xrqqac0Z84cJSUlOdeNHTtWsbGxeuqpp6o+ND344INavny5nnjiCU92BwD4kPTMLPVIfK3U9lWPDKvGaoDKtX//fr3zzjvF1o8ePVoLFy50qy+PQtP58+f1+uuva8OGDerSpYsaNmzo0r5o0SJPugUAAKhUAQEBunDhQrH1BQUFatasmVt9eRSavvrqK1177bWSpK+//tqlzWazedIlAABApevXr5+Sk5PVuXNnl/WrV69W//793erLo9C0efNmT3YDAACoVv/6179KXD9z5ky3+/JoygEAAICa7MyZMxowYIBb+3h0pmnAgAFlXobbtGmTJ90CAABUqs8++0xz587VkSNHVFBQ4FxfWFioH374QTExMZKsfduJR6Hp0v1Ml1y4cEF79uzR119/XeyLfAEAALxlwoQJio6O1oQJE1S/fn3n+ry8PD3xxBOaNm2a5b48Ck0vvfRSieuTkpKUl5fnSZcAAACV7ptvvtHq1asVERHhsj4rK0uPP/64pk6darmvSr2n6fe//z3fOwcAAHxGQUGB7HZ7iW3uPvFfqaFp27Ztaty4cWV2CQAAYFl6erpuvvlm53JhYaFatGhRbLuQkBAVFha61bdHl+dGjRrlsmyMUXp6unbu3OnWLOEff/yxXnjhBe3atUvp6elatWqVRowY4WwfN26cli1b5rJPz549tX37dk/KBgAAtVx+fr4++eSTKunbo9AUGBjoslyvXj21b99eTz75pOLj4y33c+7cOXXt2lX33XefbrvtthK3GTp0qJYuXepcbtSokSclAwAAVIhHoenXIaYiEhISlJCQUOY2drtdYWFhlfJ+AAAAnvIoNF2ya9cuHThwQDabTR07dlS3bt0qqy6nlJQUhYSEKCgoSP3799czzzyjkJCQUrd3OBxyOBzO5ZycnEqvCUDNw9gAoKI8Ck1ZWVm68847lZKS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y6v3NBljNHnyZL333nvatGmTYmJiXNpjYmIUFham9evXO9cVFBQoNTVVffr0qe5yAQBADfO///u/Gj58eLH1I0eO1IcffuhWX1490/Twww9r+fLl+uCDD+Tv7++8hykwMFB+fn6y2WxKTEzUggUL1LZtW7Vt21YLFixQkyZNdPfdd3uzdAAAUAMEBARo3bp1atu2rcv65ORkty7NSV4OTa+++qokKS4uzmX90qVLNW7cOEnSo48+qvz8fE2aNElnzpxRz549tW7dOvn7+1dztQAAoKaZPXu2pk2bpk8//dTlnqZ///vfeumll9zqy6uhycrd7DabTUlJSUpKSqr6ggAAQK0yefJkXX311Vq8eLH++7//W8YYdejQQcnJybrpppvc6ssnbgQHAACoLC+//LL+8Ic/yM/PT5I0aNAgDRo0qML9+tTklgAAABX19NNPlziFUUVxpgkAANQq48aNU0JCgkJCQsqdaiQtLU2nT59W9+7da87klgAAAJXhhRde0O233659+/YpLy+v3O2bNm2qadOmlbsdoQkAANQ6PXv2VM+ePS1t27hxY02dOrXc7QhNAACg1tuwYYO++OIL1atXT9ddd50GDhzodh+EJgAAUGudO3dON998s7Zt26awsDCdPHlS/v7+uuaaa7RmzRq3Jrj06Om5K6+8UqdPny62/uzZs7ryyis96RIAAKDSzZkzR7m5uTp8+LBSU1Pl5+enrKwstWrVqtj30ZXHozNNR44cUWFhYbH1DodDJ06c8KRLAICPSj95UrEdu5TenpFZjdUA7nn33Xf197//XW3atNH3338vSWrYsKHmzp2roUOH6vXXX7fcl1uh6ddfbLd27VoFBgY6lwsLC7Vx40ZFR0e70yUAwMcVGqlH4multq96ZFg1VgO459SpU2rfvn2x9QEBATp//rxbfbkVmkaMGCHpl682GTt2rEtbw4YNFR0drRdffNGtAgAAAKpKWFiYTpw4oaioKJf1r732mnr06OFWX26FpqKiIklSTEyMduzYoZYtW7r1ZgAAANWpX79++uijj9SnTx9J0vnz59W2bVtlZ2drw4YNbvXl0T1N5c2YCQAA4AsWLlyozMxf7rsLCgrSI488oiuvvFK33367goKC3OrL4ykHNm7cqI0bNyorK8t5BuqSN954w9NuAQAAKs0VV1yhK664QpIUHBysBQsW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/k+dOlVnjmd4eLiioqJ06NAhSRw3X8L44D7GhspTk8cGQlMt5XA4dODAAYWHhysmJkZhYWFav369s72goECpqanq06ePJOn6669Xw4YNXbZJT0/X119/7dymLqisY9W7d29lZ2fr888/d27z2WefKTs7u84cz9OnT+v48eMKDw+XxHHzJYwP7mNsqDw1emyotlvOUaX+67/+y6SkpJjvv//ebN++3dx6663G39/fHDlyxBhjzLPPPmsCAwPNe++9Z/bu3WvuuusuEx4ebnJycpx9TJgwwbRu3dps2LDBfPHFF2bgwIGma9eu5uLFi976tapEbm6u2b17t9m9e7eRZBYtWmR2795tjh49aoypvGM1dOhQ06VLF7Nt2zazbds207lzZ3PrrbdW++9bWco6brm5uea//uu/zNatW01aWprZvHmz6d27t7niiivq/HHzBYwP1jA2eKYujQ2Eplpi9OjRJjw83DRs2NBERESYUaNGmX379jnbi4qKzLx580xYWJix2+2mX79+Zu/evS595Ofnm8mTJ5vg4GDj5+dnbr31VnPs2LHq/lWq3ObNm42kYq+xY8caYyrvWJ0+fdrcc889xt/f3/j7+5t77rnHnDlzppp+y8pX1nH7+eefTXx8vGnVqpVp2LChadOmjRk7dmyxY1IXj5svYHywhrHBM3VpbLAZY0z1ndcCAACombinCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQmw4M0331RQUJC3ywDgYxgb6hZCE3CZ6OhoLV682GXd6NGj9e2333qnIAA+gbEBDbxdAHxLQUGBGjVq5O0yfI6fn5/8/Py8XQbgNYwNJWNsqFs401THxcXFafLkyZo+fbpatmypwYMHa//+/br55pvVrFkzhYaGasyYMfrxxx+d+/z73/9W586d5efnpxYtWmjQoEE6d+6cJGncuHEaMWKE5s+fr5CQEAUEBGj8+PEqKChw7u9wODR16lSFhISocePG6tu3r3bs2OFsT0lJkc1m08aNG9W9e3c1adJEffr00cGDB53bfPnllxowYID8/f0VEBCg66+/Xjt37nS2b926Vf369ZOfn58iIyM1depUZ43lHY+jR49q2rRpstlsstlskoqfgk9KStK1116rN954Q23atFGzZs00ceJEFRYW6vnnn1dYWJhCQkL0zDPPuPSfnZ2tP/zhD85jM3DgQH355ZcW/2sB1YexofjxYGwAoQlatmyZGjRooE8//VTPPvus+vfvr2uvvVY7d+5UcnKyMjMz9bvf/U6SlJ6errvuukv333+/Dhw4oJSUFI0aNUq//t7njRs36sCBA9q8ebP++c9/atWqVZo/f76z/dFHH9W7776rZcuW6YsvvtBVV12lIUOG6KeffnKpa86cOXrxxRe1c+dONWjQQPfff7+z7Z577lHr1q21Y8cO7dq1SzNnzlTDhg0lSXv37tWQIUM0atQoffXVV1q5cqW2bNmiyZMnl3ss3nvvPbVu3VpPPvmk0tPTlZ6eXuq23333nT766CMlJyfrn//8p9544w3dcsst+uGHH5SamqrnnntOjz/+uLZv3y5JMsbolltuUUZGhtasWaNdu3bpuuuu00033VTsdwd8AWPD/2FsgCTJoE7r37+/ufbaa53LTzzxhImPj3fZ5vjx40aSOXjwoNm1a5eRZI4cOVJif2PHjjXBwcHm3LlzznWvvvqqadasmSksLDR5eXmmYcOG5p133nG2FxQUmIiICPP8888bY4zZvHmzkWQ2bNjg3Gb16tVGksnPzzfGGOPv72/efPPNEmsYM2aM+cMf/uCy7pNPPjH16tVz7l+WqKgo89JLL7msW7p0qQkMDHQuz5s3zzRp0sTk5OQ41w0ZMsRER0ebwsJC57r27dubhQsXGmOM2bhxowkICDDnz5936Ts2Nta89tpr5dYFVCfGhuIYG8A9TVD37t2dP+/atUubN29Ws2bNim333XffKT4+XjfddJM6d+6sIUOGKD4+XrfffruaN2/u3K5r165q0qSJc7l3797Ky8vT8ePHlZ2drQsXLuiGG25wtjds2FC/+c1vdODAAZf369Kli/Pn8PBwSVJWVpbatGmj6dOn68EHH9Q//vEPDRo0SHfccYdiY2Odv8Phw4f1zjvvOPc3xqioqEhpaWnq0KGDp4fKRXR0tPz9/Z3LoaGhql+/vurVq+eyLisry1lXXl6eWrRo4dJPfn6+vvvuu0qpCahMjA2eYWyovQhNUNOmTZ0/FxUVadiwYXruueeKbRceHq769etr/fr12rp1q9atW6dXXnlFc+bM0WeffaaYmJgy38dmszlP1V+6H+ASY0yxdZdOqf96+6KiIkm/3Ddw9913a/Xq1froo480b948rVixQiNHjlRRUZHGjx+vqVOnFquhTZs2Zdbojl/Xd6nGktZdqrmoqEjh4eFKSUkp1hePLMMXMTZ4hrGh9iI0wcV1112nd999V9HR0WrQoOQ/D5vNphtuuEE33HCD5s6dq6ioKK1atUrTp0+X9MuNmPn5+c4nSrZv365mzZqpdevWatGihRo1aqQtW7bo7rvvliRduHBBO3fuVGJiolu1tmvXTu3atdO0adN01113aenSpRo5cqSuu+467du3T1dddZVHx6BRo0YqLCz0aN+yXHfddcrIyFCDBg0UHR1d6f0DVYmxgbEB3AiOyzz88MP66aefdNddd+nzzz/X999/r3Xr1un+++9XYWGhPvvsMy1YsEA7d+7UsWPH9N577+nUqVMup7ULCgr0wAMPaP/+/c5/6U2ePFn16tVT06ZNNXHiRD3yyCNKTk7W/v379dBDD+nnn3/WAw88YKnG/Px8TZ48WSkpKTp69Kg+/fRT7dixw1nDY489pm3btunhhx/Wnj17dOjQIX344YeaMmWKpf6jo6P18ccf68SJEy5PBlXUoEGD1Lt3b40YMUJr167VkSNHtHXrVj3++OMuT/cAvoixgbEBnGnCZSIiIvTpp5/qscce05AhQ+RwOBQVFaWhQ4eqXr16CggI0Mcff6zFixcrJydHUVFRevHFF5WQkODs46abblLbtm3Vr18/ORwO3XnnnUpKSnK2P/vssyoqKtKYMWOUm5ur7t27a+3atS73PpSlfv36On36tO69915lZmaqZcuWGjVqlPMpnC5duig1NVVz5szRjTfeKGOMYmNjNXr0aEv9P/nkkxo/frxiY2PlcDhcnv6pCJvNpjVr1mjOnDm6//77derUKYWFhalfv34KDQ2tlPcAqgpjA2MDJJuprP/qgH6Zi+Xs2bN6//33vV0KAB/C2IDagMtzAAAAFhCaUKd88sknatasWakvAHUTYwOs4PIc6pT8/HydOHGi1HZPn6oBULMxNsAKQhMAAIAFXJ4DAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWPD/Aa+0kbeH3I6aAAAAAElFTkSuQmCC\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.displot(\n", " df,\n", " x=\"response_time\", # What to code on the x-axis\n", " col=\"task_type\", # Column of the grid\n", " row=\"subject_nr\", # Rows of the grid\n", " binwidth=50, # Width of the bins\n", " height=3, # Height of the figure\n", " facet_kws=dict(margin_titles=True),\n", ")" ] }, { "cell_type": "markdown", "source": [ "This was the demonstration so far. In the exercises you will implement everything we discussed here yourself. Good luck!" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## Exercise 1. Bar plots\n", "In the first part of the tutorial, we plotted the switch cost using line plots. However, one could argue that bar plots would have been more suitable. Change the line plot to a bar plot using the object-oriented approach." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": null, "outputs": [], "source": [ "# your answer here" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "### Exercise 2. Facet grid plot in the object-oriented approach\n", "We made the facet grid plot in seaborn out of convenience. However, with a bit more code we can also reproduce that plot in the object-oriented approach of matplotlib. Reproduce the plot in this way." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": null, "outputs": [], "source": [ "# your answer here" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## Exercise 3. Marking outliers\n", "In the dataframes exercise from last chapter you made a dataframe where you identified a cut-off point for you outliers and also made a column which identified the exact trials to exclude. Import that dataframe, and make three plots:\n", "- A histogram plot where you mark the bars above and below the cut-off point (e.g. with red)\n", "- A facet grid plot with histograms where you do the same\n", "- A scatter plot where you plot the response time per condition, and mark the outlier trials (e.g. with red)" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": null, "outputs": [], "source": [], "metadata": { "collapsed": false } } ], "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.9.13" } }, "nbformat": 4, "nbformat_minor": 1 }