{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "laughing-rotation", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", " " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%useLatestDescriptors\n", "%use lets-plot" ] }, { "cell_type": "code", "execution_count": 2, "id": "33f31202", "metadata": {}, "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": "everyday-cheese", "metadata": {}, "outputs": [], "source": [ "val data = mapOf(\n", " \"x\" to listOf(1, 1, 2, 2, 2),\n", " \"y\" to listOf(1, 3, 2, 1, -3),\n", " \"grp\" to listOf(\"a\", \"b\", \"a\", \"b\", \"c\")\n", ")\n", "\n", "val p = letsPlot(data) { x = \"x\"; y = \"y\" } + \n", " geomBar(stat = Stat.identity, color = \"pen\") { fill = \"grp\" } + \n", " scaleFillBrewer(palette = \"Pastel1\") +\n", " theme(axisLineX = elementBlank(), axisTicks = elementBlank()) + \n", " geomHLine(yintercept = 0, color = \"pen\", size = 0.5)" ] }, { "cell_type": "code", "execution_count": 4, "id": "exterior-gamma", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/plot+json": { "apply_color_scheme": true, "output": { "figures": [ { "data": { "grp": [ "a", "b", "a", "b", "c" ], "x": [ 1, 1, 2, 2, 2 ], "y": [ 1, 3, 2, 1, -3 ] }, "data_meta": { "series_annotations": [ { "column": "x", "type": "int" }, { "column": "y", "type": "int" }, { "column": "grp", "type": "str" } ] }, "ggtitle": { "text": "Default" }, "kind": "plot", "layers": [ { "color": "pen", "geom": "bar", "mapping": { "fill": "grp" }, "position": "stack", "stat": "identity" }, { "color": "pen", "geom": "hline", "mapping": {}, "position": "identity", "size": 0.5, "stat": "identity", "yintercept": 0 }, { "geom": "label", "mapping": { "group": "grp", "label": "y" }, "position": "stack", "stat": "identity" } ], "mapping": { "x": "x", "y": "y" }, "scales": [ { "aesthetic": "fill", "palette": "Pastel1", "scale_mapper_kind": "color_brewer" } ], "theme": { "axis_line_x": { "blank": true }, "axis_ticks": { "blank": true } } }, { "data": { "grp": [ "a", "b", "a", "b", "c" ], "x": [ 1, 1, 2, 2, 2 ], "y": [ 1, 3, 2, 1, -3 ] }, "data_meta": { "series_annotations": [ { "column": "x", "type": "int" }, { "column": "y", "type": "int" }, { "column": "grp", "type": "str" } ] }, "ggtitle": { "text": "vjust = 0.0" }, "kind": "plot", "layers": [ { "color": "pen", "geom": "bar", "mapping": { "fill": "grp" }, "position": "stack", "stat": "identity" }, { "color": "pen", "geom": "hline", "mapping": {}, "position": "identity", "size": 0.5, "stat": "identity", "yintercept": 0 }, { "geom": "label", "mapping": { "group": "grp", "label": "y" }, "position": { "name": "stack", "vjust": 0 }, "stat": "identity" } ], "mapping": { "x": "x", "y": "y" }, "scales": [ { "aesthetic": "fill", "palette": "Pastel1", "scale_mapper_kind": "color_brewer" } ], "theme": { "axis_line_x": { "blank": true }, "axis_ticks": { "blank": true } } }, { "data": { "grp": [ "a", "b", "a", "b", "c" ], "x": [ 1, 1, 2, 2, 2 ], "y": [ 1, 3, 2, 1, -3 ] }, "data_meta": { "series_annotations": [ { "column": "x", "type": "int" }, { "column": "y", "type": "int" }, { "column": "grp", "type": "str" } ] }, "ggtitle": { "text": "vjust = 0.3" }, "kind": "plot", "layers": [ { "color": "pen", "geom": "bar", "mapping": { "fill": "grp" }, "position": "stack", "stat": "identity" }, { "color": "pen", "geom": "hline", "mapping": {}, "position": "identity", "size": 0.5, "stat": "identity", "yintercept": 0 }, { "geom": "label", "mapping": { "group": "grp", "label": "y" }, "position": { "name": "stack", "vjust": 0.3 }, "stat": "identity" } ], "mapping": { "x": "x", "y": "y" }, "scales": [ { "aesthetic": "fill", "palette": "Pastel1", "scale_mapper_kind": "color_brewer" } ], "theme": { "axis_line_x": { "blank": true }, "axis_ticks": { "blank": true } } }, { "data": { "grp": [ "a", "b", "a", "b", "c" ], "x": [ 1, 1, 2, 2, 2 ], "y": [ 1, 3, 2, 1, -3 ] }, "data_meta": { "series_annotations": [ { "column": "x", "type": "int" }, { "column": "y", "type": "int" }, { "column": "grp", "type": "str" } ] }, "ggtitle": { "text": "vjust = 0.5" }, "kind": "plot", "layers": [ { "color": "pen", "geom": "bar", "mapping": { "fill": "grp" }, "position": "stack", "stat": "identity" }, { "color": "pen", "geom": "hline", "mapping": {}, "position": "identity", "size": 0.5, "stat": "identity", "yintercept": 0 }, { "geom": "label", "mapping": { "group": "grp", "label": "y" }, "position": { "name": "stack", "vjust": 0.5 }, "stat": "identity" } ], "mapping": { "x": "x", "y": "y" }, "scales": [ { "aesthetic": "fill", "palette": "Pastel1", "scale_mapper_kind": "color_brewer" } ], "theme": { "axis_line_x": { "blank": true }, "axis_ticks": { "blank": true } } }, { "data": { "grp": [ "a", "b", "a", "b", "c" ], "x": [ 1, 1, 2, 2, 2 ], "y": [ 1, 3, 2, 1, -3 ] }, "data_meta": { "series_annotations": [ { "column": "x", "type": "int" }, { "column": "y", "type": "int" }, { "column": "grp", "type": "str" } ] }, "ggtitle": { "text": "vjust = 0.7" }, "kind": "plot", "layers": [ { "color": "pen", "geom": "bar", "mapping": { "fill": "grp" }, "position": "stack", "stat": "identity" }, { "color": "pen", "geom": "hline", "mapping": {}, "position": "identity", "size": 0.5, "stat": "identity", "yintercept": 0 }, { "geom": "label", "mapping": { "group": "grp", "label": "y" }, "position": { "name": "stack", "vjust": 0.7 }, "stat": "identity" } ], "mapping": { "x": "x", "y": "y" }, "scales": [ { "aesthetic": "fill", "palette": "Pastel1", "scale_mapper_kind": "color_brewer" } ], "theme": { "axis_line_x": { "blank": true }, "axis_ticks": { "blank": true } } }, { "data": { "grp": [ "a", "b", "a", "b", "c" ], "x": [ 1, 1, 2, 2, 2 ], "y": [ 1, 3, 2, 1, -3 ] }, "data_meta": { "series_annotations": [ { "column": "x", "type": "int" }, { "column": "y", "type": "int" }, { "column": "grp", "type": "str" } ] }, "ggtitle": { "text": "vjust = 1.0" }, "kind": "plot", "layers": [ { "color": "pen", "geom": "bar", "mapping": { "fill": "grp" }, "position": "stack", "stat": "identity" }, { "color": "pen", "geom": "hline", "mapping": {}, "position": "identity", "size": 0.5, "stat": "identity", "yintercept": 0 }, { "geom": "label", "mapping": { "group": "grp", "label": "y" }, "position": { "name": "stack", "vjust": 1 }, "stat": "identity" } ], "mapping": { "x": "x", "y": "y" }, "scales": [ { "aesthetic": "fill", "palette": "Pastel1", "scale_mapper_kind": "color_brewer" } ], "theme": { "axis_line_x": { "blank": true }, "axis_ticks": { "blank": true } } } ], "ggsize": { "height": 1200, "width": 1200 }, "kind": "subplots", "layout": { "align": false, "fit": true, "name": "grid", "ncol": 2, "nrow": 3 } }, "output_type": "lets_plot_spec", "swing_enabled": true }, "text/html": [ "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " -2\n", " \n", " \n", " \n", " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " 4\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " Default\n", " \n", " \n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " x\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " grp\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " a\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " b\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " c\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " -2\n", " \n", " \n", " \n", " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " 4\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " vjust = 0.0\n", " \n", " \n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " x\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " grp\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " a\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " b\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " c\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " -2\n", " \n", " \n", " \n", " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " 4\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " vjust = 0.3\n", " \n", " \n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " x\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " grp\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " a\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " b\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " c\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " -2\n", " \n", " \n", " \n", " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " 4\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " vjust = 0.5\n", " \n", " \n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " x\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " grp\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " a\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " b\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " c\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " -2\n", " \n", " \n", " \n", " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " 4\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " vjust = 0.7\n", " \n", " \n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " x\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " grp\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " a\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " b\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " c\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " -2\n", " \n", " \n", " \n", " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " 4\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " vjust = 1.0\n", " \n", " \n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " x\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " grp\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " a\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " b\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " c\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "val w = 600\n", "val h = 400\n", "\n", "gggrid(listOf(\n", " p + geomLabel(position = positionStack()) { label = \"y\"; group = \"grp\" } + ggtitle(\"Default\"),\n", " p + geomLabel(position = positionStack(0.0)) { label = \"y\"; group = \"grp\" } + ggtitle(\"vjust = 0.0\"),\n", " p + geomLabel(position = positionStack(0.3)) { label = \"y\"; group = \"grp\" } + ggtitle(\"vjust = 0.3\"),\n", " p + geomLabel(position = positionStack(0.5)) { label = \"y\"; group = \"grp\" } + ggtitle(\"vjust = 0.5\"),\n", " p + geomLabel(position = positionStack(0.7)) { label = \"y\"; group = \"grp\" } + ggtitle(\"vjust = 0.7\"),\n", " p + geomLabel(position = positionStack(1.0)) { label = \"y\"; group = \"grp\" } + ggtitle(\"vjust = 1.0\")\n", "), ncol = 2) + ggsize(2 * w, 3 * h)" ] }, { "cell_type": "code", "execution_count": 5, "id": "injured-exchange", "metadata": {}, "outputs": [ { "data": { "application/plot+json": { "apply_color_scheme": true, "output": { "data": { "grp": [ "a", "b", "a", "b", "c" ], "x": [ 1, 1, 2, 2, 2 ], "y": [ 1, 3, 2, 1, -3 ] }, "data_meta": { "series_annotations": [ { "column": "x", "type": "int" }, { "column": "y", "type": "int" }, { "column": "grp", "type": "str" } ] }, "kind": "plot", "layers": [ { "color": "pen", "geom": "bar", "mapping": { "fill": "grp" }, "position": "fill", "stat": "identity" }, { "geom": "text", "mapping": { "group": "grp", "label": "y" }, "position": { "name": "fill", "vjust": 0.5 }, "stat": "identity" }, { "color": "pen", "geom": "hline", "mapping": {}, "position": "identity", "size": 0.5, "stat": "identity", "yintercept": 0 } ], "mapping": { "x": "x", "y": "y" }, "scales": [ { "aesthetic": "fill", "palette": "Pastel1", "scale_mapper_kind": "color_brewer" } ], "theme": { "axis_line_x": { "blank": true }, "axis_ticks": { "blank": true } } }, "output_type": "lets_plot_spec", "swing_enabled": true }, "text/html": [ "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 3\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", " \n", " \n", " \n", " 2.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", " \n", " \n", " \n", " -0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " x\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " grp\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " a\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " b\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " c\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "// position = \"fill\"\n", "\n", "letsPlot(data) { x = \"x\"; y = \"y\" } + \n", " geomBar(stat = Stat.identity, position = positionFill(), color = \"pen\") { fill = \"grp\" } + \n", " scaleFillBrewer(palette = \"Pastel1\") +\n", " geomText(position = positionFill(0.5)) { label = \"y\"; group = \"grp\" } +\n", " theme(axisLineX = elementBlank(), axisTicks = elementBlank()) + \n", " geomHLine(yintercept = 0, color = \"pen\", size = 0.5)" ] } ], "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 }