import std.array : array; import std.algorithm : map; import std.range : repeat, iota, chain, zip; import std.random : uniform; auto xs = iota(0,50,1).map!((x) => uniform(0.0,5)+uniform(0.0,5)).array; auto cols = "a".repeat(25).chain("b".repeat(25)).array; auto aesRange = zip(xs, cols) .map!((a) => aes!("x", "colour", "fill", "label")(a[0], a[1], 0.45, a[1])); auto gb = geomBox( aesRange ); assertEqual( gb.front.xStore.min(), -0.4 );
Draw a boxplot. The "x" data is used. If labels are given then the data is grouped by the label