{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ " <div id=\"5dxedG\"></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@v2.3.0/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(\"5dxedG\").appendChild(div);\n", " };\n", " var e = document.getElementById(\"5dxedG\");\n", " e.appendChild(script);\n", " })();\n", " </script>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%useLatestDescriptors\n", "%use lets-plot\n", "//%use krangl" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Lets-Plot Kotlin API v.3.2.0. Frontend: Notebook with dynamically loaded JS. Lets-Plot JS v.2.3.0." ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "LetsPlot.getInfo()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "%use krangl" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<html><body><table><tr><th style=\"text-align:left\"></th><th style=\"text-align:left\">manufacturer</th><th style=\"text-align:left\">model</th><th style=\"text-align:left\">displ</th><th style=\"text-align:left\">year</th><th style=\"text-align:left\">cyl</th><th style=\"text-align:left\">trans</th><th style=\"text-align:left\">drv</th><th style=\"text-align:left\">cty</th><th style=\"text-align:left\">hwy</th><th style=\"text-align:left\">fl</th><th style=\"text-align:left\">class</th></tr><tr><td style=\"text-align:left\" title=\"1\">1</td><td style=\"text-align:left\" title=\"audi\">audi</td><td style=\"text-align:left\" title=\"a4\">a4</td><td style=\"text-align:left\" title=\"1.8\">1.8</td><td style=\"text-align:left\" title=\"1999\">1999</td><td style=\"text-align:left\" title=\"4\">4</td><td style=\"text-align:left\" title=\"auto(l5)\">auto(l5)</td><td style=\"text-align:left\" title=\"f\">f</td><td style=\"text-align:left\" title=\"18\">18</td><td style=\"text-align:left\" title=\"29\">29</td><td style=\"text-align:left\" title=\"p\">p</td><td style=\"text-align:left\" title=\"compact\">compact</td></tr><tr><td style=\"text-align:left\" title=\"2\">2</td><td style=\"text-align:left\" title=\"audi\">audi</td><td style=\"text-align:left\" title=\"a4\">a4</td><td style=\"text-align:left\" title=\"1.8\">1.8</td><td style=\"text-align:left\" title=\"1999\">1999</td><td style=\"text-align:left\" title=\"4\">4</td><td style=\"text-align:left\" title=\"manual(m5)\">manual(m5)</td><td style=\"text-align:left\" title=\"f\">f</td><td style=\"text-align:left\" title=\"21\">21</td><td style=\"text-align:left\" title=\"29\">29</td><td style=\"text-align:left\" title=\"p\">p</td><td style=\"text-align:left\" title=\"compact\">compact</td></tr><tr><td style=\"text-align:left\" title=\"3\">3</td><td style=\"text-align:left\" title=\"audi\">audi</td><td style=\"text-align:left\" title=\"a4\">a4</td><td style=\"text-align:left\" title=\"2.0\">2.0</td><td style=\"text-align:left\" title=\"2008\">2008</td><td style=\"text-align:left\" title=\"4\">4</td><td style=\"text-align:left\" title=\"manual(m6)\">manual(m6)</td><td style=\"text-align:left\" title=\"f\">f</td><td style=\"text-align:left\" title=\"20\">20</td><td style=\"text-align:left\" title=\"31\">31</td><td style=\"text-align:left\" title=\"p\">p</td><td style=\"text-align:left\" title=\"compact\">compact</td></tr><tr><td style=\"text-align:left\" title=\"4\">4</td><td style=\"text-align:left\" title=\"audi\">audi</td><td style=\"text-align:left\" title=\"a4\">a4</td><td style=\"text-align:left\" title=\"2.0\">2.0</td><td style=\"text-align:left\" title=\"2008\">2008</td><td style=\"text-align:left\" title=\"4\">4</td><td style=\"text-align:left\" title=\"auto(av)\">auto(av)</td><td style=\"text-align:left\" title=\"f\">f</td><td style=\"text-align:left\" title=\"21\">21</td><td style=\"text-align:left\" title=\"30\">30</td><td style=\"text-align:left\" title=\"p\">p</td><td style=\"text-align:left\" title=\"compact\">compact</td></tr><tr><td style=\"text-align:left\" title=\"5\">5</td><td style=\"text-align:left\" title=\"audi\">audi</td><td style=\"text-align:left\" title=\"a4\">a4</td><td style=\"text-align:left\" title=\"2.8\">2.8</td><td style=\"text-align:left\" title=\"1999\">1999</td><td style=\"text-align:left\" title=\"6\">6</td><td style=\"text-align:left\" title=\"auto(l5)\">auto(l5)</td><td style=\"text-align:left\" title=\"f\">f</td><td style=\"text-align:left\" title=\"16\">16</td><td style=\"text-align:left\" title=\"26\">26</td><td style=\"text-align:left\" title=\"p\">p</td><td style=\"text-align:left\" title=\"compact\">compact</td></tr></table><p>Shape: 5 x 12. \n", "</p></body></html>" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "val mpg_df = DataFrame.readCSV(\"https://raw.githubusercontent.com/JetBrains/lets-plot-kotlin/master/docs/examples/data/mpg.csv\")\n", "mpg_df.head()\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "val mpg = mpg_df.toMap()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ " <div id=\"8uA7fH\"></div>\n", " <script type=\"text/javascript\" data-lets-plot-script=\"plot\">\n", " (function() {\n", " var plotSpec={\n", "\"mapping\":{\n", "\"x\":\"displ\",\n", "\"y\":\"hwy\",\n", "\"color\":\"manufacturer\"\n", "},\n", "\"data\":{\n", "\"displ\":[1.8,1.8,2.0,2.0,2.8,2.8,3.1,1.8,1.8,2.0,2.0,2.8,2.8,3.1,3.1,2.8,3.1,4.2,5.3,5.3,5.3,5.7,6.0,5.7,5.7,6.2,6.2,7.0,5.3,5.3,5.7,6.5,2.4,2.4,3.1,3.5,3.6,2.4,3.0,3.3,3.3,3.3,3.3,3.3,3.8,3.8,3.8,4.0,3.7,3.7,3.9,3.9,4.7,4.7,4.7,5.2,5.2,3.9,4.7,4.7,4.7,5.2,5.7,5.9,4.7,4.7,4.7,4.7,4.7,4.7,5.2,5.2,5.7,5.9,4.6,5.4,5.4,4.0,4.0,4.0,4.0,4.6,5.0,4.2,4.2,4.6,4.6,4.6,5.4,5.4,3.8,3.8,4.0,4.0,4.6,4.6,4.6,4.6,5.4,1.6,1.6,1.6,1.6,1.6,1.8,1.8,1.8,2.0,2.4,2.4,2.4,2.4,2.5,2.5,3.3,2.0,2.0,2.0,2.0,2.7,2.7,2.7,3.0,3.7,4.0,4.7,4.7,4.7,5.7,6.1,4.0,4.2,4.4,4.6,5.4,5.4,5.4,4.0,4.0,4.6,5.0,2.4,2.4,2.5,2.5,3.5,3.5,3.0,3.0,3.5,3.3,3.3,4.0,5.6,3.1,3.8,3.8,3.8,5.3,2.5,2.5,2.5,2.5,2.5,2.5,2.2,2.2,2.5,2.5,2.5,2.5,2.5,2.5,2.7,2.7,3.4,3.4,4.0,4.7,2.2,2.2,2.4,2.4,3.0,3.0,3.5,2.2,2.2,2.4,2.4,3.0,3.0,3.3,1.8,1.8,1.8,1.8,1.8,4.7,5.7,2.7,2.7,2.7,3.4,3.4,4.0,4.0,2.0,2.0,2.0,2.0,2.8,1.9,2.0,2.0,2.0,2.0,2.5,2.5,2.8,2.8,1.9,1.9,2.0,2.0,2.5,2.5,1.8,1.8,2.0,2.0,2.8,2.8,3.6],\n", "\"hwy\":[29.0,29.0,31.0,30.0,26.0,26.0,27.0,26.0,25.0,28.0,27.0,25.0,25.0,25.0,25.0,24.0,25.0,23.0,20.0,15.0,20.0,17.0,17.0,26.0,23.0,26.0,25.0,24.0,19.0,14.0,15.0,17.0,27.0,30.0,26.0,29.0,26.0,24.0,24.0,22.0,22.0,24.0,24.0,17.0,22.0,21.0,23.0,23.0,19.0,18.0,17.0,17.0,19.0,19.0,12.0,17.0,15.0,17.0,17.0,12.0,17.0,16.0,18.0,15.0,16.0,12.0,17.0,17.0,16.0,12.0,15.0,16.0,17.0,15.0,17.0,17.0,18.0,17.0,19.0,17.0,19.0,19.0,17.0,17.0,17.0,16.0,16.0,17.0,15.0,17.0,26.0,25.0,26.0,24.0,21.0,22.0,23.0,22.0,20.0,33.0,32.0,32.0,29.0,32.0,34.0,36.0,36.0,29.0,26.0,27.0,30.0,31.0,26.0,26.0,28.0,26.0,29.0,28.0,27.0,24.0,24.0,24.0,22.0,19.0,20.0,17.0,12.0,19.0,18.0,14.0,15.0,18.0,18.0,15.0,17.0,16.0,18.0,17.0,19.0,19.0,17.0,29.0,27.0,31.0,32.0,27.0,26.0,26.0,25.0,25.0,17.0,17.0,20.0,18.0,26.0,26.0,27.0,28.0,25.0,25.0,24.0,27.0,25.0,26.0,23.0,26.0,26.0,26.0,26.0,25.0,27.0,25.0,27.0,20.0,20.0,19.0,17.0,20.0,17.0,29.0,27.0,31.0,31.0,26.0,26.0,28.0,27.0,29.0,31.0,31.0,26.0,26.0,27.0,30.0,33.0,35.0,37.0,35.0,15.0,18.0,20.0,20.0,22.0,17.0,19.0,18.0,20.0,29.0,26.0,29.0,29.0,24.0,44.0,29.0,26.0,29.0,29.0,29.0,29.0,23.0,24.0,44.0,41.0,29.0,26.0,28.0,29.0,29.0,29.0,28.0,29.0,26.0,26.0,26.0],\n", "\"manufacturer\":[\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"land rover\",\"land rover\",\"land rover\",\"land rover\",\"lincoln\",\"lincoln\",\"lincoln\",\"mercury\",\"mercury\",\"mercury\",\"mercury\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"pontiac\",\"pontiac\",\"pontiac\",\"pontiac\",\"pontiac\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\"]\n", "},\n", "\"ggsize\":{\n", "\"width\":600.0,\n", "\"height\":250.0\n", "},\n", "\"kind\":\"plot\",\n", "\"scales\":[],\n", "\"layers\":[{\n", "\"mapping\":{\n", "},\n", "\"stat\":\"identity\",\n", "\"size\":5.0,\n", "\"position\":\"identity\",\n", "\"geom\":\"point\",\n", "\"data\":{\n", "}\n", "}]\n", "};\n", " var plotContainer = document.getElementById(\"8uA7fH\");\n", " window.letsPlotCall(function() {{\n", " LetsPlot.buildPlotFromProcessedSpecs(plotSpec, -1, -1, plotContainer);\n", " }});\n", " })(); \n", " </script>" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "// Default legend\n", "val p = letsPlot(mpg) {x=\"displ\"; y=\"hwy\"; color=\"manufacturer\"} + geomPoint(size=5.0) + ggsize(600,250)\n", "p" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ " <div id=\"xVfvH7\"></div>\n", " <script type=\"text/javascript\" data-lets-plot-script=\"plot\">\n", " (function() {\n", " var plotSpec={\n", "\"ggtitle\":{\n", "\"text\":\"Two columns legend\"\n", "},\n", "\"mapping\":{\n", "\"x\":\"displ\",\n", "\"y\":\"hwy\",\n", "\"color\":\"manufacturer\"\n", "},\n", "\"data\":{\n", "\"displ\":[1.8,1.8,2.0,2.0,2.8,2.8,3.1,1.8,1.8,2.0,2.0,2.8,2.8,3.1,3.1,2.8,3.1,4.2,5.3,5.3,5.3,5.7,6.0,5.7,5.7,6.2,6.2,7.0,5.3,5.3,5.7,6.5,2.4,2.4,3.1,3.5,3.6,2.4,3.0,3.3,3.3,3.3,3.3,3.3,3.8,3.8,3.8,4.0,3.7,3.7,3.9,3.9,4.7,4.7,4.7,5.2,5.2,3.9,4.7,4.7,4.7,5.2,5.7,5.9,4.7,4.7,4.7,4.7,4.7,4.7,5.2,5.2,5.7,5.9,4.6,5.4,5.4,4.0,4.0,4.0,4.0,4.6,5.0,4.2,4.2,4.6,4.6,4.6,5.4,5.4,3.8,3.8,4.0,4.0,4.6,4.6,4.6,4.6,5.4,1.6,1.6,1.6,1.6,1.6,1.8,1.8,1.8,2.0,2.4,2.4,2.4,2.4,2.5,2.5,3.3,2.0,2.0,2.0,2.0,2.7,2.7,2.7,3.0,3.7,4.0,4.7,4.7,4.7,5.7,6.1,4.0,4.2,4.4,4.6,5.4,5.4,5.4,4.0,4.0,4.6,5.0,2.4,2.4,2.5,2.5,3.5,3.5,3.0,3.0,3.5,3.3,3.3,4.0,5.6,3.1,3.8,3.8,3.8,5.3,2.5,2.5,2.5,2.5,2.5,2.5,2.2,2.2,2.5,2.5,2.5,2.5,2.5,2.5,2.7,2.7,3.4,3.4,4.0,4.7,2.2,2.2,2.4,2.4,3.0,3.0,3.5,2.2,2.2,2.4,2.4,3.0,3.0,3.3,1.8,1.8,1.8,1.8,1.8,4.7,5.7,2.7,2.7,2.7,3.4,3.4,4.0,4.0,2.0,2.0,2.0,2.0,2.8,1.9,2.0,2.0,2.0,2.0,2.5,2.5,2.8,2.8,1.9,1.9,2.0,2.0,2.5,2.5,1.8,1.8,2.0,2.0,2.8,2.8,3.6],\n", "\"hwy\":[29.0,29.0,31.0,30.0,26.0,26.0,27.0,26.0,25.0,28.0,27.0,25.0,25.0,25.0,25.0,24.0,25.0,23.0,20.0,15.0,20.0,17.0,17.0,26.0,23.0,26.0,25.0,24.0,19.0,14.0,15.0,17.0,27.0,30.0,26.0,29.0,26.0,24.0,24.0,22.0,22.0,24.0,24.0,17.0,22.0,21.0,23.0,23.0,19.0,18.0,17.0,17.0,19.0,19.0,12.0,17.0,15.0,17.0,17.0,12.0,17.0,16.0,18.0,15.0,16.0,12.0,17.0,17.0,16.0,12.0,15.0,16.0,17.0,15.0,17.0,17.0,18.0,17.0,19.0,17.0,19.0,19.0,17.0,17.0,17.0,16.0,16.0,17.0,15.0,17.0,26.0,25.0,26.0,24.0,21.0,22.0,23.0,22.0,20.0,33.0,32.0,32.0,29.0,32.0,34.0,36.0,36.0,29.0,26.0,27.0,30.0,31.0,26.0,26.0,28.0,26.0,29.0,28.0,27.0,24.0,24.0,24.0,22.0,19.0,20.0,17.0,12.0,19.0,18.0,14.0,15.0,18.0,18.0,15.0,17.0,16.0,18.0,17.0,19.0,19.0,17.0,29.0,27.0,31.0,32.0,27.0,26.0,26.0,25.0,25.0,17.0,17.0,20.0,18.0,26.0,26.0,27.0,28.0,25.0,25.0,24.0,27.0,25.0,26.0,23.0,26.0,26.0,26.0,26.0,25.0,27.0,25.0,27.0,20.0,20.0,19.0,17.0,20.0,17.0,29.0,27.0,31.0,31.0,26.0,26.0,28.0,27.0,29.0,31.0,31.0,26.0,26.0,27.0,30.0,33.0,35.0,37.0,35.0,15.0,18.0,20.0,20.0,22.0,17.0,19.0,18.0,20.0,29.0,26.0,29.0,29.0,24.0,44.0,29.0,26.0,29.0,29.0,29.0,29.0,23.0,24.0,44.0,41.0,29.0,26.0,28.0,29.0,29.0,29.0,28.0,29.0,26.0,26.0,26.0],\n", "\"manufacturer\":[\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"land rover\",\"land rover\",\"land rover\",\"land rover\",\"lincoln\",\"lincoln\",\"lincoln\",\"mercury\",\"mercury\",\"mercury\",\"mercury\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"pontiac\",\"pontiac\",\"pontiac\",\"pontiac\",\"pontiac\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\"]\n", "},\n", "\"ggsize\":{\n", "\"width\":600.0,\n", "\"height\":250.0\n", "},\n", "\"kind\":\"plot\",\n", "\"scales\":[{\n", "\"aesthetic\":\"color\",\n", "\"discrete\":true,\n", "\"guide\":{\n", "\"name\":\"legend\",\n", "\"ncol\":2\n", "}\n", "}],\n", "\"layers\":[{\n", "\"mapping\":{\n", "},\n", "\"stat\":\"identity\",\n", "\"size\":5.0,\n", "\"position\":\"identity\",\n", "\"geom\":\"point\",\n", "\"data\":{\n", "}\n", "}]\n", "};\n", " var plotContainer = document.getElementById(\"xVfvH7\");\n", " window.letsPlotCall(function() {{\n", " LetsPlot.buildPlotFromProcessedSpecs(plotSpec, -1, -1, plotContainer);\n", " }});\n", " })(); \n", " </script>" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "// Layout the legend in two columns\n", "p + scaleColorDiscrete(guide=guideLegend(ncol=2)) + ggtitle(\"Two columns legend\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ " <div id=\"jUOarx\"></div>\n", " <script type=\"text/javascript\" data-lets-plot-script=\"plot\">\n", " (function() {\n", " var plotSpec={\n", "\"ggtitle\":{\n", "\"text\":\"Two columns legend filled by rows\"\n", "},\n", "\"mapping\":{\n", "\"x\":\"displ\",\n", "\"y\":\"hwy\",\n", "\"color\":\"manufacturer\"\n", "},\n", "\"data\":{\n", "\"displ\":[1.8,1.8,2.0,2.0,2.8,2.8,3.1,1.8,1.8,2.0,2.0,2.8,2.8,3.1,3.1,2.8,3.1,4.2,5.3,5.3,5.3,5.7,6.0,5.7,5.7,6.2,6.2,7.0,5.3,5.3,5.7,6.5,2.4,2.4,3.1,3.5,3.6,2.4,3.0,3.3,3.3,3.3,3.3,3.3,3.8,3.8,3.8,4.0,3.7,3.7,3.9,3.9,4.7,4.7,4.7,5.2,5.2,3.9,4.7,4.7,4.7,5.2,5.7,5.9,4.7,4.7,4.7,4.7,4.7,4.7,5.2,5.2,5.7,5.9,4.6,5.4,5.4,4.0,4.0,4.0,4.0,4.6,5.0,4.2,4.2,4.6,4.6,4.6,5.4,5.4,3.8,3.8,4.0,4.0,4.6,4.6,4.6,4.6,5.4,1.6,1.6,1.6,1.6,1.6,1.8,1.8,1.8,2.0,2.4,2.4,2.4,2.4,2.5,2.5,3.3,2.0,2.0,2.0,2.0,2.7,2.7,2.7,3.0,3.7,4.0,4.7,4.7,4.7,5.7,6.1,4.0,4.2,4.4,4.6,5.4,5.4,5.4,4.0,4.0,4.6,5.0,2.4,2.4,2.5,2.5,3.5,3.5,3.0,3.0,3.5,3.3,3.3,4.0,5.6,3.1,3.8,3.8,3.8,5.3,2.5,2.5,2.5,2.5,2.5,2.5,2.2,2.2,2.5,2.5,2.5,2.5,2.5,2.5,2.7,2.7,3.4,3.4,4.0,4.7,2.2,2.2,2.4,2.4,3.0,3.0,3.5,2.2,2.2,2.4,2.4,3.0,3.0,3.3,1.8,1.8,1.8,1.8,1.8,4.7,5.7,2.7,2.7,2.7,3.4,3.4,4.0,4.0,2.0,2.0,2.0,2.0,2.8,1.9,2.0,2.0,2.0,2.0,2.5,2.5,2.8,2.8,1.9,1.9,2.0,2.0,2.5,2.5,1.8,1.8,2.0,2.0,2.8,2.8,3.6],\n", "\"hwy\":[29.0,29.0,31.0,30.0,26.0,26.0,27.0,26.0,25.0,28.0,27.0,25.0,25.0,25.0,25.0,24.0,25.0,23.0,20.0,15.0,20.0,17.0,17.0,26.0,23.0,26.0,25.0,24.0,19.0,14.0,15.0,17.0,27.0,30.0,26.0,29.0,26.0,24.0,24.0,22.0,22.0,24.0,24.0,17.0,22.0,21.0,23.0,23.0,19.0,18.0,17.0,17.0,19.0,19.0,12.0,17.0,15.0,17.0,17.0,12.0,17.0,16.0,18.0,15.0,16.0,12.0,17.0,17.0,16.0,12.0,15.0,16.0,17.0,15.0,17.0,17.0,18.0,17.0,19.0,17.0,19.0,19.0,17.0,17.0,17.0,16.0,16.0,17.0,15.0,17.0,26.0,25.0,26.0,24.0,21.0,22.0,23.0,22.0,20.0,33.0,32.0,32.0,29.0,32.0,34.0,36.0,36.0,29.0,26.0,27.0,30.0,31.0,26.0,26.0,28.0,26.0,29.0,28.0,27.0,24.0,24.0,24.0,22.0,19.0,20.0,17.0,12.0,19.0,18.0,14.0,15.0,18.0,18.0,15.0,17.0,16.0,18.0,17.0,19.0,19.0,17.0,29.0,27.0,31.0,32.0,27.0,26.0,26.0,25.0,25.0,17.0,17.0,20.0,18.0,26.0,26.0,27.0,28.0,25.0,25.0,24.0,27.0,25.0,26.0,23.0,26.0,26.0,26.0,26.0,25.0,27.0,25.0,27.0,20.0,20.0,19.0,17.0,20.0,17.0,29.0,27.0,31.0,31.0,26.0,26.0,28.0,27.0,29.0,31.0,31.0,26.0,26.0,27.0,30.0,33.0,35.0,37.0,35.0,15.0,18.0,20.0,20.0,22.0,17.0,19.0,18.0,20.0,29.0,26.0,29.0,29.0,24.0,44.0,29.0,26.0,29.0,29.0,29.0,29.0,23.0,24.0,44.0,41.0,29.0,26.0,28.0,29.0,29.0,29.0,28.0,29.0,26.0,26.0,26.0],\n", "\"manufacturer\":[\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"land rover\",\"land rover\",\"land rover\",\"land rover\",\"lincoln\",\"lincoln\",\"lincoln\",\"mercury\",\"mercury\",\"mercury\",\"mercury\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"pontiac\",\"pontiac\",\"pontiac\",\"pontiac\",\"pontiac\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\"]\n", "},\n", "\"ggsize\":{\n", "\"width\":600.0,\n", "\"height\":250.0\n", "},\n", "\"kind\":\"plot\",\n", "\"scales\":[{\n", "\"aesthetic\":\"color\",\n", "\"discrete\":true,\n", "\"guide\":{\n", "\"name\":\"legend\",\n", "\"ncol\":2,\n", "\"byrow\":true\n", "}\n", "}],\n", "\"layers\":[{\n", "\"mapping\":{\n", "},\n", "\"stat\":\"identity\",\n", "\"size\":5.0,\n", "\"position\":\"identity\",\n", "\"geom\":\"point\",\n", "\"data\":{\n", "}\n", "}]\n", "};\n", " var plotContainer = document.getElementById(\"jUOarx\");\n", " window.letsPlotCall(function() {{\n", " LetsPlot.buildPlotFromProcessedSpecs(plotSpec, -1, -1, plotContainer);\n", " }});\n", " })(); \n", " </script>" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "// Same and fill by rows\n", "p + scaleColorDiscrete(guide=guideLegend(ncol=2, byRow=true)) +\n", "ggtitle(\"Two columns legend filled by rows\")" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ " <div id=\"s8ftfy\"></div>\n", " <script type=\"text/javascript\" data-lets-plot-script=\"plot\">\n", " (function() {\n", " var plotSpec={\n", "\"ggtitle\":{\n", "\"text\":\"Five rows legend and below\"\n", "},\n", "\"mapping\":{\n", "\"x\":\"displ\",\n", "\"y\":\"hwy\",\n", "\"color\":\"manufacturer\"\n", "},\n", "\"data\":{\n", "\"displ\":[1.8,1.8,2.0,2.0,2.8,2.8,3.1,1.8,1.8,2.0,2.0,2.8,2.8,3.1,3.1,2.8,3.1,4.2,5.3,5.3,5.3,5.7,6.0,5.7,5.7,6.2,6.2,7.0,5.3,5.3,5.7,6.5,2.4,2.4,3.1,3.5,3.6,2.4,3.0,3.3,3.3,3.3,3.3,3.3,3.8,3.8,3.8,4.0,3.7,3.7,3.9,3.9,4.7,4.7,4.7,5.2,5.2,3.9,4.7,4.7,4.7,5.2,5.7,5.9,4.7,4.7,4.7,4.7,4.7,4.7,5.2,5.2,5.7,5.9,4.6,5.4,5.4,4.0,4.0,4.0,4.0,4.6,5.0,4.2,4.2,4.6,4.6,4.6,5.4,5.4,3.8,3.8,4.0,4.0,4.6,4.6,4.6,4.6,5.4,1.6,1.6,1.6,1.6,1.6,1.8,1.8,1.8,2.0,2.4,2.4,2.4,2.4,2.5,2.5,3.3,2.0,2.0,2.0,2.0,2.7,2.7,2.7,3.0,3.7,4.0,4.7,4.7,4.7,5.7,6.1,4.0,4.2,4.4,4.6,5.4,5.4,5.4,4.0,4.0,4.6,5.0,2.4,2.4,2.5,2.5,3.5,3.5,3.0,3.0,3.5,3.3,3.3,4.0,5.6,3.1,3.8,3.8,3.8,5.3,2.5,2.5,2.5,2.5,2.5,2.5,2.2,2.2,2.5,2.5,2.5,2.5,2.5,2.5,2.7,2.7,3.4,3.4,4.0,4.7,2.2,2.2,2.4,2.4,3.0,3.0,3.5,2.2,2.2,2.4,2.4,3.0,3.0,3.3,1.8,1.8,1.8,1.8,1.8,4.7,5.7,2.7,2.7,2.7,3.4,3.4,4.0,4.0,2.0,2.0,2.0,2.0,2.8,1.9,2.0,2.0,2.0,2.0,2.5,2.5,2.8,2.8,1.9,1.9,2.0,2.0,2.5,2.5,1.8,1.8,2.0,2.0,2.8,2.8,3.6],\n", "\"hwy\":[29.0,29.0,31.0,30.0,26.0,26.0,27.0,26.0,25.0,28.0,27.0,25.0,25.0,25.0,25.0,24.0,25.0,23.0,20.0,15.0,20.0,17.0,17.0,26.0,23.0,26.0,25.0,24.0,19.0,14.0,15.0,17.0,27.0,30.0,26.0,29.0,26.0,24.0,24.0,22.0,22.0,24.0,24.0,17.0,22.0,21.0,23.0,23.0,19.0,18.0,17.0,17.0,19.0,19.0,12.0,17.0,15.0,17.0,17.0,12.0,17.0,16.0,18.0,15.0,16.0,12.0,17.0,17.0,16.0,12.0,15.0,16.0,17.0,15.0,17.0,17.0,18.0,17.0,19.0,17.0,19.0,19.0,17.0,17.0,17.0,16.0,16.0,17.0,15.0,17.0,26.0,25.0,26.0,24.0,21.0,22.0,23.0,22.0,20.0,33.0,32.0,32.0,29.0,32.0,34.0,36.0,36.0,29.0,26.0,27.0,30.0,31.0,26.0,26.0,28.0,26.0,29.0,28.0,27.0,24.0,24.0,24.0,22.0,19.0,20.0,17.0,12.0,19.0,18.0,14.0,15.0,18.0,18.0,15.0,17.0,16.0,18.0,17.0,19.0,19.0,17.0,29.0,27.0,31.0,32.0,27.0,26.0,26.0,25.0,25.0,17.0,17.0,20.0,18.0,26.0,26.0,27.0,28.0,25.0,25.0,24.0,27.0,25.0,26.0,23.0,26.0,26.0,26.0,26.0,25.0,27.0,25.0,27.0,20.0,20.0,19.0,17.0,20.0,17.0,29.0,27.0,31.0,31.0,26.0,26.0,28.0,27.0,29.0,31.0,31.0,26.0,26.0,27.0,30.0,33.0,35.0,37.0,35.0,15.0,18.0,20.0,20.0,22.0,17.0,19.0,18.0,20.0,29.0,26.0,29.0,29.0,24.0,44.0,29.0,26.0,29.0,29.0,29.0,29.0,23.0,24.0,44.0,41.0,29.0,26.0,28.0,29.0,29.0,29.0,28.0,29.0,26.0,26.0,26.0],\n", "\"manufacturer\":[\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"audi\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"chevrolet\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"dodge\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"ford\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"honda\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"hyundai\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"jeep\",\"land rover\",\"land rover\",\"land rover\",\"land rover\",\"lincoln\",\"lincoln\",\"lincoln\",\"mercury\",\"mercury\",\"mercury\",\"mercury\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"nissan\",\"pontiac\",\"pontiac\",\"pontiac\",\"pontiac\",\"pontiac\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"subaru\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"toyota\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\",\"volkswagen\"]\n", "},\n", "\"ggsize\":{\n", "\"width\":700.0,\n", "\"height\":400.0\n", "},\n", "\"kind\":\"plot\",\n", "\"scales\":[{\n", "\"aesthetic\":\"color\",\n", "\"discrete\":true,\n", "\"guide\":{\n", "\"name\":\"legend\",\n", "\"nrow\":5\n", "}\n", "}],\n", "\"layers\":[{\n", "\"mapping\":{\n", "},\n", "\"stat\":\"identity\",\n", "\"size\":5.0,\n", "\"position\":\"identity\",\n", "\"geom\":\"point\",\n", "\"data\":{\n", "}\n", "}],\n", "\"theme\":{\n", "\"axis_title\":\"blank\",\n", "\"legend_position\":\"bottom\"\n", "}\n", "};\n", " var plotContainer = document.getElementById(\"s8ftfy\");\n", " window.letsPlotCall(function() {{\n", " LetsPlot.buildPlotFromProcessedSpecs(plotSpec, -1, -1, plotContainer);\n", " }});\n", " })(); \n", " </script>" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "// Adjust legend and axis\n", "// - five rows legend\n", "// - draw legend below plot\n", "// - remove axis\n", "p + scaleColorDiscrete(guide=guideLegend(nrow=5)) +\n", " theme(axisTitle=\"blank\").legendPositionBottom() +\n", " ggtitle(\"Five rows legend and below\") + ggsize(700,400)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ " <div id=\"LBRAMC\"></div>\n", " <script type=\"text/javascript\" data-lets-plot-script=\"plot\">\n", " (function() {\n", " var plotSpec={\n", "\"mapping\":{\n", "\"x\":\"displ\",\n", "\"y\":\"hwy\"\n", "},\n", "\"data\":{\n", "\"displ\":[1.8,1.8,2.0,2.0,2.8,2.8,3.1,1.8,1.8,2.0,2.0,2.8,2.8,3.1,3.1,2.8,3.1,4.2,5.3,5.3,5.3,5.7,6.0,5.7,5.7,6.2,6.2,7.0,5.3,5.3,5.7,6.5,2.4,2.4,3.1,3.5,3.6,2.4,3.0,3.3,3.3,3.3,3.3,3.3,3.8,3.8,3.8,4.0,3.7,3.7,3.9,3.9,4.7,4.7,4.7,5.2,5.2,3.9,4.7,4.7,4.7,5.2,5.7,5.9,4.7,4.7,4.7,4.7,4.7,4.7,5.2,5.2,5.7,5.9,4.6,5.4,5.4,4.0,4.0,4.0,4.0,4.6,5.0,4.2,4.2,4.6,4.6,4.6,5.4,5.4,3.8,3.8,4.0,4.0,4.6,4.6,4.6,4.6,5.4,1.6,1.6,1.6,1.6,1.6,1.8,1.8,1.8,2.0,2.4,2.4,2.4,2.4,2.5,2.5,3.3,2.0,2.0,2.0,2.0,2.7,2.7,2.7,3.0,3.7,4.0,4.7,4.7,4.7,5.7,6.1,4.0,4.2,4.4,4.6,5.4,5.4,5.4,4.0,4.0,4.6,5.0,2.4,2.4,2.5,2.5,3.5,3.5,3.0,3.0,3.5,3.3,3.3,4.0,5.6,3.1,3.8,3.8,3.8,5.3,2.5,2.5,2.5,2.5,2.5,2.5,2.2,2.2,2.5,2.5,2.5,2.5,2.5,2.5,2.7,2.7,3.4,3.4,4.0,4.7,2.2,2.2,2.4,2.4,3.0,3.0,3.5,2.2,2.2,2.4,2.4,3.0,3.0,3.3,1.8,1.8,1.8,1.8,1.8,4.7,5.7,2.7,2.7,2.7,3.4,3.4,4.0,4.0,2.0,2.0,2.0,2.0,2.8,1.9,2.0,2.0,2.0,2.0,2.5,2.5,2.8,2.8,1.9,1.9,2.0,2.0,2.5,2.5,1.8,1.8,2.0,2.0,2.8,2.8,3.6],\n", "\"drv\":[\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\"],\n", "\"cty\":[18.0,21.0,20.0,21.0,16.0,18.0,18.0,18.0,16.0,20.0,19.0,15.0,17.0,17.0,15.0,15.0,17.0,16.0,14.0,11.0,14.0,13.0,12.0,16.0,15.0,16.0,15.0,15.0,14.0,11.0,11.0,14.0,19.0,22.0,18.0,18.0,17.0,18.0,17.0,16.0,16.0,17.0,17.0,11.0,15.0,15.0,16.0,16.0,15.0,14.0,13.0,14.0,14.0,14.0,9.0,11.0,11.0,13.0,13.0,9.0,13.0,11.0,13.0,11.0,12.0,9.0,13.0,13.0,12.0,9.0,11.0,11.0,13.0,11.0,11.0,11.0,12.0,14.0,15.0,14.0,13.0,13.0,13.0,14.0,14.0,13.0,13.0,13.0,11.0,13.0,18.0,18.0,17.0,16.0,15.0,15.0,15.0,15.0,14.0,28.0,24.0,25.0,23.0,24.0,26.0,25.0,24.0,21.0,18.0,18.0,21.0,21.0,18.0,18.0,19.0,19.0,19.0,20.0,20.0,17.0,16.0,17.0,17.0,15.0,15.0,14.0,9.0,14.0,13.0,11.0,11.0,12.0,12.0,11.0,11.0,11.0,12.0,14.0,13.0,13.0,13.0,21.0,19.0,23.0,23.0,19.0,19.0,18.0,19.0,19.0,14.0,15.0,14.0,12.0,18.0,16.0,17.0,18.0,16.0,18.0,18.0,20.0,19.0,20.0,18.0,21.0,19.0,19.0,19.0,20.0,20.0,19.0,20.0,15.0,16.0,15.0,15.0,16.0,14.0,21.0,21.0,21.0,21.0,18.0,18.0,19.0,21.0,21.0,21.0,22.0,18.0,18.0,18.0,24.0,24.0,26.0,28.0,26.0,11.0,13.0,15.0,16.0,17.0,15.0,15.0,15.0,16.0,21.0,19.0,21.0,22.0,17.0,33.0,21.0,19.0,22.0,21.0,21.0,21.0,16.0,17.0,35.0,29.0,21.0,19.0,20.0,20.0,21.0,18.0,19.0,21.0,16.0,18.0,17.0],\n", "\"hwy\":[29.0,29.0,31.0,30.0,26.0,26.0,27.0,26.0,25.0,28.0,27.0,25.0,25.0,25.0,25.0,24.0,25.0,23.0,20.0,15.0,20.0,17.0,17.0,26.0,23.0,26.0,25.0,24.0,19.0,14.0,15.0,17.0,27.0,30.0,26.0,29.0,26.0,24.0,24.0,22.0,22.0,24.0,24.0,17.0,22.0,21.0,23.0,23.0,19.0,18.0,17.0,17.0,19.0,19.0,12.0,17.0,15.0,17.0,17.0,12.0,17.0,16.0,18.0,15.0,16.0,12.0,17.0,17.0,16.0,12.0,15.0,16.0,17.0,15.0,17.0,17.0,18.0,17.0,19.0,17.0,19.0,19.0,17.0,17.0,17.0,16.0,16.0,17.0,15.0,17.0,26.0,25.0,26.0,24.0,21.0,22.0,23.0,22.0,20.0,33.0,32.0,32.0,29.0,32.0,34.0,36.0,36.0,29.0,26.0,27.0,30.0,31.0,26.0,26.0,28.0,26.0,29.0,28.0,27.0,24.0,24.0,24.0,22.0,19.0,20.0,17.0,12.0,19.0,18.0,14.0,15.0,18.0,18.0,15.0,17.0,16.0,18.0,17.0,19.0,19.0,17.0,29.0,27.0,31.0,32.0,27.0,26.0,26.0,25.0,25.0,17.0,17.0,20.0,18.0,26.0,26.0,27.0,28.0,25.0,25.0,24.0,27.0,25.0,26.0,23.0,26.0,26.0,26.0,26.0,25.0,27.0,25.0,27.0,20.0,20.0,19.0,17.0,20.0,17.0,29.0,27.0,31.0,31.0,26.0,26.0,28.0,27.0,29.0,31.0,31.0,26.0,26.0,27.0,30.0,33.0,35.0,37.0,35.0,15.0,18.0,20.0,20.0,22.0,17.0,19.0,18.0,20.0,29.0,26.0,29.0,29.0,24.0,44.0,29.0,26.0,29.0,29.0,29.0,29.0,23.0,24.0,44.0,41.0,29.0,26.0,28.0,29.0,29.0,29.0,28.0,29.0,26.0,26.0,26.0]\n", "},\n", "\"ggsize\":{\n", "\"width\":700.0,\n", "\"height\":350.0\n", "},\n", "\"kind\":\"plot\",\n", "\"scales\":[],\n", "\"layers\":[{\n", "\"mapping\":{\n", "\"color\":\"cty\",\n", "\"shape\":\"drv\"\n", "},\n", "\"stat\":\"identity\",\n", "\"size\":5.0,\n", "\"position\":\"identity\",\n", "\"geom\":\"point\",\n", "\"data\":{\n", "}\n", "}]\n", "};\n", " var plotContainer = document.getElementById(\"LBRAMC\");\n", " window.letsPlotCall(function() {{\n", " LetsPlot.buildPlotFromProcessedSpecs(plotSpec, -1, -1, plotContainer);\n", " }});\n", " })(); \n", " </script>" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "// Set color to city MPG and shape to driveĀ·train\n", "val p1 = letsPlot(mpg) {x=\"displ\"; y=\"hwy\"} + geomPoint(size=5.0) {color=\"cty\"; shape=\"drv\"} + ggsize(700, 350)\n", "p1" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ " <div id=\"UtzbP1\"></div>\n", " <script type=\"text/javascript\" data-lets-plot-script=\"plot\">\n", " (function() {\n", " var plotSpec={\n", "\"mapping\":{\n", "\"x\":\"displ\",\n", "\"y\":\"hwy\"\n", "},\n", "\"data\":{\n", "\"displ\":[1.8,1.8,2.0,2.0,2.8,2.8,3.1,1.8,1.8,2.0,2.0,2.8,2.8,3.1,3.1,2.8,3.1,4.2,5.3,5.3,5.3,5.7,6.0,5.7,5.7,6.2,6.2,7.0,5.3,5.3,5.7,6.5,2.4,2.4,3.1,3.5,3.6,2.4,3.0,3.3,3.3,3.3,3.3,3.3,3.8,3.8,3.8,4.0,3.7,3.7,3.9,3.9,4.7,4.7,4.7,5.2,5.2,3.9,4.7,4.7,4.7,5.2,5.7,5.9,4.7,4.7,4.7,4.7,4.7,4.7,5.2,5.2,5.7,5.9,4.6,5.4,5.4,4.0,4.0,4.0,4.0,4.6,5.0,4.2,4.2,4.6,4.6,4.6,5.4,5.4,3.8,3.8,4.0,4.0,4.6,4.6,4.6,4.6,5.4,1.6,1.6,1.6,1.6,1.6,1.8,1.8,1.8,2.0,2.4,2.4,2.4,2.4,2.5,2.5,3.3,2.0,2.0,2.0,2.0,2.7,2.7,2.7,3.0,3.7,4.0,4.7,4.7,4.7,5.7,6.1,4.0,4.2,4.4,4.6,5.4,5.4,5.4,4.0,4.0,4.6,5.0,2.4,2.4,2.5,2.5,3.5,3.5,3.0,3.0,3.5,3.3,3.3,4.0,5.6,3.1,3.8,3.8,3.8,5.3,2.5,2.5,2.5,2.5,2.5,2.5,2.2,2.2,2.5,2.5,2.5,2.5,2.5,2.5,2.7,2.7,3.4,3.4,4.0,4.7,2.2,2.2,2.4,2.4,3.0,3.0,3.5,2.2,2.2,2.4,2.4,3.0,3.0,3.3,1.8,1.8,1.8,1.8,1.8,4.7,5.7,2.7,2.7,2.7,3.4,3.4,4.0,4.0,2.0,2.0,2.0,2.0,2.8,1.9,2.0,2.0,2.0,2.0,2.5,2.5,2.8,2.8,1.9,1.9,2.0,2.0,2.5,2.5,1.8,1.8,2.0,2.0,2.8,2.8,3.6],\n", "\"cty\":[18.0,21.0,20.0,21.0,16.0,18.0,18.0,18.0,16.0,20.0,19.0,15.0,17.0,17.0,15.0,15.0,17.0,16.0,14.0,11.0,14.0,13.0,12.0,16.0,15.0,16.0,15.0,15.0,14.0,11.0,11.0,14.0,19.0,22.0,18.0,18.0,17.0,18.0,17.0,16.0,16.0,17.0,17.0,11.0,15.0,15.0,16.0,16.0,15.0,14.0,13.0,14.0,14.0,14.0,9.0,11.0,11.0,13.0,13.0,9.0,13.0,11.0,13.0,11.0,12.0,9.0,13.0,13.0,12.0,9.0,11.0,11.0,13.0,11.0,11.0,11.0,12.0,14.0,15.0,14.0,13.0,13.0,13.0,14.0,14.0,13.0,13.0,13.0,11.0,13.0,18.0,18.0,17.0,16.0,15.0,15.0,15.0,15.0,14.0,28.0,24.0,25.0,23.0,24.0,26.0,25.0,24.0,21.0,18.0,18.0,21.0,21.0,18.0,18.0,19.0,19.0,19.0,20.0,20.0,17.0,16.0,17.0,17.0,15.0,15.0,14.0,9.0,14.0,13.0,11.0,11.0,12.0,12.0,11.0,11.0,11.0,12.0,14.0,13.0,13.0,13.0,21.0,19.0,23.0,23.0,19.0,19.0,18.0,19.0,19.0,14.0,15.0,14.0,12.0,18.0,16.0,17.0,18.0,16.0,18.0,18.0,20.0,19.0,20.0,18.0,21.0,19.0,19.0,19.0,20.0,20.0,19.0,20.0,15.0,16.0,15.0,15.0,16.0,14.0,21.0,21.0,21.0,21.0,18.0,18.0,19.0,21.0,21.0,21.0,22.0,18.0,18.0,18.0,24.0,24.0,26.0,28.0,26.0,11.0,13.0,15.0,16.0,17.0,15.0,15.0,15.0,16.0,21.0,19.0,21.0,22.0,17.0,33.0,21.0,19.0,22.0,21.0,21.0,21.0,16.0,17.0,35.0,29.0,21.0,19.0,20.0,20.0,21.0,18.0,19.0,21.0,16.0,18.0,17.0],\n", "\"drv\":[\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\"],\n", "\"hwy\":[29.0,29.0,31.0,30.0,26.0,26.0,27.0,26.0,25.0,28.0,27.0,25.0,25.0,25.0,25.0,24.0,25.0,23.0,20.0,15.0,20.0,17.0,17.0,26.0,23.0,26.0,25.0,24.0,19.0,14.0,15.0,17.0,27.0,30.0,26.0,29.0,26.0,24.0,24.0,22.0,22.0,24.0,24.0,17.0,22.0,21.0,23.0,23.0,19.0,18.0,17.0,17.0,19.0,19.0,12.0,17.0,15.0,17.0,17.0,12.0,17.0,16.0,18.0,15.0,16.0,12.0,17.0,17.0,16.0,12.0,15.0,16.0,17.0,15.0,17.0,17.0,18.0,17.0,19.0,17.0,19.0,19.0,17.0,17.0,17.0,16.0,16.0,17.0,15.0,17.0,26.0,25.0,26.0,24.0,21.0,22.0,23.0,22.0,20.0,33.0,32.0,32.0,29.0,32.0,34.0,36.0,36.0,29.0,26.0,27.0,30.0,31.0,26.0,26.0,28.0,26.0,29.0,28.0,27.0,24.0,24.0,24.0,22.0,19.0,20.0,17.0,12.0,19.0,18.0,14.0,15.0,18.0,18.0,15.0,17.0,16.0,18.0,17.0,19.0,19.0,17.0,29.0,27.0,31.0,32.0,27.0,26.0,26.0,25.0,25.0,17.0,17.0,20.0,18.0,26.0,26.0,27.0,28.0,25.0,25.0,24.0,27.0,25.0,26.0,23.0,26.0,26.0,26.0,26.0,25.0,27.0,25.0,27.0,20.0,20.0,19.0,17.0,20.0,17.0,29.0,27.0,31.0,31.0,26.0,26.0,28.0,27.0,29.0,31.0,31.0,26.0,26.0,27.0,30.0,33.0,35.0,37.0,35.0,15.0,18.0,20.0,20.0,22.0,17.0,19.0,18.0,20.0,29.0,26.0,29.0,29.0,24.0,44.0,29.0,26.0,29.0,29.0,29.0,29.0,23.0,24.0,44.0,41.0,29.0,26.0,28.0,29.0,29.0,29.0,28.0,29.0,26.0,26.0,26.0]\n", "},\n", "\"ggsize\":{\n", "\"width\":700.0,\n", "\"height\":350.0\n", "},\n", "\"kind\":\"plot\",\n", "\"scales\":[],\n", "\"layers\":[{\n", "\"mapping\":{\n", "\"color\":\"cty\",\n", "\"shape\":\"drv\"\n", "},\n", "\"stat\":\"identity\",\n", "\"size\":5.0,\n", "\"position\":\"identity\",\n", "\"geom\":\"point\",\n", "\"data\":{\n", "}\n", "}],\n", "\"theme\":{\n", "\"legend_direction\":\"horizontal\",\n", "\"legend_position\":[1.0,1.0],\n", "\"legend_justification\":[1.0,1.0]\n", "}\n", "};\n", " var plotContainer = document.getElementById(\"UtzbP1\");\n", " window.letsPlotCall(function() {{\n", " LetsPlot.buildPlotFromProcessedSpecs(plotSpec, -1, -1, plotContainer);\n", " }});\n", " })(); \n", " </script>" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "// Change legend position and orientation\n", "p1 + theme().legendPosition(1, 1).legendJustification(1, 1).legendDirectionHorizontal()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ " <div id=\"riH9i1\"></div>\n", " <script type=\"text/javascript\" data-lets-plot-script=\"plot\">\n", " (function() {\n", " var plotSpec={\n", "\"mapping\":{\n", "\"x\":\"displ\",\n", "\"y\":\"hwy\"\n", "},\n", "\"data\":{\n", "\"displ\":[1.8,1.8,2.0,2.0,2.8,2.8,3.1,1.8,1.8,2.0,2.0,2.8,2.8,3.1,3.1,2.8,3.1,4.2,5.3,5.3,5.3,5.7,6.0,5.7,5.7,6.2,6.2,7.0,5.3,5.3,5.7,6.5,2.4,2.4,3.1,3.5,3.6,2.4,3.0,3.3,3.3,3.3,3.3,3.3,3.8,3.8,3.8,4.0,3.7,3.7,3.9,3.9,4.7,4.7,4.7,5.2,5.2,3.9,4.7,4.7,4.7,5.2,5.7,5.9,4.7,4.7,4.7,4.7,4.7,4.7,5.2,5.2,5.7,5.9,4.6,5.4,5.4,4.0,4.0,4.0,4.0,4.6,5.0,4.2,4.2,4.6,4.6,4.6,5.4,5.4,3.8,3.8,4.0,4.0,4.6,4.6,4.6,4.6,5.4,1.6,1.6,1.6,1.6,1.6,1.8,1.8,1.8,2.0,2.4,2.4,2.4,2.4,2.5,2.5,3.3,2.0,2.0,2.0,2.0,2.7,2.7,2.7,3.0,3.7,4.0,4.7,4.7,4.7,5.7,6.1,4.0,4.2,4.4,4.6,5.4,5.4,5.4,4.0,4.0,4.6,5.0,2.4,2.4,2.5,2.5,3.5,3.5,3.0,3.0,3.5,3.3,3.3,4.0,5.6,3.1,3.8,3.8,3.8,5.3,2.5,2.5,2.5,2.5,2.5,2.5,2.2,2.2,2.5,2.5,2.5,2.5,2.5,2.5,2.7,2.7,3.4,3.4,4.0,4.7,2.2,2.2,2.4,2.4,3.0,3.0,3.5,2.2,2.2,2.4,2.4,3.0,3.0,3.3,1.8,1.8,1.8,1.8,1.8,4.7,5.7,2.7,2.7,2.7,3.4,3.4,4.0,4.0,2.0,2.0,2.0,2.0,2.8,1.9,2.0,2.0,2.0,2.0,2.5,2.5,2.8,2.8,1.9,1.9,2.0,2.0,2.5,2.5,1.8,1.8,2.0,2.0,2.8,2.8,3.6],\n", "\"cty\":[18.0,21.0,20.0,21.0,16.0,18.0,18.0,18.0,16.0,20.0,19.0,15.0,17.0,17.0,15.0,15.0,17.0,16.0,14.0,11.0,14.0,13.0,12.0,16.0,15.0,16.0,15.0,15.0,14.0,11.0,11.0,14.0,19.0,22.0,18.0,18.0,17.0,18.0,17.0,16.0,16.0,17.0,17.0,11.0,15.0,15.0,16.0,16.0,15.0,14.0,13.0,14.0,14.0,14.0,9.0,11.0,11.0,13.0,13.0,9.0,13.0,11.0,13.0,11.0,12.0,9.0,13.0,13.0,12.0,9.0,11.0,11.0,13.0,11.0,11.0,11.0,12.0,14.0,15.0,14.0,13.0,13.0,13.0,14.0,14.0,13.0,13.0,13.0,11.0,13.0,18.0,18.0,17.0,16.0,15.0,15.0,15.0,15.0,14.0,28.0,24.0,25.0,23.0,24.0,26.0,25.0,24.0,21.0,18.0,18.0,21.0,21.0,18.0,18.0,19.0,19.0,19.0,20.0,20.0,17.0,16.0,17.0,17.0,15.0,15.0,14.0,9.0,14.0,13.0,11.0,11.0,12.0,12.0,11.0,11.0,11.0,12.0,14.0,13.0,13.0,13.0,21.0,19.0,23.0,23.0,19.0,19.0,18.0,19.0,19.0,14.0,15.0,14.0,12.0,18.0,16.0,17.0,18.0,16.0,18.0,18.0,20.0,19.0,20.0,18.0,21.0,19.0,19.0,19.0,20.0,20.0,19.0,20.0,15.0,16.0,15.0,15.0,16.0,14.0,21.0,21.0,21.0,21.0,18.0,18.0,19.0,21.0,21.0,21.0,22.0,18.0,18.0,18.0,24.0,24.0,26.0,28.0,26.0,11.0,13.0,15.0,16.0,17.0,15.0,15.0,15.0,16.0,21.0,19.0,21.0,22.0,17.0,33.0,21.0,19.0,22.0,21.0,21.0,21.0,16.0,17.0,35.0,29.0,21.0,19.0,20.0,20.0,21.0,18.0,19.0,21.0,16.0,18.0,17.0],\n", "\"drv\":[\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"r\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"r\",\"r\",\"r\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\"],\n", "\"hwy\":[29.0,29.0,31.0,30.0,26.0,26.0,27.0,26.0,25.0,28.0,27.0,25.0,25.0,25.0,25.0,24.0,25.0,23.0,20.0,15.0,20.0,17.0,17.0,26.0,23.0,26.0,25.0,24.0,19.0,14.0,15.0,17.0,27.0,30.0,26.0,29.0,26.0,24.0,24.0,22.0,22.0,24.0,24.0,17.0,22.0,21.0,23.0,23.0,19.0,18.0,17.0,17.0,19.0,19.0,12.0,17.0,15.0,17.0,17.0,12.0,17.0,16.0,18.0,15.0,16.0,12.0,17.0,17.0,16.0,12.0,15.0,16.0,17.0,15.0,17.0,17.0,18.0,17.0,19.0,17.0,19.0,19.0,17.0,17.0,17.0,16.0,16.0,17.0,15.0,17.0,26.0,25.0,26.0,24.0,21.0,22.0,23.0,22.0,20.0,33.0,32.0,32.0,29.0,32.0,34.0,36.0,36.0,29.0,26.0,27.0,30.0,31.0,26.0,26.0,28.0,26.0,29.0,28.0,27.0,24.0,24.0,24.0,22.0,19.0,20.0,17.0,12.0,19.0,18.0,14.0,15.0,18.0,18.0,15.0,17.0,16.0,18.0,17.0,19.0,19.0,17.0,29.0,27.0,31.0,32.0,27.0,26.0,26.0,25.0,25.0,17.0,17.0,20.0,18.0,26.0,26.0,27.0,28.0,25.0,25.0,24.0,27.0,25.0,26.0,23.0,26.0,26.0,26.0,26.0,25.0,27.0,25.0,27.0,20.0,20.0,19.0,17.0,20.0,17.0,29.0,27.0,31.0,31.0,26.0,26.0,28.0,27.0,29.0,31.0,31.0,26.0,26.0,27.0,30.0,33.0,35.0,37.0,35.0,15.0,18.0,20.0,20.0,22.0,17.0,19.0,18.0,20.0,29.0,26.0,29.0,29.0,24.0,44.0,29.0,26.0,29.0,29.0,29.0,29.0,23.0,24.0,44.0,41.0,29.0,26.0,28.0,29.0,29.0,29.0,28.0,29.0,26.0,26.0,26.0]\n", "},\n", "\"ggsize\":{\n", "\"width\":700.0,\n", "\"height\":350.0\n", "},\n", "\"kind\":\"plot\",\n", "\"scales\":[{\n", "\"aesthetic\":\"color\",\n", "\"scale_mapper_kind\":\"color_gradient\",\n", "\"high\":\"light_blue\",\n", "\"low\":\"dark_blue\",\n", "\"name\":\"City MPG\",\n", "\"guide\":{\n", "\"name\":\"colorbar\",\n", "\"barwidth\":300,\n", "\"barheight\":10\n", "}\n", "},{\n", "\"aesthetic\":\"shape\",\n", "\"breaks\":[\"f\",\"r\",\"4\"],\n", "\"name\":\"Drive-train\",\n", "\"labels\":[\"front\",\"rear\",\"4X4\"]\n", "},{\n", "\"aesthetic\":\"x\",\n", "\"name\":\"Engine displacement (L)\"\n", "},{\n", "\"aesthetic\":\"y\",\n", "\"name\":\"Highway MPG\"\n", "}],\n", "\"layers\":[{\n", "\"mapping\":{\n", "\"color\":\"cty\",\n", "\"shape\":\"drv\"\n", "},\n", "\"stat\":\"identity\",\n", "\"size\":5.0,\n", "\"position\":\"identity\",\n", "\"geom\":\"point\",\n", "\"data\":{\n", "}\n", "}],\n", "\"theme\":{\n", "\"legend_direction\":\"horizontal\",\n", "\"legend_position\":[1.0,1.0],\n", "\"legend_justification\":[1.0,1.0],\n", "\"axis_line_y\":\"blank\"\n", "}\n", "};\n", " var plotContainer = document.getElementById(\"riH9i1\");\n", " window.letsPlotCall(function() {{\n", " LetsPlot.buildPlotFromProcessedSpecs(plotSpec, -1, -1, plotContainer);\n", " }});\n", " })(); \n", " </script>" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "// Adjust colorbar size\n", "// Change order in drive-train legend\n", "// Set labels to legends and axis\n", "// Remove vertical axis line\n", "p1 + theme().legendPosition(1, 1).legendJustification(1, 1).legendDirectionHorizontal().axisLineYBlank() +\n", " scaleColorContinuous(name=\"City MPG\", \n", " low=\"dark_blue\", high=\"light_blue\", \n", " guide=guideColorbar(barHeight=10, barWidth=300)) +\n", " scaleShape(name=\"Drive-train\", breaks=listOf('f', 'r', '4'), labels=listOf(\"front\", \"rear\", \"4X4\")) +\n", " xlab(\"Engine displacement (L)\") + ylab(\"Highway MPG\")" ] } ], "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": "1.7.0-dev-1825" } }, "nbformat": 4, "nbformat_minor": 4 }