Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/root-project/jsroot
JavaScript ROOT
https://github.com/root-project/jsroot
Last synced: 5 days ago
JSON representation
JavaScript ROOT
- Host: GitHub
- URL: https://github.com/root-project/jsroot
- Owner: root-project
- License: mit
- Created: 2015-04-09T08:21:27.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-12-11T10:00:59.000Z (21 days ago)
- Last Synced: 2024-12-16T22:24:41.891Z (16 days ago)
- Language: JavaScript
- Homepage:
- Size: 111 MB
- Stars: 188
- Watchers: 20
- Forks: 78
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- Changelog: changes.md
- License: LICENSE
Awesome Lists containing this project
README
# JavaScript ROOT
JavaScript ROOT provides interactive ROOT-like graphics in the web browsers and in `node.js`.
Data can be read and displayed from ROOT binary and JSON files.
`JSROOT` implements user interface for THttpServer class.## Examples
[![Color draw for TH2](https://root.cern/js/files/img/th2.png)](https://root.cern/js/latest/?nobrowser&file=../files/hsimple.root&item=hpxpy;1&opt=colz) [![2-dimensional TTree::Draw with cut options](https://root.cern/js/files/img/ttree.png)](https://root.cern/js/latest/?nobrowser&file=../files/hsimple.root&item=ntuple;1&opt=px:py::pz%3E4) [![Several variants of THStack drawing](https://root.cern/js/files/img/thstack.png)](https://root.cern/js/latest/?nobrowser&file=../files/histpainter6.root&item=draw_hstack;1) [![Drawing of TGeo model superimposed with tracks and hits](https://root.cern/js/files/img/geo_tracks.png)](https://root.cern/js/latest/?nobrowser&json=../files/geom/simple_alice.json.gz&file=../files/geom/tracks_hits.root&item=simple_alice.json.gz+tracks_hits.root/tracks;1+tracks_hits.root/hits;1)
### In web browser
```javascript
...
import { openFile, draw } from 'https://root.cern/js/latest/modules/main.mjs';
let file = await openFile('https://root.cern/js/files/hsimple.root');
let obj = await file.readObject('hpxpy;1');
draw('drawing', obj, 'colz');
...
```### In node.js
```javascript
import { openFile, makeSVG } from 'jsroot';
import { writeFileSync } from 'fs';
let file = await openFile('https://root.cern/js/files/hsimple.root');
let obj = await file.readObject('hpxpy;1');
let svg = await makeSVG({ object: obj, option: 'lego2,pal50', width: 800, height: 600 });
writeFileSync('lego2.svg', svg);
```### More examples
[Supported classes/options](https://root.cern/js/latest/examples.htm)[API examples](https://root.cern/js/latest/api.htm)
## Install
```
npm install jsroot
```
For 3D rendering jsroot uses [gl](https://www.npmjs.com/package/gl) package which may have problems
during installation. To use jsroot without `gl` one can omit development packages:
```
npm install jsroot --omit=dev
```## Documentation
[Tutorial](docs/JSROOT.md)[THttpServer](docs/HttpServer.md)
[Changelog](changes.md)
[Reference API](https://root.cern/js/latest/jsdoc/global.html)
## Links
[https://root.cern/js/](https://root.cern/js/)[https://jsroot.gsi.de](https://jsroot.gsi.de/)