{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "developed-feeling",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-12-03T15:57:29.169215Z",
     "iopub.status.busy": "2025-12-03T15:57:29.167708Z",
     "iopub.status.idle": "2025-12-03T15:57:31.125737Z",
     "shell.execute_reply": "2025-12-03T15:57:31.125378Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "   <div id=\"vxObaw\"></div>\n",
       "   <script type=\"text/javascript\" data-lets-plot-script=\"library\">\n",
       "       if(!window.letsPlotCallQueue) {\n",
       "           window.letsPlotCallQueue = [];\n",
       "       }; \n",
       "       window.letsPlotCall = function(f) {\n",
       "           window.letsPlotCallQueue.push(f);\n",
       "       };\n",
       "       (function() {\n",
       "           var script = document.createElement(\"script\");\n",
       "           script.type = \"text/javascript\";\n",
       "           script.src = \"https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.8.1/js-package/distr/lets-plot.min.js\";\n",
       "           script.onload = function() {\n",
       "               window.letsPlotCall = function(f) {f();};\n",
       "               window.letsPlotCallQueue.forEach(function(f) {f();});\n",
       "               window.letsPlotCallQueue = [];\n",
       "               \n",
       "               \n",
       "           };\n",
       "           script.onerror = function(event) {\n",
       "               window.letsPlotCall = function(f) {};\n",
       "               window.letsPlotCallQueue = [];\n",
       "               var div = document.createElement(\"div\");\n",
       "               div.style.color = 'darkred';\n",
       "               div.textContent = 'Error loading Lets-Plot JS';\n",
       "               document.getElementById(\"vxObaw\").appendChild(div);\n",
       "           };\n",
       "           var e = document.getElementById(\"vxObaw\");\n",
       "           e.appendChild(script);\n",
       "       })();\n",
       "   </script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "            <div id=\"kotlin_out_0\"></div>\n",
       "            <script type=\"text/javascript\">\n",
       "                            if(!window.kotlinQueues) {\n",
       "                window.kotlinQueues = {};\n",
       "            }\n",
       "            if(!window.kotlinQueues[\"letsPlotJs\"]) {\n",
       "                var resQueue = [];\n",
       "                window.kotlinQueues[\"letsPlotJs\"] = resQueue;\n",
       "                window[\"call_letsPlotJs\"] = function(f) {\n",
       "                    resQueue.push(f);\n",
       "                }\n",
       "            }\n",
       "            (function (){\n",
       "                var modifiers = [(function(script) {\n",
       "    script.src = \"https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.8.1/js-package/distr/lets-plot.min.js\"\n",
       "    script.type = \"text/javascript\";\n",
       "})];\n",
       "                var e = document.getElementById(\"kotlin_out_0\");\n",
       "                modifiers.forEach(function (gen) {\n",
       "                    var script = document.createElement(\"script\");\n",
       "                    gen(script)\n",
       "                    script.addEventListener(\"load\", function() {\n",
       "                        window[\"call_letsPlotJs\"] = function(f) {f();};\n",
       "                        window.kotlinQueues[\"letsPlotJs\"].forEach(function(f) {f();});\n",
       "                        window.kotlinQueues[\"letsPlotJs\"] = [];\n",
       "                    }, false);\n",
       "                    script.addEventListener(\"error\", function() {\n",
       "                        window[\"call_letsPlotJs\"] = function(f) {};\n",
       "                        window.kotlinQueues[\"letsPlotJs\"] = [];\n",
       "                        var div = document.createElement(\"div\");\n",
       "                        div.style.color = 'darkred';\n",
       "                        div.textContent = 'Error loading resource letsPlotJs';\n",
       "                        document.getElementById(\"kotlin_out_0\").appendChild(div);\n",
       "                    }, false);\n",
       "                    \n",
       "                    e.appendChild(script);\n",
       "                });\n",
       "            })();\n",
       "            </script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%useLatestDescriptors\n",
    "%use lets-plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "composite-liver",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-12-03T15:57:31.127229Z",
     "iopub.status.busy": "2025-12-03T15:57:31.126965Z",
     "iopub.status.idle": "2025-12-03T15:57:31.163700Z",
     "shell.execute_reply": "2025-12-03T15:57:31.163819Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Lets-Plot Kotlin API v.4.12.0. Frontend: Notebook with dynamically loaded JS. Lets-Plot JS v.4.8.1.\n",
       "Outputs: Web (HTML+JS), Kotlin Notebook (Swing), Static SVG (hidden)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "LetsPlot.getInfo()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "global-lease",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-12-03T15:57:31.166662Z",
     "iopub.status.busy": "2025-12-03T15:57:31.166143Z",
     "iopub.status.idle": "2025-12-03T15:57:31.592533Z",
     "shell.execute_reply": "2025-12-03T15:57:31.592614Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "   <div id=\"Jwrw2x\"></div>\n",
       "   <script type=\"text/javascript\" data-lets-plot-script=\"library\">\n",
       "       if(!window.letsPlotCallQueue) {\n",
       "           window.letsPlotCallQueue = [];\n",
       "       }; \n",
       "       window.letsPlotCall = function(f) {\n",
       "           window.letsPlotCallQueue.push(f);\n",
       "       };\n",
       "       (function() {\n",
       "           var script = document.createElement(\"script\");\n",
       "           script.type = \"text/javascript\";\n",
       "           script.src = \"https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.8.1/js-package/distr/lets-plot.min.js\";\n",
       "           script.onload = function() {\n",
       "               window.letsPlotCall = function(f) {f();};\n",
       "               window.letsPlotCallQueue.forEach(function(f) {f();});\n",
       "               window.letsPlotCallQueue = [];\n",
       "               \n",
       "               \n",
       "           };\n",
       "           script.onerror = function(event) {\n",
       "               window.letsPlotCall = function(f) {};\n",
       "               window.letsPlotCallQueue = [];\n",
       "               var div = document.createElement(\"div\");\n",
       "               div.style.color = 'darkred';\n",
       "               div.textContent = 'Error loading Lets-Plot JS';\n",
       "               document.getElementById(\"Jwrw2x\").appendChild(div);\n",
       "           };\n",
       "           var e = document.getElementById(\"Jwrw2x\");\n",
       "           e.appendChild(script);\n",
       "       })();\n",
       "   </script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/plot+json": {
       "apply_color_scheme": true,
       "output": {
        "data": {
         "x": [
          "b",
          "b",
          "b",
          "a",
          "a",
          "c",
          "a",
          "b",
          "c",
          "b",
          "b",
          "a",
          "a",
          "b",
          "b",
          "a",
          "b",
          "a",
          "b",
          "b",
          "a",
          "a",
          "a",
          "a",
          "b",
          "a",
          "c",
          "c",
          "a",
          "a",
          "c",
          "c",
          "a",
          "a",
          "a",
          "b",
          "c",
          "c",
          "c",
          "b",
          "b",
          "b",
          "b",
          "c",
          "c",
          "b",
          "b",
          "c",
          "a",
          "c",
          "c",
          "a",
          "b",
          "c",
          "c",
          "c",
          "c",
          "b",
          "a",
          "b",
          "a",
          "c",
          "b",
          "c",
          "a",
          "a",
          "b",
          "b",
          "a",
          "a",
          "c",
          "b",
          "c",
          "c",
          "b",
          "b",
          "c",
          "c",
          "a",
          "a",
          "b",
          "b",
          "a",
          "a",
          "a",
          "a",
          "b",
          "c",
          "c",
          "b",
          "a",
          "b",
          "a",
          "b",
          "c",
          "c",
          "a",
          "c",
          "a",
          "b"
         ],
         "y": [
          1.7687943677666822,
          0.10628211826095219,
          1.7204367528361415,
          -0.037534100873246996,
          -0.7556292895100587,
          -0.9951161662703086,
          1.052027068066767,
          -0.6497562324361997,
          -0.47969604178646064,
          1.3195412359422278,
          0.6471885375454148,
          -0.6145630713451975,
          0.21099118887163767,
          0.83061591557465,
          0.4890950549463388,
          1.3037914453654387,
          0.9791647128033308,
          -1.304372469120525,
          -0.6739853262611326,
          -0.6302272555314844,
          -0.06567293517548581,
          0.16992439572141083,
          0.4985272158114654,
          0.3744336799283743,
          0.8193988829709237,
          2.429780509168998,
          0.35327583135456675,
          0.34645985018170156,
          0.564510581840672,
          1.1079917758816,
          -2.20104878328904,
          1.9695418127098692,
          -0.2364138746138622,
          -0.9260104971066431,
          -0.23550283017719809,
          -0.01921041177944297,
          -0.8623579647574651,
          -0.04184743225913421,
          -0.34086213093508905,
          0.6989387291958685,
          -0.21280602574129706,
          -1.5229462883897182,
          -1.114669649931767,
          -0.7246596018824761,
          -0.9795078835494803,
          0.43048299121850986,
          0.5860946664293265,
          0.411783051565248,
          2.439598419520245,
          -0.30589367627540626,
          -0.03625210379296746,
          -0.01523713036011583,
          0.6748592497714744,
          0.449083044780863,
          0.7510927431339195,
          -0.209489786045136,
          -0.7633801278093398,
          -0.37577099825301746,
          0.14629225501397528,
          -0.03366700906389058,
          -0.4992531374770084,
          0.5161937494021966,
          0.5548153186535513,
          -0.5079465545590672,
          -1.021287990885576,
          1.8600533054767678,
          -1.3941301234610528,
          -0.5876750570891159,
          0.27922173427881986,
          -1.1260343908468196,
          -1.577245894169239,
          1.6868507959809638,
          -0.34315520906864366,
          0.8756673838511702,
          -0.013202904846600071,
          0.1663109595197368,
          0.25926468816943765,
          0.6214371542812759,
          0.40713450838998066,
          0.05660059883189231,
          -0.5927007106253308,
          0.2144892451035325,
          0.6705129011671771,
          -0.4192229557817511,
          -0.13399160735362278,
          -1.5234992785571666,
          -0.5760061861059607,
          2.2972205355496347,
          2.162580230059769,
          1.0480461096358216,
          1.0609063932362777,
          -1.3878584214688807,
          0.6502887453513964,
          -1.494802096457127,
          0.698933409561582,
          1.0279802603891166,
          -0.7139967016700057,
          -0.7226340957160897,
          0.2725587805228503,
          -0.10652537707272984
         ]
        },
        "data_meta": {
         "series_annotations": [
          {
           "column": "x",
           "type": "str"
          },
          {
           "column": "y",
           "type": "float"
          }
         ]
        },
        "kind": "plot",
        "layers": [
         {
          "geom": "boxplot",
          "mapping": {},
          "position": "dodge",
          "stat": "boxplot",
          "whisker_width": 0.2
         },
         {
          "geom": "point",
          "mapping": {},
          "position": "dodge",
          "show_legend": false,
          "stat": "boxplot_outlier"
         }
        ],
        "mapping": {
         "x": "x",
         "y": "y"
        },
        "scales": []
       },
       "output_type": "lets_plot_spec",
       "swing_enabled": true
      },
      "text/html": [
       "   <div id=\"0WU9w1\" ></div>\n",
       "   <script type=\"text/javascript\" data-lets-plot-script=\"plot\">\n",
       "   \n",
       "   (function() {\n",
       "   // ----------\n",
       "   \n",
       "   const forceImmediateRender = false;\n",
       "   const responsive = false;\n",
       "   \n",
       "   let sizing = {\n",
       "       width_mode: \"MIN\",\n",
       "       height_mode: \"SCALED\",\n",
       "       width: null, \n",
       "       height: null \n",
       "   };\n",
       "   \n",
       "   const preferredWidth = document.body.dataset.letsPlotPreferredWidth;\n",
       "   if (preferredWidth !== undefined) {\n",
       "       sizing = {\n",
       "           width_mode: 'FIXED',\n",
       "           height_mode: 'SCALED',\n",
       "           width: parseFloat(preferredWidth)\n",
       "       };\n",
       "   }\n",
       "   \n",
       "   const containerDiv = document.getElementById(\"0WU9w1\");\n",
       "   let fig = null;\n",
       "   \n",
       "   function renderPlot() {\n",
       "       if (fig === null) {\n",
       "           const plotSpec = {\n",
       "\"mapping\":{\n",
       "\"x\":\"x\",\n",
       "\"y\":\"y\"\n",
       "},\n",
       "\"data\":{\n",
       "},\n",
       "\"kind\":\"plot\",\n",
       "\"scales\":[],\n",
       "\"layers\":[{\n",
       "\"mapping\":{\n",
       "},\n",
       "\"stat\":\"boxplot\",\n",
       "\"whisker_width\":0.2,\n",
       "\"position\":\"dodge\",\n",
       "\"geom\":\"boxplot\",\n",
       "\"data\":{\n",
       "\"..middle..\":[0.10628211826095219,0.14629225501397528,-0.03904976802605084],\n",
       "\"..upper..\":[0.6868989894836715,0.6073996635960341,0.5688154518417363],\n",
       "\"..ymax..\":[1.7687943677666822,1.8600533054767678,2.2972205355496347],\n",
       "\"..lower..\":[-0.5901878838572234,-0.4592380466293797,-0.6152903251375785],\n",
       "\"x\":[\"b\",\"a\",\"c\"],\n",
       "\"..ymin..\":[-1.5229462883897182,-1.5234992785571666,-2.20104878328904]\n",
       "}\n",
       "},{\n",
       "\"mapping\":{\n",
       "},\n",
       "\"stat\":\"boxplot_outlier\",\n",
       "\"show_legend\":false,\n",
       "\"position\":\"dodge\",\n",
       "\"geom\":\"point\",\n",
       "\"data\":{\n",
       "\"..middle..\":[0.10628211826095219,0.14629225501397528,0.14629225501397528,-0.03904976802605084],\n",
       "\"..upper..\":[0.6868989894836715,0.6073996635960341,0.6073996635960341,0.5688154518417363],\n",
       "\"..ymax..\":[1.7687943677666822,1.8600533054767678,1.8600533054767678,2.2972205355496347],\n",
       "\"..lower..\":[-0.5901878838572234,-0.4592380466293797,-0.4592380466293797,-0.6152903251375785],\n",
       "\"x\":[\"b\",\"a\",\"a\",\"c\"],\n",
       "\"y\":[NaN,2.429780509168998,2.439598419520245,NaN],\n",
       "\"..ymin..\":[-1.5229462883897182,-1.5234992785571666,-1.5234992785571666,-2.20104878328904]\n",
       "}\n",
       "}],\n",
       "\"data_meta\":{\n",
       "\"series_annotations\":[{\n",
       "\"type\":\"str\",\n",
       "\"column\":\"x\"\n",
       "},{\n",
       "\"type\":\"float\",\n",
       "\"column\":\"y\"\n",
       "}]\n",
       "},\n",
       "\"spec_id\":\"1\"\n",
       "};\n",
       "           window.letsPlotCall(function() { fig = LetsPlot.buildPlotFromProcessedSpecs(plotSpec, containerDiv, sizing); });\n",
       "       } else {\n",
       "           fig.updateView({});\n",
       "       }\n",
       "   }\n",
       "   \n",
       "   const renderImmediately = \n",
       "       forceImmediateRender || (\n",
       "           sizing.width_mode === 'FIXED' && \n",
       "           (sizing.height_mode === 'FIXED' || sizing.height_mode === 'SCALED')\n",
       "       );\n",
       "   \n",
       "   if (renderImmediately) {\n",
       "       renderPlot();\n",
       "   }\n",
       "   \n",
       "   if (!renderImmediately || responsive) {\n",
       "       // Set up observer for initial sizing or continuous monitoring\n",
       "       var observer = new ResizeObserver(function(entries) {\n",
       "           for (let entry of entries) {\n",
       "               if (entry.contentBoxSize && \n",
       "                   entry.contentBoxSize[0].inlineSize > 0) {\n",
       "                   if (!responsive && observer) {\n",
       "                       observer.disconnect();\n",
       "                       observer = null;\n",
       "                   }\n",
       "                   renderPlot();\n",
       "                   if (!responsive) {\n",
       "                       break;\n",
       "                   }\n",
       "               }\n",
       "           }\n",
       "       });\n",
       "       \n",
       "       observer.observe(containerDiv);\n",
       "   }\n",
       "   \n",
       "   // ----------\n",
       "   })();\n",
       "   \n",
       "   </script>                <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" display=\"block\" class=\"plt-container\" id=a2242164-610e-4913-8011-28d0d9dc00a2 width=\"100%\" height=\"100%\" style=\"max-width: 600.0px; max-height: 400.0px;\" viewBox=\"0 0 600.0 400.0\" preserveAspectRatio=\"xMinYMin meet\">\n",
       "  <style type=\"text/css\">\n",
       "  .plt-container {\n",
       "   font-family: sans-serif;\n",
       "   user-select: none;\n",
       "   -webkit-user-select: none;\n",
       "   -moz-user-select: none;\n",
       "   -ms-user-select: none;\n",
       "}\n",
       "text {\n",
       "   text-rendering: optimizeLegibility;\n",
       "}\n",
       "#pNxmSde .plot-title {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 16.0px;\n",
       "\n",
       "}\n",
       "#pNxmSde .plot-subtitle {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 15.0px;\n",
       "\n",
       "}\n",
       "#pNxmSde .plot-caption {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "#pNxmSde .hyperlink-element {\n",
       "fill: #118ed8;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "\n",
       "}\n",
       "#pNxmSde .legend-title {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 15.0px;\n",
       "\n",
       "}\n",
       "#pNxmSde .legend-item {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "#pNxmSde .axis-title-x {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 15.0px;\n",
       "\n",
       "}\n",
       "#pNxmSde .axis-text-x {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "#d0uBN2F .axis-tooltip-text-x {\n",
       "fill: #ffffff;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "#pNxmSde .axis-title-y {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 15.0px;\n",
       "\n",
       "}\n",
       "#pNxmSde .axis-text-y {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "#d0uBN2F .axis-tooltip-text-y {\n",
       "fill: #ffffff;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "#pNxmSde .facet-strip-text-x {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "#pNxmSde .facet-strip-text-y {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "#d0uBN2F .tooltip-text {\n",
       "fill: #474747;\n",
       "font-weight: normal;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "#d0uBN2F .tooltip-title {\n",
       "fill: #474747;\n",
       "font-weight: bold;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "#d0uBN2F .tooltip-label {\n",
       "fill: #474747;\n",
       "font-weight: bold;\n",
       "font-style: normal;\n",
       "font-family: sans-serif;\n",
       "font-size: 13.0px;\n",
       "\n",
       "}\n",
       "\n",
       "  </style>\n",
       "  <g id=\"pNxmSde\">\n",
       "    <path fill-rule=\"evenodd\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\" d=\"M0.0 0.0 L0.0 400.0 L600.0 400.0 L600.0 0.0 Z\">\n",
       "    </path>\n",
       "    <g transform=\"translate(21.0 6.0 ) \">\n",
       "      <g>\n",
       "        <g transform=\"translate(31.015306675749617 0.0 ) \">\n",
       "          <g>\n",
       "            <line x1=\"106.75456080629174\" y1=\"0.0\" x2=\"106.75456080629174\" y2=\"354.0\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"270.99234666212516\" y1=\"0.0\" x2=\"270.99234666212516\" y2=\"354.0\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"435.2301325179586\" y1=\"0.0\" x2=\"435.2301325179586\" y2=\"354.0\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "          </g>\n",
       "        </g>\n",
       "        <g transform=\"translate(31.015306675749617 0.0 ) \">\n",
       "          <g>\n",
       "            <line x1=\"0.0\" y1=\"323.9668214222683\" x2=\"541.9846933242504\" y2=\"323.9668214222683\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"0.0\" y1=\"289.2929744615077\" x2=\"541.9846933242504\" y2=\"289.2929744615077\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"0.0\" y1=\"254.6191275007471\" x2=\"541.9846933242504\" y2=\"254.6191275007471\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"0.0\" y1=\"219.94528053998653\" x2=\"541.9846933242504\" y2=\"219.94528053998653\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"0.0\" y1=\"185.2714335792259\" x2=\"541.9846933242504\" y2=\"185.2714335792259\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"0.0\" y1=\"150.5975866184653\" x2=\"541.9846933242504\" y2=\"150.5975866184653\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"0.0\" y1=\"115.92373965770472\" x2=\"541.9846933242504\" y2=\"115.92373965770472\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"0.0\" y1=\"81.24989269694412\" x2=\"541.9846933242504\" y2=\"81.24989269694412\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"0.0\" y1=\"46.57604573618352\" x2=\"541.9846933242504\" y2=\"46.57604573618352\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "            <line x1=\"0.0\" y1=\"11.902198775422903\" x2=\"541.9846933242504\" y2=\"11.902198775422903\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
       "            </line>\n",
       "          </g>\n",
       "        </g>\n",
       "      </g>\n",
       "      <g clip-path=\"url(#cz8p7dU)\" clip-bounds-jfx=\"[rect (31.015306675749617, 0.0), (541.9846933242504, 354.0)]\">\n",
       "        <g transform=\"translate(31.015306675749617 0.0 ) \">\n",
       "          <g>\n",
       "            <g>\n",
       "              <rect x=\"32.847557171166684\" y=\"137.63657270151006\" height=\"88.56302960363689\" width=\"147.8140072702501\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\" stroke-width=\"1.6500000000000001\">\n",
       "              </rect>\n",
       "              <rect x=\"197.08534302700014\" y=\"143.1496676201332\" height=\"73.96886545386423\" width=\"147.8140072702501\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\" stroke-width=\"1.6500000000000001\">\n",
       "              </rect>\n",
       "              <rect x=\"361.32312888283354\" y=\"145.8253937270734\" height=\"82.11500499266657\" width=\"147.81400727025016\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\" stroke-width=\"1.6500000000000001\">\n",
       "              </rect>\n",
       "              <line x1=\"32.847557171166684\" y1=\"177.90101377273447\" x2=\"180.66156444141677\" y2=\"177.90101377273447\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"3.3000000000000003\">\n",
       "              </line>\n",
       "              <line x1=\"197.08534302700014\" y1=\"175.12640305542763\" x2=\"344.89935029725024\" y2=\"175.12640305542763\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"3.3000000000000003\">\n",
       "              </line>\n",
       "              <line x1=\"361.32312888283354\" y1=\"187.9794449400029\" x2=\"509.1371361530837\" y2=\"187.9794449400029\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"3.3000000000000003\">\n",
       "              </line>\n",
       "              <line x1=\"106.75456080629174\" y1=\"226.19960230514695\" x2=\"106.75456080629174\" y2=\"290.88424664539286\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"91.97316007926672\" y1=\"290.88424664539286\" x2=\"121.53596153331675\" y2=\"290.88424664539286\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"106.75456080629174\" y1=\"137.63657270151006\" x2=\"106.75456080629174\" y2=\"62.60962315323144\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"91.97316007926672\" y1=\"62.60962315323144\" x2=\"121.53596153331675\" y2=\"62.60962315323144\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"270.99234666212516\" y1=\"217.1185330739974\" x2=\"270.99234666212516\" y2=\"290.9225952382667\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"256.21094593510014\" y1=\"290.9225952382667\" x2=\"285.7737473891502\" y2=\"290.9225952382667\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"270.99234666212516\" y1=\"143.1496676201332\" x2=\"270.99234666212516\" y2=\"56.28102627330924\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"256.21094593510014\" y1=\"56.28102627330924\" x2=\"285.7737473891502\" y2=\"56.28102627330924\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"435.2301325179586\" y1=\"227.94039871973996\" x2=\"435.2301325179586\" y2=\"337.9090909090909\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"420.4487317909336\" y1=\"337.9090909090909\" x2=\"450.0115332449836\" y2=\"337.9090909090909\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"435.2301325179586\" y1=\"145.8253937270734\" x2=\"435.2301325179586\" y2=\"25.964487009696853\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "              <line x1=\"420.4487317909336\" y1=\"25.964487009696853\" x2=\"450.0115332449836\" y2=\"25.964487009696853\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" fill=\"none\" stroke-width=\"1.6500000000000001\">\n",
       "              </line>\n",
       "            </g>\n",
       "            <g>\n",
       "              <g>\n",
       "                <g >\n",
       "                  <circle fill=\"#474747\" stroke=\"#474747\" stroke-opacity=\"0.0\" stroke-width=\"0.0\" cx=\"270.99234666212516\" cy=\"16.771758532896285\" r=\"3.3000000000000003\" />\n",
       "                  <circle fill=\"#474747\" stroke=\"#474747\" stroke-opacity=\"0.0\" stroke-width=\"0.0\" cx=\"270.99234666212516\" cy=\"16.090909090909093\" r=\"3.3000000000000003\" />\n",
       "                </g>\n",
       "              </g>\n",
       "            </g>\n",
       "          </g>\n",
       "        </g>\n",
       "        <defs>\n",
       "          <clipPath id=\"cnOtAZS\">\n",
       "            <rect x=\"31.015306675749617\" y=\"0.0\" width=\"541.9846933242504\" height=\"354.0\">\n",
       "            </rect>\n",
       "          </clipPath>\n",
       "        </defs>\n",
       "        <defs>\n",
       "          <clipPath id=\"cz8p7dU\">\n",
       "            <rect x=\"31.015306675749617\" y=\"0.0\" width=\"541.9846933242504\" height=\"354.0\">\n",
       "            </rect>\n",
       "          </clipPath>\n",
       "        </defs>\n",
       "      </g>\n",
       "      <g>\n",
       "        <g transform=\"translate(31.015306675749617 354.0 ) \">\n",
       "          <g transform=\"translate(106.75456080629174 0.0 ) \">\n",
       "            <line stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" x2=\"0.0\" y2=\"4.0\">\n",
       "            </line>\n",
       "            <g transform=\"translate(0.0 6.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-x\" text-anchor=\"middle\" dy=\"0.7em\">\n",
       "                <tspan>b</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(270.99234666212516 0.0 ) \">\n",
       "            <line stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" x2=\"0.0\" y2=\"4.0\">\n",
       "            </line>\n",
       "            <g transform=\"translate(0.0 6.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-x\" text-anchor=\"middle\" dy=\"0.7em\">\n",
       "                <tspan>a</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(435.2301325179586 0.0 ) \">\n",
       "            <line stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" x2=\"0.0\" y2=\"4.0\">\n",
       "            </line>\n",
       "            <g transform=\"translate(0.0 6.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-x\" text-anchor=\"middle\" dy=\"0.7em\">\n",
       "                <tspan>c</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <line x1=\"0.0\" y1=\"0.0\" x2=\"541.9846933242504\" y2=\"0.0\" stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\">\n",
       "          </line>\n",
       "        </g>\n",
       "        <g transform=\"translate(31.015306675749617 0.0 ) \">\n",
       "          <g transform=\"translate(0.0 323.9668214222683 ) \">\n",
       "            <g transform=\"translate(-2.0 0.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
       "                <tspan>-2</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(0.0 289.2929744615077 ) \">\n",
       "            <g transform=\"translate(-2.0 0.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
       "                <tspan>-1.5</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(0.0 254.6191275007471 ) \">\n",
       "            <g transform=\"translate(-2.0 0.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
       "                <tspan>-1</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(0.0 219.94528053998653 ) \">\n",
       "            <g transform=\"translate(-2.0 0.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
       "                <tspan>-0.5</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(0.0 185.2714335792259 ) \">\n",
       "            <g transform=\"translate(-2.0 0.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
       "                <tspan>0</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(0.0 150.5975866184653 ) \">\n",
       "            <g transform=\"translate(-2.0 0.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
       "                <tspan>0.5</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(0.0 115.92373965770472 ) \">\n",
       "            <g transform=\"translate(-2.0 0.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
       "                <tspan>1</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(0.0 81.24989269694412 ) \">\n",
       "            <g transform=\"translate(-2.0 0.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
       "                <tspan>1.5</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(0.0 46.57604573618352 ) \">\n",
       "            <g transform=\"translate(-2.0 0.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
       "                <tspan>2</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "          <g transform=\"translate(0.0 11.902198775422903 ) \">\n",
       "            <g transform=\"translate(-2.0 0.0 ) \">\n",
       "              <text style=\"font-size:13.0px;\" y=\"0.0\" class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
       "                <tspan>2.5</tspan>\n",
       "              </text>\n",
       "            </g>\n",
       "          </g>\n",
       "        </g>\n",
       "      </g>\n",
       "    </g>\n",
       "    <g transform=\"translate(15.0 183.0 ) rotate(-90.0 ) \">\n",
       "      <text style=\"font-size:15.0px;\" y=\"0.0\" class=\"axis-title-y\" text-anchor=\"middle\">\n",
       "        <tspan>y</tspan>\n",
       "      </text>\n",
       "    </g>\n",
       "    <g transform=\"translate(323.00765333787484 394.0 ) \">\n",
       "      <text style=\"font-size:15.0px;\" y=\"0.0\" class=\"axis-title-x\" text-anchor=\"middle\">\n",
       "        <tspan>x</tspan>\n",
       "      </text>\n",
       "    </g>\n",
       "    <path fill=\"rgb(0,0,0)\" fill-opacity=\"0.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" stroke-width=\"0.0\" d=\"M0.0 0.0 L0.0 400.0 L600.0 400.0 L600.0 0.0 Z\" pointer-events=\"none\">\n",
       "    </path>\n",
       "  </g>\n",
       "  <g id=\"d0uBN2F\">\n",
       "  </g>\n",
       "</svg>\n",
       "                <script>document.getElementById(\"a2242164-610e-4913-8011-28d0d9dc00a2\").style.display = \"none\";</script>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val n = 100\n",
    "val rand = java.util.Random(37)\n",
    "val data = mapOf<String, Any>(\n",
    "    \"x\" to List(n) { listOf(\"a\", \"b\", \"c\").random() },\n",
    "    \"y\" to List(n) { rand.nextGaussian() }\n",
    ")\n",
    "\n",
    "letsPlot(data) { x = \"x\"; y = \"y\" }  + geomBoxplot(whiskerWidth = 0.2)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Kotlin",
   "language": "kotlin",
   "name": "kotlin"
  },
  "language_info": {
   "codemirror_mode": "text/x-kotlin",
   "file_extension": ".kt",
   "mimetype": "text/x-kotlin",
   "name": "kotlin",
   "nbconvert_exporter": "",
   "pygments_lexer": "kotlin",
   "version": "2.2.20-Beta2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
