regl-error2d ![experimental](https://camo.githubusercontent.com/b7721ae5612f6245b7df7a9e67cccaf6cc7961b9608bcb0f7db771268a54c379/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73746162696c6974792d756e737461626c652d677265656e2e737667)
Draw error bars for a set of points with regl.
Remake on gl-error2d:
color
may define per-bar colors.- max number of points extended 40 times (from
1e5
to4e6
) via instanced draw. lineWidth
andcapSize
are adjusted to actual pixels.- enhanced performance via vertex shader.
Demo.
Usage
let regl = require('regl')({extensions: 'angle_instanced_arrays'})
let createError2d = require('regl-error2d')
let error2d = createError2d(regl)
error2d({
positions: [0,0, .5,0, ...],
errors: [.5,.5,.5,.6, .2,.3,.4,.1, ...],
color: 'rgba(0, 100, 200, .75)'
})
createError2d(regl, options?)
Create new error2d instance from regl
and initial options
. Note that regl
instance should have ANGLE_instanced_arrays
extension enabled.
error2d(options|list?)
Draw errors, update options.
Option | Default | Description |
---|---|---|
positions , points , data |
[] |
An array of unrolled xy coordinates of the points as [x,y, x,y, ...] or array of points [[x,y], [x,y], ...] . |
errors , error |
[] |
Array with error values corresponding to the points [e0l,e0r,e0b,e0t, e1l,e1r,e1b,e1t, ...] |
capSize , cap |
5 |
Error bar cap size, in pixels |
lineWidth , thickness |
1 |
Error bar line width, in pixels |
color , colors |
'red' |
Color or array with colors. Each color can be a css color string or an array with float 0..1 values. |
opacity |
1 |
Error bars opacity. |
range , dataBox |
null |
Visible data range. |
viewport , viewBox |
null |
Output area within the canvas. |
A list of options can be passed for batch rendering:
error2d([options1, options2, ...])
error2d.update(options|list)
Update options, not incurring redraw.
error2d.draw(id?)
Draw errors based on last options. id
integer can specify a list item to redraw from batch update.
error2d.destroy()
Dispose error2d and associated resources.
License
(c) 2017 Dima Yv. MIT License
Development supported by plot.ly.