%useLatestDescriptors %use lets-plot LetsPlot.getInfo() val data = mapOf( "x" to listOf(1, 2, 3, 4), "a" to listOf(0, 90, 180, 270), "c" to listOf("a", "b", "c", "o") ) letsPlot(data) + geomPoint(shape = 14, size = 10) { x = "x"; angle = "a" } import kotlin.random.Random fun getRandomList(n: Int, random: Random): MutableList = MutableList(n) { random.nextDouble() } val rnd = Random(42) val n = 10000 val yA = getRandomList(n, rnd) val yB = getRandomList(n, rnd) // add outlier yA[yA.lastIndex] = 1.5 yB[yB.lastIndex] = 1.55 val randomBoxData = mapOf( "x" to (List(n) { "A" } + List(n) { "B" }), "y" to (yA + yB), ) letsPlot(randomBoxData) + geomBoxplot(shape=14, outlierSize=2, outlierAngle=90) { x = "x" y = "y" }