Exhibit/Timeplot View
From SIMILE Widgets
To add timeplots to your exhibit, you must include the time extension (after you include exhibit-api.js):
<script src="http://api.simile-widgets.org/exhibit/2.2.0/extensions/timeplot/timeplot-extension.js"></script>
To include a timeplot view, add to your HTML
<div ex:role="view" ex:viewClass="Timeplot" ex:seriesConnector=".series" ex:pointTime=".year" ex:pointValue=".value" </div>
This view supports either using one point per item or one series per item. Use seriesConnector, pointTime, and pointValue settings in conjunction, or seriesTime and seriesValue in conjunction - but don't mix the two.
For an example of the one point per item use, see the Red Sox vs. Yankees.
Settings currently supported include:
| setting name | type of value | default | choices | meaning |
|---|---|---|---|---|
| ex:seriesConnector | expression | conditionally required. property on an item whose value can be used to connect items into a time series (e.g., all items where team: 'Red Sox' will be used to form a time series showing, say, wins per season).
| ||
| ex:pointTime | expression | conditionally required. property that contains values for the time axis for one point, in ISO-8601 form. | ||
| ex:pointValue | expression | conditionally required. property that contains values for the value axis, as a float type. | ||
| ex:seriesTime | expression | conditionally required. property that contains all values for the time axis for one series, separated by semicolons, in ISO-8601 form. | ||
| ex:seriesValue | expression | conditionally required. property that contains all values for the value axis for one series, separated by semicolons, as a float type. | ||
| ex:timeplotHeight | int | 400 | height of the timeplot in pixels | |
| ex:gridColor | text | #000 | color of grid elements, in hex | |
| ex:timeGeometry | function | a function that returns a configured Timeplot.DefaultTimeGeometry
| ||
| ex:valueGeometry | function | a function that returns a configured Timeplot.DefaultValueGeometry
| ||
| ex:timeplotConstructor | function | custom constructor for the timeplot | ||
| ex:showHeader | boolean | true | whether or not to show the header of the view | |
| ex:showSummary | boolean | true | whether or not to show the summary information of the view | |
| ex:showToolbx | boolean | true | whether or not to show the toolbox on this view |
To Do
- P2 Decide on whether this data model is worthwhile or poor, and how best to make its public face the least frustrating
- P2 Figure out how to integrate the color coding structure found in other views, which should also include the legend widget (worked on, to some extent).
- P4 Add in other ex: attributes as needed
- P4 Move away from the one event source / multiple column source model currently employed. I'm interpolating data points to shoehorn the view to work somewhat correctly, but maybe it should just be one event source with one column source per time series
- P5 Initial display looks extremely fast, but when anything is facet selected, it seems to take quite some time to re-render. Figure out where the choke point is.
In Timeplot
- P2 Missing feature in timeplot/scripts/plot.js (and elsewhere?) where registered events are not removed despite the dispose() method being called.
- P4 Add in a way to turn certain points into clickable events
- P9 Time to add series names directly to the timeplot?
- P9 Work with selection coordinators - maybe bold a line when selected elsewhere, make the lines click / selectable?

