@plotly/point-cluster

WebJar for @plotly/point-cluster

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

plotly__point-cluster
Last Version

Last Version

3.1.9
Release Date

Release Date

Type

Type

jar
Description

Description

@plotly/point-cluster
WebJar for @plotly/point-cluster
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/plotly/point-cluster

Download plotly__point-cluster

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/plotly__point-cluster/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>plotly__point-cluster</artifactId>
    <version>3.1.9</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/plotly__point-cluster/
implementation 'org.webjars.npm:plotly__point-cluster:3.1.9'
// https://jarcasting.com/artifacts/org.webjars.npm/plotly__point-cluster/
implementation ("org.webjars.npm:plotly__point-cluster:3.1.9")
'org.webjars.npm:plotly__point-cluster:jar:3.1.9'
<dependency org="org.webjars.npm" name="plotly__point-cluster" rev="3.1.9">
  <artifact name="plotly__point-cluster" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='plotly__point-cluster', version='3.1.9')
)
libraryDependencies += "org.webjars.npm" % "plotly__point-cluster" % "3.1.9"
[org.webjars.npm/plotly__point-cluster "3.1.9"]

Dependencies

compile (10)

Group / Artifact Type Version
org.webjars.npm : defined jar [1.0.0,2)
org.webjars.npm : math-log2 jar [1.0.1,2)
org.webjars.npm : flatten-vertex-data jar [1.0.2,2)
org.webjars.npm : is-obj jar [1.0.1,2)
org.webjars.npm : pick-by-alias jar [1.2.0,2)
org.webjars.npm : clamp jar [1.0.1,2)
org.webjars.npm : array-bounds jar [1.0.1,2)
org.webjars.npm : parse-rect jar [1.2.0,2)
org.webjars.npm : dtype jar [2.0.0,3)
org.webjars.npm : binary-search-bounds jar [2.0.4,3)

Project Modules

There are no modules declared in this project.

point-cluster Build Status experimental

Point clustering for 2D spatial indexing. Incorporates optimized quad-tree data structure.

const cluster = require('point-cluster')

let ids = cluster(points)

// get point ids in the indicated range
let selectedIds = ids.range([10, 10, 20, 20])

// get levels of details: list of ids subranges for rendering purposes
let lod = ids.range([10, 10, 20, 20], { lod: true })

API

ids = cluster(points, options?)

Create index for the set of 2d points based on options.

  • points is an array of [x,y, x,y, ...] or [[x,y], [x,y], ...] coordinates.
  • ids is Uint32Array with point ids sorted by zoom levels, suitable for WebGL buffer, subranging or alike.
  • options
Option Default Description
bounds 'auto' Data range, if different from points bounds, eg. in case of subdata.
depth 256 Max number of levels. Points below the indicated level are grouped into single level.
output 'array' Output data array or data format. For available formats see dtype.

result = ids.range(box?, options?)

Get point ids from the indicated range.

  • box can be any rectangle object, eg. [l, t, r, b], see parse-rect.
  • options
Option Default Description
lod false Makes result a list of level details instead of ids, useful for obtaining subranges to render.
px 0 Min pixel size in data dimension (number or [width, height] couple) to search for, to ignore lower levels.
level null Max level to limit search.
let levels = ids.range([0,0, 100, 100], { lod: true, d: dataRange / canvas.width })

levels.forEach([from, to] => {
	// offset and count point to range in `ids` array
	render( ids.subarray( from, to ) )
})

Related

License

© 2017 Dmitry Yv. MIT License

Development supported by plot.ly.

org.webjars.npm

Plotly

Versions

Version
3.1.9