{"id":21274790,"url":"https://github.com/maayanlab/react-scatter-board","last_synced_at":"2025-07-11T06:34:35.522Z","repository":{"id":44739333,"uuid":"205444047","full_name":"MaayanLab/react-scatter-board","owner":"MaayanLab","description":"A reusable React library for interactive THREE.js 2d/3d scatter plots","archived":false,"fork":false,"pushed_at":"2023-05-23T16:28:05.000Z","size":15902,"stargazers_count":9,"open_issues_count":12,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-08T17:59:26.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://maayanlab.github.io/react-scatter-board/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaayanLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-30T19:23:03.000Z","updated_at":"2024-06-03T05:54:25.000Z","dependencies_parsed_at":"2024-10-23T01:03:56.059Z","dependency_job_id":null,"html_url":"https://github.com/MaayanLab/react-scatter-board","commit_stats":{"total_commits":56,"total_committers":3,"mean_commits":"18.666666666666668","dds":0.4285714285714286,"last_synced_commit":"5af0ac5b2aea79460e5fc7b25d202b6b9322de6d"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaayanLab%2Freact-scatter-board","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaayanLab%2Freact-scatter-board/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaayanLab%2Freact-scatter-board/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaayanLab%2Freact-scatter-board/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaayanLab","download_url":"https://codeload.github.com/MaayanLab/react-scatter-board/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225703504,"owners_count":17510915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-21T09:25:37.067Z","updated_at":"2024-11-21T09:25:37.611Z","avatar_url":"https://github.com/MaayanLab.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# react-scatter-board\n\nA React implementation of THREE.js 2d/3d scatter plot. This library was created using the [create-react-library](https://github.com/transitive-bullshit/create-react-library) CLI.\n\n[![NPM](https://img.shields.io/npm/v/react-scatter-board.svg)](https://www.npmjs.com/package/react-scatter-board) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n\n## Install\n\n### Python\n```bash\npip install --user --upgrade git+git://github.com/maayanlab/react-scatter-board\n```\n\n#### Jupyter\n\n```python\nfrom react_scatter_board.jupyter_compat import ScatterBoard\nScatterBoard(\n  id='scatterboard-3d',\n  is3d=True,\n  data=[\n    dict(x=0, y=0, z=0, label='a', shape='s', color='r'),\n    dict(x=1, y=1, z=-1, label='b', shape='t', color='g'),\n    dict(x=-1, y=-1, z=-1, label='c', shape='c', color='b'),\n    dict(x=0, y=0, z=1, label='d', shape='c', color='r'),\n    dict(x=0, y=1, z=0, label='e', shape='t', color='g'),\n    dict(x=0, y=0, z=-1, label='f', shape='t', color='b'),\n  ],\n  shapeKey='shape',\n  colorKey='color',\n  labelKeys=['label'],\n  searchKeys=['label', 'shape', 'color'],\n  width=600,\n  height=400,\n)\n```\n\n#### Dash\n```python\nfrom react_scatter_board import DashScatterBoard\n\napp = dash.Dash(__name__)\napp.layout = DashScatterBoard(\n  id='scatterboard-2d',\n  is3d=False,\n  data=[\n    dict(x=0, y=0, label='a', shape='s', color='r'),\n    dict(x=1, y=1, label='b', shape='t', color='g'),\n    dict(x=-1, y=-1, label='c', shape='c', color='b'),\n    dict(x=-1, y=0, label='d', shape='c', color='r'),\n    dict(x=0, y=1, label='e', shape='t', color='g'),\n    dict(x=1, y=0, label='f', shape='t', color='b'),\n  ],\n  shapeKey='shape',\n  colorKey='color',\n  labelKeys=['label'],\n  searchKeys=['label', 'shape', 'color'],\n  width=600,\n  height=400,\n)\n```\n\n### NodeJS\n```bash\nnpm install --save maayanlab/react-scatter-board\n```\n\n## Usage\n\n```jsx\nimport React, { Component } from \"react\";\nimport { ScatterBoard, Lazy } from \"react-scatter-board\";\nimport \"./App.css\";\n\nexport default class App extends Component {\n  render() {\n    return (\n      \u003cLazy loading={\u003cdiv\u003eLoading...\u003c/div\u003e}\u003e{() =\u003e\n        fetch('http://localhost:8080/GSE48968_tSNE_3.json').then(\n          response =\u003e response.json()\n        ).then(data =\u003e (\n          \u003cScatterBoard\n            data={data}\n            shapeKey=\"strain\"\n            colorKey=\"description\"\n            labelKeys={[\"sample_id\"]}\n            is3d={true}\n          /\u003e\n        ))\n      }\u003c/Lazy\u003e\n    );\n  }\n}\n```\n\n## Examples\n\nA demo website with examples: [React Scatter Board](https://maayanlab.github.io/react-scatter-board/).\n\n## Development\n\nLocal development is broken into two parts (ideally using two tabs).\n\nFirst, run rollup to watch your `src/` module and automatically recompile it into `dist/` whenever you make changes.\n\n```bash\nnpm start # runs rollup with watch flag\n```\n\nThe second part will be running the `example/` create-react-app that's linked to the local version of your module.\n\n```bash\n# (in another tab)\ncd example\nnpm start # runs create-react-app dev server\n```\n\nNow, anytime you make a change to your library in `src/` or to the example app's `example/src`, `create-react-app` will live-reload your local dev server so you can iterate on your component in real-time.\n\n## Deployment to GitHub Pages\n\n```bash\nnpm run deploy\n```\n\nThis creates a production build of the example `create-react-app` that showcases your library and then runs `gh-pages` to deploy the resulting bundle.\n\n## Copyright\n\n[MaayanLab](https://github.com/MaayanLab)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaayanlab%2Freact-scatter-board","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaayanlab%2Freact-scatter-board","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaayanlab%2Freact-scatter-board/lists"}