Skip to content

gl-vis/regl-error2d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

regl-error2d experimental

Draw error bars for a set of points with regl.

regl-error2d

Remake on gl-error2d:

  • color may define per-bar colors.
  • max number of points extended 40 times (from 1e5 to 4e6) via instanced draw.
  • lineWidth and capSize are adjusted to actual pixels.
  • enhanced performance via vertex shader.

Demo.

Usage

npm install regl-error2d

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.

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •