/// http://blackedder.github.io/ggplotd/images/density2D.png import std.array : array; import std.algorithm : map; import std.conv : to; import std.range : repeat, iota; import std.random : uniform; import ggplotd.aes : Aes; import ggplotd.colour : colourGradient; import ggplotd.colourspace : XYZ; import ggplotd.geom : geomDensity2D; import ggplotd.ggplotd : GGPlotD; import ggplotd.legend : continuousLegend; auto xs = iota(0,500,1).map!((x) => uniform(0.0,5)+uniform(0.0,5)) .array; auto ys = iota(0,500,1).map!((y) => uniform(0.5,1.5)+uniform(0.5,1.5)) .array; auto aes = Aes!(typeof(xs), "x", typeof(ys), "y")( xs, ys); auto gg = GGPlotD().put( geomDensity2D( aes ) ); // Use a different colour scheme gg.put( colourGradient!XYZ( "white-cornflowerBlue-crimson" ) ); gg.put(continuousLegend); gg.save( "density2D.png" );
Draw kernel density based on the x and y coordinates of the data