Quickly visualize multidimensional data.
Quickly visualize multi-dimensional data through various charting types such as:
overal chart options:
Data should be provided in a tidy format where each row represents and observation and each column represents a data attribute to be visualizied.
It should be formatted as a list of objects, for example:
var inputData = {
description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
meta: null,
source: 'source data goes here',
colDescription: {
Subject:'identifier for study subject',
Study:'study name',
...
},
data : [
{Subject: 157418, Study: 'I', Weight: 11.7, Date: '2016-07-26', Protocol: 'control', Drug: 'zeta', Isolator: 'A'},
{Subject: 157418, Study: 'I', Weight: 10.9, Date: '2016-07-27', Protocol: 'control', Drug: 'zeta', Isolator: 'A'},
{Subject: 157418, Study: 'I', Weight: 12.9, Date: '2016-07-29', Protocol: 'control', Drug: 'zeta', Isolator: 'A'},
{Subject: 157418, Study: 'I', Weight: 14.4, Date: '2016-08-02', Protocol: 'control', Drug: 'zeta', Isolator: 'A'},
{Subject: 157418, Study: 'I', Weight: 16.6, Date: '2016-08-09', Protocol: 'control', Drug: 'zeta', Isolator: 'A'},
{Subject: 157418, Study: 'I', Weight: 17.1, Date: '2016-08-16', Protocol: 'control', Drug: 'zeta', Isolator: 'A'},
...
]
}
Note that data can be input as strings and will be converted to the proper type (int
of float
) automatically; furthermore, the data type can be overwritten with the option .colTypes
. For example, in the dataset shown above, the Subject attribute should be treated as an ordinal datatype as opposed to a quantitative one; this can be specified with .colTypes({Subject: 'str'})
.
Designate a DOM element into which the GUI and plots should be rendered, e.g. <body class='container-fluid' id='renderHere'></body>
Then, instantiate everything (on load) with something like:
<script>
$(function() {
var moo = meowcow()
.container('#renderHere')
.data(inputDat) // declared in js/tall.js - if left unspecified, a modal will be loaded which allows user to upload a delimited file
.config(guiSetup) // declared in js/config.js
.ignoreCol(['_UID']) // ignore these columns in input data
.colTypes({Subject: 'str'}) // overwrite column type
.run();
});
</script>
The following options are available:
data
if provided.This configuration file sets all the proper options for both the GUI and each of the plot types to be rendered; an example file can be found in js/config.js.
.data()
attribute hasn’t been specified. OPTIONAL, default falseEach of the keys in this entry will populate the plot type select input located in the setup tab of the GUI. The keys for this object defines a particular plot type and must be available as a model in NVD3; the value for an entry in this object is also an object and must have the following entries:
Each entry in this list will generate a select input in the setup tab of the GUI and will bind the proper data attribute to the plot’s primary axes; must be formatted as an object with the following entries:
quantitative
or ordinal
; if not provided, it is assumed any data type will do - OPTIONALtrue
this accessor won’t be checked against the NVD3 model; this is normally set when specifying a parseData
function.Each of the items listed in this entry will generate a form input in the options tab of the GUI and is used to set the corresponding option for the given plot type. The items are formatted as objects with the following entries:
select
, text
and slider
- REQUIREDAlong with the entries shown above, each input type has specific options.
select
values
- OPTIONALtoggle
text
slider