Here are a few examples of scripts that can be used from the user interface (File -> Run Scripts menu).
All exposed functions and objects are accessible via the wpd
object in the global scope. Please use these cautiously, calling functions or modifying application objects via scripts may have unintended consequences such as data loss.
Axes, data sets, and data point can all hold metadata that are not populated via the WebPlotDigitizer UI. WebPlotDigitizer does not manage the metadata, but only exposes a getter and a setter.
Axes.prototype.getMetadata
Retrieves metadata object stored on the axes.
Axes.prototype.setMetadata
Stores given metadata object on the axes.
Dataset.prototype.getMetadata
Retrieves metadata object stored on the data set.
Dataset.prototype.setMetadata
Stores given metadata object on the data set.
Dataset.prototype.addPixel
Takes an optional metadata object to store on the pixel (data point).
Dataset.prototype.insertPixel
Takes an optional metadata object to store on the pixel (data point).
Dataset.prototype.setMetadataAt
Stores given metadata object on the pixel at the given index.
Data points (also known as pixels) require the metadata keys array updated in order to function properly. Use Dataset.prototyp.getMetadataKeys
and Dataset.prototyp.setMetadataKeys
to set the array. Bar axes point labels are stored as metadata on the data points and will always be the first element in the array if it exists. Likewise, data point value overrides on any axes are stored as metadata on the data points as well and will always be the last elements in the array if they exist. Be careful not to delete them when setting the metadata keys on the data set.
An event system is available to attach listeners to various actions taken in WebPlotDigitizer.
wpd.events.addListener
Register a listener function to execute when the given event type fires.
- Parameters:
String
- Event typeFunction
- Listener
- Return value:
Function
- Wrapped function containing the given listener. Pass this towpd.events.removeListener
to remove the listener.
wpd.events.dispatch
Fire a custom event.
- Parameters:
String
- Event typeAny
- [optional] Payload
- Return value:
undefined
wpd.events.getRegisteredEvents
Get all registered events registered through
wpd.events.addListener
.
- Return value:
Object
- Object containing all currently registered events. Keys are event types, values are arrays of wrapped listeners.
wpd.events.removeListener
Remove a given listener.
- Parameters:
String
- Event typeFunction
- Wrapped listener returned bywpd.events.addListener
- Return value:
undefined
wpd.events.removeAllListeners
Remove all listeners of a given event type or all listeners.
- Parameters:
String
- [optional] Event type
- Return value:
undefined
wpd.axes.add
Fires when a new axes has been added
- Payload:
Object
axes
:Axes
- Added axes
wpd.axes.delete
Fires when an axes has been deleted
- Payload:
Object
axes
:Axes
- Delete axes
wpd.axes.select
Fires when an existing axes has been selected
- Payload:
Object
axes
:Axes
- Selected axes
wpd.dataset.add
Fires when a new data set has been added
- Payload:
Object
dataset
:Dataset
- Added data set
wpd.dataset.delete
Fires when a data set has been deleted
- Payload:
Object
dataset
:Dataset
- Deleted data set
wpd.dataset.select
Fires when an existing data set has been selected
- Payload:
Object
dataset
:Dataset
- Selected data set
wpd.dataset.point.add
Fires when a new data point has been added
- Payload:
Object
axes
:Axes
- Axes added data point belongs todataset
:Dataset
- Data set added data point belongs toindex
:Number
- Index of added data point in data set (for use withDataset.prototype.getPixel
)
wpd.dataset.point.delete
Fires when a data point has been deleted
- Payload:
Object
axes
:Axes
- Axes deleted data point belongs todataset
:Dataset
- Data set deleted data point belongs toindex
:Number
- Index of deleted data point in data set (for use withDataset.prototype.getPixel
)
wpd.dataset.point.select
Fires when an existing data point has been selected
- Payload:
Object
axes
:Axes
- Axes selected data point belongs todataset
:Dataset
- Data set selected data point belongs toindexes
:Array
- Array containing indexes of selected data points in data set (for use withDataset.prototype.getPixel
)
wpd.image.rotate
Fires when the image has been rotated
- Payload:
Object
rotation
:Integer
- New rotation of image in degrees