holoviz / datashader

Quickly and accurately render even the largest data.
http://datashader.org
BSD 3-Clause "New" or "Revised" License
3.3k stars 366 forks source link

Symbolic rendering of aggregate array #103

Open jbednar opened 8 years ago

jbednar commented 8 years ago

The current datashader pipeline always generates an image as the final output, with each aggregate bin corresponding to one output pixel. However, there are other possible ways to represent the data in the array, and it would be helpful to make some examples of what can be done.

For instance, given a set of aggregated timeseries, a statistical model (e.g. a normal distribution), and an error criterion, one could aggregate the set of timeseries into a 1D aggregate, then evaluate the goodness of fit for the model using a rolling window over the aggregate array. For periods of the timeseries where data is fit well, one could generate a Bokeh plot showing the mean, spread, and specific data points that are unlikely to have come from that distribution. For regions that are a poor fit to the model, could have some other representation.

Similarly, in 2D one could generate a contour plot for areas that are a good fit to the model (e.g. a sum of a fixed number of 2D Gaussians), plus specific outlying points.

A hybrid approach is also possible, generating a bitmap plus specific outliers (perhaps limited to certain types of outliers, such as those much larger than the mean, not those much smaller); explicit glyphs for the outliers would be overlaid on the overall bitmap, making information about them available to e.g. the hover tool.

Tasks:

[ ] Alternative symbolic visualization [ ] Specifying a statistical model for aggregate output [ ] Automatic identification and highlighting of outliers and anomalies

tropicalpb commented 6 years ago

Is there an example how contour can be achieved? We'd like to have a graph that looks like the following. Thanks

image