{ "cells": [ { "cell_type": "markdown", "id": "f73351da", "metadata": {}, "source": [ "# Annotating a scatter plot in plotnine\n", "\n", "First we'll drum up a sample dataset." ] }, { "cell_type": "code", "execution_count": 4, "id": "ce41404e", "metadata": {}, "outputs": [ { "data": { "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", "
nameamountprice
0seashells6514
1sand4034
2barnacles2377
\n", "
" ], "text/plain": [ " name amount price\n", "0 seashells 65 14\n", "1 sand 40 34\n", "2 barnacles 23 77" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "from plotnine import *\n", "\n", "df = pd.DataFrame([\n", " { 'name': 'seashells', 'amount': 65, 'price': 14 },\n", " { 'name': 'sand', 'amount': 40, 'price': 34 },\n", " { 'name': 'barnacles', 'amount': 23, 'price': 77 }\n", "])\n", "df" ] }, { "cell_type": "markdown", "id": "bc81572a", "metadata": {}, "source": [ "## Annotate every point on a scatter plot using `geom_text`\n", "\n", "To annotate a scatter plot, you need to pass `label='colname'` to your `aes`. This tells `geom_text` what the text label should be. You usually also use `ha='left'` or `ha='right'` to either left- or right-align the label, and `nudge_x` or `nudge_y` to give it a little extra space." ] }, { "cell_type": "code", "execution_count": 24, "id": "c5716906", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGuCAYAAABY0OakAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA2UUlEQVR4nO3de1iUdf7/8dc4MCMig5iCY8rBU2YaqykdULRWrbQ0DY+pHbQwLdO1Mi1LRTe3tdZzUpqWrYdaa69Kd7MsLW0T92sH9ae5FWAGXxVFQRSB4f790dV8d8IKERo+w/NxXV163/dnPvO+572zvq7Pfc+MzbIsSwAAAIao4+8CAAAALgThBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABglCB/F1BdcnNzq3xOm82mkJAQnT17VoH83X4Oh0PFxcX+LqNa1IYeBnL/JHpoutrQP4keXoxGjRr96hhWXi5AnTp1VK9ePdWpE9gvm9Pp9HcJ1aY29DCQ+yfRQ9PVhv5J9LDaa/DbMwMAAFQC4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGKVG/LbRkSNHlJaWpgMHDshut6tTp05KSUlRvXr1dOzYMS1atEj79+9XeHi4Ro0apaSkJH+XDAAA/KRGrLwsWbJE9evX18qVK/X8888rNzdXf/3rXyVJ8+bNk9vt1quvvqqHHnpIS5YsUVZWlp8rBgAA/lIjwsuRI0eUlJQkp9Op+vXr67rrrlNWVpays7N18OBBjRw5Uk6nUx06dFBCQoI++OADf5cMAAD8pEaEl379+mnbtm06e/as8vPztWPHDl111VXKyspS48aNVb9+fe/YuLg4Vl4AAKjFasQ9Lx06dNCWLVs0bNgwlZWVqWPHjrrlllu0fft2n+AiSaGhoTp79my5OXJycpSTk+Pddjqdatq0aZXWabfbff4MVDabLWDPsTb0MJD7J9FD09WG/kn0sLr5Pbx4PB7NmDFDPXv21Ny5c1VaWqoXX3xRzz33nJKSklRYWOgz/syZMwoJCSk3T1pammbOnOndnjZtmubMmVMtNbtcrmqZtyZxOBz+LqFaBXoPA71/Ej00XaD3T6KH1cnv4aWwsFC5ubm65ZZb5HA45HA41KdPHz3++OMaOXKkjh07ptOnT3tXYL799lvFxMSUmyclJUX9+vXzbjudTuXl5VVprXa7XS6XS/n5+fJ4PFU6d00SGhpaLjQGitrQw0Dun0QPTVcb+ifRw4sRERHxq2P8Hl5cLpeaNGmiTZs26fbbb5fH49G7776r2NhYNW3aVK1atdKrr76qu+++W//5z3+Unp6uZ555ptw8brdbbrfbu52bm1ttbwyPxxPQbzrLsgL6/KTA7mFt6J9ED00XyP2T6GF183t4kaSpU6dqxYoVeuutt2Sz2XTZZZdp0qRJkqRHHnlECxcu1B133KEGDRpo3Lhx5115AQAAtUONCC9xcXGaPXv2eY81btxYqampv3FFAACgpqoRH5UGAACoKMILUMUeeOABdevWzd9lVJlOnTppypQp/i4DALwILwAAwCiEF8Ag5/uCRgCobQgvwAXIz89Xenq69u/fr7Kysl8c+/7776tbt25q1qyZfv/73+vf//6399j69evVt29ftW7dWq1atVL//v21e/dun8c/88wziomJ0e7du3XzzTerWbNmeumll7R27Vo1btxYX375pYYMGaKYmBglJCRo/fr1Po/fvHmzkpOTdfnllysuLk433nijtmzZUq7OnJwcjR8/Xu3atVPz5s117bXXKi0t7RfPbdeuXRowYIBiYmLUokULpaSk6NixYz5jFixYoC5duqhZs2Zq27atbr/9dn7aA0CVILwAFbR9+3bFx8erb9++SkpKUnJy8s9+CdWRI0c0ZcoUjR8/XsuXL5fT6dTgwYO9/8B/9913GjJkiFasWKFly5apWbNm6tevn7755hufeUpKSpSSkqLk5GStW7dOPXr08B67//77df311+vll19Whw4d9OCDD+rgwYPe44cOHVLv3r21ZMkSrVy5UgkJCRo2bJh27NjhHXPixAndfPPN2rFjh6ZOnao1a9Zo7Nix+t///d+ffR127dql2267TS6XSy+++KKeffZZffbZZxo1apR3zPr16zV37lzdcccdWr9+vf7yl7+offv2KigouKDXHADOp0Z8VBqo6U6ePKkRI0b4hJVPP/1UTz31lObNm1dufF5enlasWOG9cfe6665TfHy8li1bpunTp+vhhx/2ji0rK1OPHj20e/durV27Vk888YT3WElJiaZNm6YBAwZ493355ZeSpNGjR+uee+6RJHXp0kXvv/++3n77bV111VWS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ywECVqXCy6pVq6q4DAAAgIqp1D0vAAAA/kJ4ARBQDhw4oKFDh6pNmzaKjo7WNddco0WLFkmSdu3apREjRqh9+/aKiYlRjx499Nprr/k8fseOHWrcuLG2bt2qlJQUxcbGqmPHjt45/tvq1avVqVMnRUdHa+DAgfx0CvAbqfTPAwDAb+ncuXNKS0vTgQMHFBcXp7vvvvu8P0UyYsQINW7cWPPnz5fL5VJGRoays7MlSYcPH1ZCQoLuvPNO1a1bV+np6Zo4caLKyso0dOhQn3keeeQRDRo0SC+//LI2bdqkWbNmqV27dvr9738vSdq8ebP+8Ic/aOjQoRowYIC++OILjR49uvpfCACEFwA1X0lJiQYOHKjPPvtMJSUlCg4O1sqVK/Xhhx8qKirKO+748ePKysrSnDlzdOONN0qSunbt6j0+YMAA798ty9K1116r7OxsvfLKK+XCyy233KJHH31UkpSUlKT3339fb7/9tje8PPfccz6rOjfccIPOnTunZ599tnpeBABeXDYCUONt2rRJu3fvVklJiaQfwszJkye1ePFin3ENGzZU8+bNNXv2bK1bt8674vKjkydPaurUqerYsaPcbrfcbrdeeeUVffPNN+Wes0ePHt6/22w2tW7d2jufx+PRF198ob59+/o85tZbb62K0wXwKwgvAGq8nJwcBQX5LhSXlJTo8OHDPvtsNptef/11tW7dWlOmTFF8fLx69uypTz75RJL04IMP6s0339S4ceP0+uuv67333tPw4cNVVFRU7jnDw8N9th0Oh86dOydJys3NVWlpabnLVo0bN77ocwXw67hsBKDGa9OmjYqLi332ORwOXX755eXGtmzZUi+99JJKSkqUnp6uOXPmaMSIEfryyy+1efNmzZo1S/fee693fFlZ2QXX06hRIwUFBSk3N9dn/7Fjxy54LgAXjpUXADXe9ddfr6FDh6pOnTqqW7eugoOD1bZtWz3wwAM/+5jg4GAlJibqoYceUkFBgTIzM1VWViaHw+Edc/r0ab377rsXXI/dbteVV16pjRs3+ux/++23L3guABeOlRcANZ7NZtP8+fN1yy236ODBg2rZsqV69uxZ7lLSvn379NRTT6l///6Ki4tTfn6+FixYoOjoaF1++eXq2LGjFi5cqEsuuURBQUFauHChXC5XpVZMJk2apJEjR+rBBx/0ftro9ddfr6pT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tav3eGpqquLj47Vq1SrZbDZJUrt27dStWze999576tWrlyRp4cKF3sd4PB716NFDLVu21Mcff6zrr79e33zzjfLz8/XEE0+oXbt2kqSkpKRydZ86dUoffPCBGjVq5D2PCRMmKDs7W02bNtX27dv1z3/+U6+99pquv/56SVKPHj105MgRPfPMMxUOL7t371a7du00ceJE776bb765Qo+tCbhsBAAIOGvXrlVGRoaKi4slSSUlJcrOztaqVat8xjVs2FDNmzfX7NmztW7dOu+KiySdOXNG6enp6tevnzwej0pLS1VaWqqWLVvq0ksv1eeff+4d+/7776tPnz5q0aKFmjRpopYtW0qSvvnmG0lSbGyswsLC9Mgjj+jvf/+7cnNzz1t3+/btvcFFki677DJJ8tb14YcfKiIiQt26dfPWU1paqu7du2vPnj3yeDwVen2uvPJK7dmzR9OnT9enn36qkpKSCj2upiC8AAACTk5OTrl9ZWVlPuFEkmw2m15//XW1bt1aU6ZMUXx8vHr27KlPPvlEp06dksfj0fTp0+V2u33+O3z4sL7//ntJ0meffaaRI0cqKipKS5cu1T/+8Q999NFHkn64P0WSGjRooL/97W+qX7++xo8fryuuuEL9+/fX//t//8+nnp9e1goODvaZ58SJE8rLyytXz6RJk1RaWqojR45U6PUZNmyYUlNT9eGHH+rWW29V27ZtNW3aNJ09e7ZCj/c3LhsBAAJOmzZtZFmWzz6bzeZdyfhvLVu21EsvvaSSkhKlp6drzpw5GjFihD7//HPZbDZNnDhRffr0Kfe4hg0bSpI2btwol8ulFStWqE6dH9YETpw4UW58p06dtH79ep09e1bbt2/XjBkzdOedd2rXrl0VPq+IiAg1atRIa9euPe/x/161+SV16tRRSkqKUlJSlJOTozfffFOpqam65JJLNHny5ArX4y+EFwBAwElOTtZbb72lLVu2KDg4WKWlpbr22ms1YsSIn31McHCwEhMT9dBDD2nEiBE6duyYOnfurIMHD2ratGk/+7iioiIFBQV574mRdN5PEf0oJCREvXr1UmZmph5//HEVFRWpbt26FTqvpKQkLVq0SMHBwbriiisq9Jhf43a7NW7cOG3YsEEHDx6skjmrG+EFABBw7Ha7Vq9erY0bNyozM1PNmzfXrbfeKrvd7jNu3759euqpp9S/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Jk20adMmlZSUqKioSO+++65iY2PVtGlTtWrVSq+++qrOnTunvXv3Kj09XTfccMNvUhs/D1BBp0+f1uLFi73f8zJw4EC+56UGO3r0qMaMGaPg4GDZ7Xbv/uTkZA0ePFiZmZlavHixMjMzFRkZqZSUFL5jogbbsmWL/vGPf3i/54X+mcHj8WjFihXaunWr7Ha7OnfurHvvvVf16tWjh4bIyMjQihUr9O2338pms+myyy7TvffeK7fbrWPHjmnhwoXav3+/GjRooJEjR3q/S6u6EV4AAIBRuGwEAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAFQ66xatUpr1qzxdxkAKomfBwBQ6/To0UP169fXO++84+9SAFQCKy8AAMAohBcAv+pf//qX+vXrp6ZNmyo0NFS/+93vtHr1au/xrVu3ymaz6d1339XgwYNVv359RUdHey/NLFy4UNHR0WrYsKHGjBmjc+fO+cy/Z88e3XjjjQoNDVV4eLiSk5N16NAh7/HMzEzZbDb97W9/83ncxIkTFRsb691etWqVbDabPvvsM918880KDQ1V69at9corr3jH9OjRQ9u2bdPGjRtls9lks9k0Y8aMKny1AFQ3wguAX5WVlaXExEQtX75cb7/9tm6//XaNHj1aL7/8ss+4+++/X+3bt9ebb76pa665RiNHjtSUKVP07rvvatmyZZo1a5ZeeeUVPfvss97HfPfdd0pKStLx48f16quvatmyZdq9e7e6d++ugoKCStV7xx13qHfv3vr73/+ujh076q677tL+/fslSUuXLlXHjh2VmJiof/3rX/rXv/6lMWPGVP7FAfDbswDgApSVlVklJSXWfffdZ1177bWWZVnWhx9+aEmyHn30Ue+4kydPWna73WrevLlVXFzs3X/77bdbv/vd77zbkyZNskJDQ63jx4979+3fv9+y2WzWwoULLcuyrIyMDEuS9frrr/vU8tBDD1kxMTHe7ZUrV1qSrCVLlnj3nT592qpXr56Vmprq3de9e3erb9++F/lKAPAXVl4A/Kq8vDxNmDBBMTExCg4OVnBwsF544QUdPHjQZ1yvXr28fw8PD1dkZKSSkpIUHBzs3d+mTRt999133u2PP/5YN9xwgxo2bOjd17ZtW8XHx2v79u2Vqrd3797ev4eGhiomJkaHDx+u1FwAah7CC4Bfddddd2nt2rV6+OGHtXnzZu3atUv33HOPioqKfMY1aNDAZ9vhcJx3338/Li8vT1FRUeWeMyoqSidOnKhUvb/2nADMFuTvAgDUbEVFRXrnnXf03HPP6cEHH/TuLysrq5L5GzZsqKNHj5bbf+TIEbVp00aSVLduXUlScXGxz5i8vLwqqQGAWVh5AfCLzp07p7KyMjkcDu++goICvfXWW1Uyf9euXbVlyxafIPLVV1/pyy+/VNeuXSVJkZGRCg4O9t50K/0QZLZt21ap52QlBjAbKy8AflF4eLi6dOmiuXPnqnHjxgoKCtLcuXMVHh5+3hWTCzVp0iStXLlSvXv31uOPP66ioiI98cQTio6O1l133SVJqlOnjgYOHKjFixerVatWatSokRYvXizLsmSz2S74OS+//HK9/PLLevvtt+V2u9W0aVM1bdr0os8FwG+DlRcAv2rNmjVq1aqV7rzzTk2YMEHJyckaNWpUlczdvHlzbdu2TREREbrjjjt03333KT4+Xlu3blVYWJh33KJFi9SjRw9NmDBBKSkpuummmzRgwIBKPeejjz6qxMREjRo1Sl26dNELL7xQJecC4LfBzwMAAACjsPICAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKP8f6GZg7Celc95AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(\n", " ggplot(df)\n", " + aes(x='amount', y='price', label='name')\n", " + geom_point()\n", " + geom_text(ha='left', nudge_x=1)\n", " + ylim(0, 80)\n", " + xlim(0, 80)\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "2dcb08e3", "metadata": {}, "outputs": [], "source": [] } ], "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.7" } }, "nbformat": 4, "nbformat_minor": 5 }