D3: Grayscale image display driven by 2D array data D3: Grayscale image display driven by 2D array data json json

D3: Grayscale image display driven by 2D array data


If just want to display an image, use the image element and the "xlink:href" attribute. For example:

svg.append("image")    .attr("xlink:href", "my.png")    .attr("width", 960)    .attr("height", 500);

If you want to colorize a grayscale image, then see this colorized heightmap example which uses quantiles to create a diverging color scale, and with HCL interpolation for better perception:

colorized heightmap

If you have your data in some other representation, these examples might be useful:

Lastly, if you have individual samples rather than a precomputed 2D histogram, you’ll need to bin the data before generating one of the above heatmaps.