{ "cells": [ { "cell_type": "markdown", "id": "f76b4cac-a9ce-409f-9c64-9f0485ca138c", "metadata": {}, "source": [ "# Plots Example" ] }, { "cell_type": "code", "execution_count": 1, "id": "ad81d90b", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "from matplotlib.colors import LinearSegmentedColormap\n", "\n", "from plottable import ColumnDefinition, Table\n", "from plottable.formatters import decimal_to_percent\n", "from plottable.plots import bar, percentile_bars, percentile_stars, progress_donut" ] }, { "cell_type": "code", "execution_count": 2, "id": "80c497f1", "metadata": {}, "outputs": [], "source": [ "cmap = LinearSegmentedColormap.from_list(\n", " name=\"bugw\", colors=[\"#ffffff\", \"#f2fbd2\", \"#c9ecb4\", \"#93d3ab\", \"#35b0ab\"], N=256\n", ")" ] }, { "cell_type": "markdown", "id": "f9711f23-4a53-4d81-ba10-10caf21d4e4a", "metadata": {}, "source": [ "## Table Example with plots" ] }, { "cell_type": "code", "execution_count": 3, "id": "eba1b4ec-15ed-47e3-9d62-6563fce2983b", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeQAAAMWCAYAAAAga/XCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAACZhklEQVR4nOzdd3gU5d7G8e9uKqTREnrHUCVSFDGKgPSmHBUFBQXBI1IEy6t4bEdEBCzHilIEDKCiCIJH4IAQEKUGAgTpLfQiJEBI3ez7x4RsloQSzWYn2ftzXVzZmWfmN88skHtn9pkZi91utyMiIiJuZXV3B0RERESBLCIiYgoKZBERERNQIIuIiJiAAllERMQEFMgiIiImoEAWERExAQWyiIiICSiQRURETECBLCIiYgIKZBERERNQIIuIiJiAAllERMQEFMgiIiImoEAWERExAQWyiIiICSiQRURETECBLCIiYgIKZBERERNQIIuIiJiAAllERMQEFMgiIiImoEAWERExAQWyiIiICSiQRURETECBLCIiYgIKZBERERNQIIuIiJiAAllERMQEFMgiIiImoEAWERExAQWyiIiICSiQRURETECBLCIiYgIKZBERERNQIIuIiJiAAllERMQEFMgiIiImoEAWERExAZcEcuvWrRkxYsRfXv/gwYNYLBZiY2MLrE8iIiJm5pJA/uGHHxg9erQrSosLrVmzBi8vL7p27erurni0xx9/HIvFkv2nbNmydOrUia1bt7q7ax7txIkTDBs2jFq1auHn50fVqlXp3r07v/zyi7u7Vizk/Hfv4+ND+fLlad++PV9++SWZmZnu7l6hcEkglylThqCgIFeUFheaOnUqw4YNY9WqVRw7dszd3fFonTp14vjx4xw/fpxffvkFb29vunXr5u5ueayDBw/SrFkzli9fzoQJE9i2bRuLFy+mTZs2DBkyxN3dKzYu/7s/ePAgixYtok2bNjzzzDN069aNjIwMd3fP5Vx+yrpGjRq8/fbbDBgwgKCgIKpVq8akSZOcll+/fj1NmjTB39+f5s2bs3nz5lw14+Li6Ny5M4GBgZQvX56+ffty5swZAKKjo/H19eXXX3/NXn78+PGEhYVx8uRJV+xisXPx4kW+/fZbBg8eTNeuXZk+fbq7u+TR/Pz8qFChAhUqVOCWW27hpZde4vDhw5w+fdrdXfNITz/9NBaLhfXr13P//fcTHh5Ow4YNefbZZ1m7dq27u1dsXP53X7lyZZo2bcrLL7/Mjz/+yKJFizzid1KhDOp67733soP26aefZvDgwezatQswgqBbt240aNCAmJgY3njjDZ5//nmn9RMSEmjbti1NmjRh48aNLF68mJMnT9KrVy/A8QGgb9++JCYmsnnzZl599VWmTJlC+fLlC2MXi7w5c+ZQr1496taty6OPPsqXX36J3W53d7cE4//IzJkzqVOnDmXLlnV3dzzO2bNnWbx4MUOGDCEgICBXe6lSpQq/Ux6kbdu2RERE8MMPP7i7Ky7nXRgb6dKlC08//TQAL774Ih988AErVqygbt26zJ49m8zMTKZOnYq/vz8NGzbkyJEjDB48OHv9Tz75hCZNmvD2229nz/vyyy+pWrUqu3fvJjw8nLfeeoulS5fy5JNPEhcXx2OPPUaPHj0KY/eKhalTp/Loo48CxmmjxMREVq5cSevWrd3bMQ/1008/ERgYCEBSUhIVK1bkp59+wmrVhRGFbe/evdjtdurVq+furnisevXqecQYikL53924cePs1xaLhQoVKnDq1CkAduzYQePGjfH3989epmXLlk7rb9myhRUrVhAYGJj95/J/jn379gHg6+vLrFmzmDt3LikpKXzwwQeu3q1iY9euXaxfv57evXsD4O3tzUMPPcTUqVPd3DPP1aZNG2JjY4mNjWX9+vV07NiRzp07c+jQIXd3zePoTJH72e12LBaLu7vhcoVyhOzj4+M0bbFY8jVq7uLFi3Tv3p1x48blaqtYsWL2699//x0wTjGdPXs2z9NLktvUqVPJyMigUqVK2fPsdjt+fn588sknhISEuLF3nikgIIA6depkT0+ZMoWQkBAmT57MW2+95caeeZ6bbroJi8XCzp073d0Vj7Vjxw5q1qzp7m64nNvPf9WvX5+tW7eSkpKSPe/KQRJNmzZl+/bt1KhRgzp16jj9uRy6+/btY+TIkUyePJkWLVrw2GOPecxQ+b8jIyODr776ivfeey/7iCw2NpYtW7ZQqVIlvv76a3d3UTA+xFqtVpKTk93dFY9TpkwZOnbsyKeffkpSUlKu9oSEhMLvlAdZvnw527Zt4/7773d3V1zO7YHcp08fLBYLgwYN4o8//uDnn3/m3XffdVpmyJAhnD17lt69e7Nhwwb27dvHkiVL6N+/PzabDZvNxqOPPkrHjh3p378/06ZNY+vWrbz33ntu2qui46effuLcuXM88cQTNGrUyOnP/fffr9PWbpKamsqJEyc4ceIEO3bsYNiwYdlniqTwffrpp9hsNm677Tbmzp3Lnj172LFjBx999FGur9jkr7v87/7o0aNs2rSJt99+m3vvvZdu3brRr18/d3fP5dweyIGBgSxcuJBt27bRpEkT/vWvf+U6NV2pUiV+++03bDYbHTp04Oabb2bEiBGUKlUKq9XKmDFjOHToEF988QVgnMaeNGkSr7zyClu2bHHHbhUZU6dOpV27dnmelr7//vvZuHGjRwymMJvFixdTsWJFKlasSIsWLdiwYQPfffedBtm5Sa1atdi0aRNt2rThueeeo1GjRrRv355ffvmFiRMnurt7xcblf/c1atSgU6dOrFixgo8++ogff/wRLy8vd3fP5Sx2jVgQERFxO7cfIYuIiIgCWURExBQUyCIiIiagQBYRETEBBbKIiIgJKJBFRERMQIEsIiJiAgpkERERE1Agi4iImIACWURExAQUyCIiIiagQBYRETEBBbKIiIgJKJBFRERMQIEsIiJiAgpkERERE1Agi4iImIACWURExAQUyCIiIiagQBYRETEBBbKIiIgJKJBFRERMQIEsIiJiAgpkERERE1Agi4iImIACWURExAQUyCIiIiagQBYRETEB7/wsfOnSJXbu3OmqvoiIiBQ79erVo2TJktddLl+BvHPnTpo1a/aXOyUiIuJpYmJiaNq06XWXs9jtdvuNFtURsoiISP7c6BFyvgJZREREXEODukRERExAgSwiImICCmQRERETUCCLiIiYgAJZRETEBBTIIiIiJqBAFhERMQEFsoiIiAkokEVERExAgSwiImICCmQRERETUCCLiIiYQL4evygFLP0S2NLAv9RV2pPBluq6dhG5Nrsd/twHx2Mh7SJYvSGiD1h1LCMFT4HsLp/eBqd3Ga99A2H4Jggs72j/7HY4tSOrPQCGboTgSo72iZFwMs547VMShm6AkCqO9s/vghNbjddvJLpuP0SKm8QjsOd/cHA17I+GS386t3v5QuNebumaFG8KZHdIOu0IYzA+eScecQRy8jlHGAOkJUHCYUcgp15whDEYR9oJhxyBnJ7sCGMRuTF/7oNf34Mt34A9EyxWsNtyL5eRUvh9E4+gQBYRz5aSCCvHw9qJ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(6, 10))\n", "\n", "d = pd.DataFrame(np.random.random((10, 4)), columns=[\"A\", \"B\", \"C\", \"D\"]).round(2)\n", "\n", "tab = Table(\n", " d,\n", " cell_kw={\n", " \"linewidth\": 0,\n", " \"edgecolor\": \"k\",\n", " },\n", " textprops={\"ha\": \"center\"},\n", " column_definitions=[\n", " ColumnDefinition(\"index\", textprops={\"ha\": \"left\"}),\n", " ColumnDefinition(\"A\", plot_fn=percentile_bars, plot_kw={\"is_pct\": True}),\n", " ColumnDefinition(\n", " \"B\", width=1.5, plot_fn=percentile_stars, plot_kw={\"is_pct\": True}\n", " ),\n", " ColumnDefinition(\n", " \"C\",\n", " plot_fn=progress_donut,\n", " plot_kw={\n", " \"is_pct\": True,\n", " \"formatter\": \"{:.0%}\"\n", " },\n", " ),\n", " ColumnDefinition(\n", " \"D\",\n", " width=1.25,\n", " plot_fn=bar,\n", " plot_kw={\n", " \"cmap\": cmap,\n", " \"plot_bg_bar\": True,\n", " \"annotate\": True,\n", " \"height\": 0.5,\n", " \"lw\": 0.5,\n", " \"formatter\": decimal_to_percent,\n", " },\n", " ),\n", " ],\n", ")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "0abf618e", "metadata": {}, "source": [ "For Column \"C\" we used python formatting syntax to format decimals to percent values. We do this by supplying the formatter string to the plot_kw dictionary.\n", "\n", "```python\n", "ColumnDefinition(\n", " \"C\",\n", " plot_fn=progress_donut,\n", " plot_kw={\n", " \"is_pct\": True,\n", " \"formatter\": \"{:.0%}\"\n", " },\n", " ),\n", "```\n", "\n", "For columns D we used a formatter function from plottable.formatters. We pass it to the plot_kw dictionary in the same way as a formatter string. \n", "We also provide further keywords to style the plot.\n", "\n", "```python\n", "ColumnDefinition(\n", " \"D\",\n", " width=1.25,\n", " plot_fn=bar,\n", " plot_kw={\n", " \"cmap\": cmap,\n", " \"plot_bg_bar\": True,\n", " \"annotate\": True,\n", " \"height\": 0.5,\n", " \"lw\": 0.5,\n", " \"formatter\": decimal_to_percent,\n", " },\n", ")\n", "```\n" ] }, { "cell_type": "code", "execution_count": null, "id": "f9d69886", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3.10.5 ('env': venv)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.5" }, "vscode": { "interpreter": { "hash": "fad163352f6b6c4f05b9b8d41b1f28c58b235e61ec56c8581176f01128143b49" } } }, "nbformat": 4, "nbformat_minor": 5 }