• Stars
    star
    894
  • Rank 51,071 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A react component to render nice graphs using vis.js

React graph vis

A React component to display beautiful network graphs using vis.js

Show, don't tell: Demo

Make sure to visit visjs.org for more info.

Rendered graphs are scrollable, zoomable, retina ready, dynamic, and switch layout on double click.

A graph rendered by vis js

Due to the imperative nature of vis.js, updating graph properties causes complete redraw of graph and completely porting it to React is a big project itself!

This component takes three vis.js configuration objects as properties:

  • graph: contains two arrays { edges, nodes }
  • options: normal vis.js options as described here
  • events: an object that has event name as keys and their callback as values

Usage

import React from "react";
import ReactDOM from "react-dom";
import Graph from "react-graph-vis";

import "./styles.css";
// need to import the vis network css in order to show tooltip
import "./network.css";

function App() {
  const graph = {
    nodes: [
      { id: 1, label: "Node 1", title: "node 1 tootip text" },
      { id: 2, label: "Node 2", title: "node 2 tootip text" },
      { id: 3, label: "Node 3", title: "node 3 tootip text" },
      { id: 4, label: "Node 4", title: "node 4 tootip text" },
      { id: 5, label: "Node 5", title: "node 5 tootip text" }
    ],
    edges: [
      { from: 1, to: 2 },
      { from: 1, to: 3 },
      { from: 2, to: 4 },
      { from: 2, to: 5 }
    ]
  };

  const options = {
    layout: {
      hierarchical: true
    },
    edges: {
      color: "#000000"
    },
    height: "500px"
  };

  const events = {
    select: function(event) {
      var { nodes, edges } = event;
    }
  };
  return (
    <Graph
      graph={graph}
      options={options}
      events={events}
      getNetwork={network => {
        //  if you want access to vis.js network api you can set the state in a parent component using this property
      }}
    />
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

You can also check out the demo in the example folder.

More Repositories

1

code-to-graph

Transforms JS code πŸ™ˆinto mermaid flowchart 🐡
JavaScript
365
star
2

Hexastore

A fast, pure javascript triple store implementation, also useful as a graph database.
JavaScript
57
star
3

infinistack

Infinite recursion in JS without stack overflow errors, based on magic πŸŽ©βœ¨πŸ‡
JavaScript
25
star
4

strapi-provider-upload-supabase

JavaScript
24
star
5

react-openlayers-fiber

React Openlayers Fiber
TypeScript
15
star
6

opov

Operator Overloading for Typescript with Tagged Template Literals
JavaScript
11
star
7

yarnv2-storybook

Repo to investigate the yarn v2 storybook problem https://github.com/yarnpkg/berry/issues/592
JavaScript
6
star
8

todomvc-react-coffee

Implementation of TodoMVC in React and Coffeescript
CoffeeScript
6
star
9

starter-typescript-library-monorepo

A starter template to create typescript libraries as monorepos
HTML
4
star
10

yarn-benchmarks

Benchmarks for yarn vs npm
JavaScript
3
star
11

reflective-next

A next JS app that generates it's own code
JavaScript
3
star
12

my-personal-projects

A portfolio of my work, as an aerospace engineering student, computer science PhD and others!
Mathematica
3
star
13

snowpack-test

snowpack + yarnv2 pnp + react + typecript + three + cesium
TypeScript
2
star
14

react-loadable-context

Asynchronously load object into the context
JavaScript
2
star
15

lidl

JavaScript
2
star
16

factis-object

Transform triples to JSON objects, and JSON objects to triples. Works nicely with the factis package
JavaScript
2
star
17

datatoy

Swiss army knife for data exploration
TypeScript
1
star
18

Fiabilipy

Python 3 port of fiabilipy
Python
1
star
19

awesome-three-js

A collection of awesome Three JS resources, libraries, and tools
1
star
20

graphql-code-pretty-printer

Online graphql code pretty printer and syntax coloring
JavaScript
1
star
21

labelflow-dataset-example

1
star
22

lil

Java
1
star
23

factis

A pure javascript triple-store, RDF store, graph database
JavaScript
1
star