Scientific data visualisation


uChroma is intended to be a scientific plotting program capable of delivering high-quality 3D graphs of multiple 2D (i.e. plain XY) datasets. For instance, this could be a series of spectra recorded as a function of temperature, or a sequence collected as a function of time. Regardless of the origin, uChroma will create a 3D surface map from these data, and plot it in a nice way (in similar spirit to the 'pm3d' option of good old gnuplot). uChroma uses OpenGL and is fast enough to handle relatively large amounts of data.

The program was borne from a need to create nice, publication-quality plots of time-resolved neutron diffraction data (as can be found in Figure 5a of this publication in Chemical Science). Simple pre/post processing manipulations of the data can be made, allowing data to be shifted / scaled etc. before surface construction, and both linear and logarithmic axes are supported. The ability to easily create a suitable colourscale for the plotted data was a primary initial concern, and single colour, two-point linear gradients (RGB and HSV), and custom N-point gradients are currently supported, with alpha (transparency) values configurable for each point (or for the surface as a whole). The code is relatively young, but fully functional - any questions regarding bugs, support, or features requests are welcomed.