{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "d9dcefd7-0655-4e71-99e3-2e6c8bb8ff7a", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "from lets_plot import *\n", "from lets_plot.mapping import as_discrete" ] }, { "cell_type": "code", "execution_count": 2, "id": "583c0c27-38fe-4ecb-8339-cb71c411a9c6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "LetsPlot.setup_html()" ] }, { "cell_type": "markdown", "id": "aab8e2af-11bb-4238-857b-3d1a36caead0", "metadata": {}, "source": [ "#### Set `theme_gray()` as default theme. It improves plots readability." ] }, { "cell_type": "code", "execution_count": 3, "id": "d8c9764b-7387-45f9-89cd-c0bc0d8d3b62", "metadata": {}, "outputs": [], "source": [ "LetsPlot.set_theme(theme_grey())" ] }, { "cell_type": "markdown", "id": "dde1c0a0-7d07-4c60-914b-6b3f8ad18a6b", "metadata": {}, "source": [ "#### Data" ] }, { "cell_type": "code", "execution_count": 4, "id": "30e4e94e-4993-4472-a22c-436515f698d0", "metadata": {}, "outputs": [], "source": [ "labels_df = {\n", " 'x': [0, 1, 2, 3, 4, 5, 6, 7, 8],\n", " 'y': [0, 45, 90, 135, 180, 225, 270, 315, 360],\n", " 'r_y': [360, 315, 270, 225, 180, 135, 90, 45, 0],\n", " 'l': ['l0', 'l45', 'l90', 'l135', 'l180', 'l225', 'l270', 'l315', 'l360'],\n", " 'g': ['g1', 'g1', 'g1', 'g2', 'g2', 'g2', 'g3', 'g3', 'g3']\n", "}\n", "\n", "lollipop_df = {\n", " 'c': ['a', 'b', 'c', 'd', 'e', 'f'],\n", " 'x': [1, 2, 3, 4, 5, 6],\n", " 'y': [1, 2, 3, 4, 5, 6],\n", "}\n", "\n", "student_df = {\n", " 'subj': ['progr', 'math', 'physic', 'chemistry', 'biology'],\n", " 'subj_id': [1, 2, 3, 4, 5],\n", " 'student': ['John'] * 5,\n", " 'score': [19, 15, 18, 12, 9]\n", "}" ] }, { "cell_type": "markdown", "id": "8735e2a4-69fe-4743-a332-1e0fb2d288ea", "metadata": {}, "source": [ "##### Util for `PlotSpecDebugger.kt`" ] }, { "cell_type": "code", "execution_count": 5, "id": "fd539de7-611a-4925-b51a-970748e8c318", "metadata": {}, "outputs": [], "source": [ "def dump_plot(plot, display=False):\n", " import json\n", "\n", " try:\n", " import clipboard\n", " except:\n", " clipboard = None\n", " \n", " from lets_plot._type_utils import standardize_dict\n", " \n", " plot_dict = standardize_dict(plot.as_dict())\n", " plot_json = json.dumps(plot_dict, indent=2)\n", " \n", " if clipboard:\n", " clipboard.copy('')\n", " clipboard.copy(str(plot_json))\n", " else:\n", " if display is None:\n", " display = True\n", "\n", " return plot" ] }, { "cell_type": "markdown", "id": "72d3e36d-0346-4706-a3f9-9751ad0e4ad1", "metadata": {}, "source": [ "# Geoms" ] }, { "cell_type": "markdown", "id": "fb2cd1ff-70c5-49b1-b9dd-41220ad3dddf", "metadata": {}, "source": [ "## `geom_area()`\n", "Line get transformed into a circle:" ] }, { "cell_type": "code", "execution_count": 6, "id": "8e55a996-6718-4e8d-b509-cabc6ea4f1cd", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " " ], "text/plain": [ "| \n", " | station | \n", "valid | \n", "drct | \n", "sped | \n", "
|---|---|---|---|---|
| 0 | \n", "PEA | \n", "2002-05-17 00:14 | \n", "330.0 | \n", "8.05 | \n", "
| 1 | \n", "PEA | \n", "2002-05-17 00:20 | \n", "330.0 | \n", "8.05 | \n", "
| 2 | \n", "PEA | \n", "2002-05-17 00:34 | \n", "340.0 | \n", "10.35 | \n", "
| 3 | \n", "PEA | \n", "2002-05-17 00:40 | \n", "340.0 | \n", "10.35 | \n", "
| 4 | \n", "PEA | \n", "2002-05-17 00:54 | \n", "340.0 | \n", "14.95 | \n", "
| \n", " | Unnamed: 0 | \n", "manufacturer | \n", "model | \n", "displ | \n", "year | \n", "cyl | \n", "trans | \n", "drv | \n", "cty | \n", "hwy | \n", "fl | \n", "class | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 | \n", "audi | \n", "a4 | \n", "1.8 | \n", "1999 | \n", "4 | \n", "auto(l5) | \n", "f | \n", "18 | \n", "29 | \n", "p | \n", "compact | \n", "
| 1 | \n", "2 | \n", "audi | \n", "a4 | \n", "1.8 | \n", "1999 | \n", "4 | \n", "manual(m5) | \n", "f | \n", "21 | \n", "29 | \n", "p | \n", "compact | \n", "
| 2 | \n", "3 | \n", "audi | \n", "a4 | \n", "2.0 | \n", "2008 | \n", "4 | \n", "manual(m6) | \n", "f | \n", "20 | \n", "31 | \n", "p | \n", "compact | \n", "
| 3 | \n", "4 | \n", "audi | \n", "a4 | \n", "2.0 | \n", "2008 | \n", "4 | \n", "auto(av) | \n", "f | \n", "21 | \n", "30 | \n", "p | \n", "compact | \n", "
| 4 | \n", "5 | \n", "audi | \n", "a4 | \n", "2.8 | \n", "1999 | \n", "6 | \n", "auto(l5) | \n", "f | \n", "16 | \n", "26 | \n", "p | \n", "compact | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 229 | \n", "230 | \n", "volkswagen | \n", "passat | \n", "2.0 | \n", "2008 | \n", "4 | \n", "auto(s6) | \n", "f | \n", "19 | \n", "28 | \n", "p | \n", "midsize | \n", "
| 230 | \n", "231 | \n", "volkswagen | \n", "passat | \n", "2.0 | \n", "2008 | \n", "4 | \n", "manual(m6) | \n", "f | \n", "21 | \n", "29 | \n", "p | \n", "midsize | \n", "
| 231 | \n", "232 | \n", "volkswagen | \n", "passat | \n", "2.8 | \n", "1999 | \n", "6 | \n", "auto(l5) | \n", "f | \n", "16 | \n", "26 | \n", "p | \n", "midsize | \n", "
| 232 | \n", "233 | \n", "volkswagen | \n", "passat | \n", "2.8 | \n", "1999 | \n", "6 | \n", "manual(m5) | \n", "f | \n", "18 | \n", "26 | \n", "p | \n", "midsize | \n", "
| 233 | \n", "234 | \n", "volkswagen | \n", "passat | \n", "3.6 | \n", "2008 | \n", "6 | \n", "auto(s6) | \n", "f | \n", "17 | \n", "26 | \n", "p | \n", "midsize | \n", "
234 rows × 12 columns
\n", "| \n", " | Unnamed: 0 | \n", "manufacturer | \n", "model | \n", "displ | \n", "year | \n", "cyl | \n", "trans | \n", "drv | \n", "cty | \n", "hwy | \n", "fl | \n", "class | \n", "name | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 | \n", "audi | \n", "a4 | \n", "1.8 | \n", "1999 | \n", "4 | \n", "auto(l5) | \n", "f | \n", "18 | \n", "29 | \n", "p | \n", "compact | \n", "a4-1.8-1999-auto(l5)-f | \n", "
| 1 | \n", "2 | \n", "audi | \n", "a4 | \n", "1.8 | \n", "1999 | \n", "4 | \n", "manual(m5) | \n", "f | \n", "21 | \n", "29 | \n", "p | \n", "compact | \n", "a4-1.8-1999-manual(m5)-f | \n", "
| 2 | \n", "3 | \n", "audi | \n", "a4 | \n", "2.0 | \n", "2008 | \n", "4 | \n", "manual(m6) | \n", "f | \n", "20 | \n", "31 | \n", "p | \n", "compact | \n", "a4-2.0-2008-manual(m6)-f | \n", "
| 3 | \n", "4 | \n", "audi | \n", "a4 | \n", "2.0 | \n", "2008 | \n", "4 | \n", "auto(av) | \n", "f | \n", "21 | \n", "30 | \n", "p | \n", "compact | \n", "a4-2.0-2008-auto(av)-f | \n", "
| 4 | \n", "5 | \n", "audi | \n", "a4 | \n", "2.8 | \n", "1999 | \n", "6 | \n", "auto(l5) | \n", "f | \n", "16 | \n", "26 | \n", "p | \n", "compact | \n", "a4-2.8-1999-auto(l5)-f | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 229 | \n", "230 | \n", "volkswagen | \n", "passat | \n", "2.0 | \n", "2008 | \n", "4 | \n", "auto(s6) | \n", "f | \n", "19 | \n", "28 | \n", "p | \n", "midsize | \n", "passat-2.0-2008-auto(s6)-f | \n", "
| 230 | \n", "231 | \n", "volkswagen | \n", "passat | \n", "2.0 | \n", "2008 | \n", "4 | \n", "manual(m6) | \n", "f | \n", "21 | \n", "29 | \n", "p | \n", "midsize | \n", "passat-2.0-2008-manual(m6)-f | \n", "
| 231 | \n", "232 | \n", "volkswagen | \n", "passat | \n", "2.8 | \n", "1999 | \n", "6 | \n", "auto(l5) | \n", "f | \n", "16 | \n", "26 | \n", "p | \n", "midsize | \n", "passat-2.8-1999-auto(l5)-f | \n", "
| 232 | \n", "233 | \n", "volkswagen | \n", "passat | \n", "2.8 | \n", "1999 | \n", "6 | \n", "manual(m5) | \n", "f | \n", "18 | \n", "26 | \n", "p | \n", "midsize | \n", "passat-2.8-1999-manual(m5)-f | \n", "
| 233 | \n", "234 | \n", "volkswagen | \n", "passat | \n", "3.6 | \n", "2008 | \n", "6 | \n", "auto(s6) | \n", "f | \n", "17 | \n", "26 | \n", "p | \n", "midsize | \n", "passat-3.6-2008-auto(s6)-f | \n", "
234 rows × 13 columns
\n", "