Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/antvis/X6

🚀 JavaScript diagramming library that uses SVG and HTML for rendering.
https://github.com/antvis/X6

antv dag diagram diagramming erd erdiagram flowchart graph graph-editor javascript javascript-diagramming-library svg typescript uml-diagram

Last synced: 3 days ago
JSON representation

🚀 JavaScript diagramming library that uses SVG and HTML for rendering.

Awesome Lists containing this project

README

        

[简体中文](/README.md) | English

Graph Editing Engine Of AntV


JavaScript diagramming library that uses SVG and HTML for rendering


build
coverage
Language grade: JavaScript
NPM Package
NPM Downloads


MIT License
Language
PRs Welcome
website

## Features

- 🌱   Easy-to-customize: based on well known SVG/HTML/CSS or React/Vue/Angular to custom nodes and edges
- 🚀   Out-of-the-box: built-in 10+ plugins, such as selection, dnd, redo/undo, snapline, minimap, etc.
- 🧲   Data-driven: base on MVC architecture, you can focus on data logic and business logic
- 💯   Highly-event-driven: you can react on any event that happens inside the graph

## Environment Support

- Modern browsers and Internet Explorer 11 (with polyfills)
- Server-side Rendering

| [IE / Edge](http://godban.github.io/browsers-support-badges/)
IE / Edge | [Firefox](http://godban.github.io/browsers-support-badges/)
Firefox | [Chrome](http://godban.github.io/browsers-support-badges/)
Chrome | [Safari](http://godban.github.io/browsers-support-badges/)
Safari |
| --- | --- | --- | --- |
| IE11, Edge | last 2 versions | last 2 versions | last 2 versions |

## Installation

```shell
# npm
$ npm install @antv/x6 --save

# yarn
$ yarn add @antv/x6
```

## Usage

```html


```

```ts
import { Graph } from '@antv/x6'

const graph = new Graph({
container: document.getElementById('container'),
grid: true,
})

const source = graph.addNode({
x: 300,
y: 40,
width: 80,
height: 40,
label: 'Hello',
})

const target = graph.addNode({
x: 420,
y: 180,
width: 80,
height: 40,
label: 'World',
})

graph.addEdge({
source,
target,
})
```

## Links

- [Documents](https://x6.antv.antgroup.com/tutorial/about)
- [Samples](https://x6.antv.antgroup.com/examples)
- [Blog](https://www.yuque.com/antv/x6/gcinvi)
- [Versioning Release Note](https://www.yuque.com/antv/x6/bbfu6r)
- [FAQ](https://www.yuque.com/antv/x6/be9pfx)
- [Template](https://codesandbox.io/s/qosj0?file=/src/app.tsx)
- [awesome-x6](https://github.com/lloydzhou/awesome-x6)

## Development

```shell
# install deps and build
$ pnpm install

# enter the specified project development and debugging
cd packages/x6
pnpm run build:watch

# start example to see the effect
cd examples/x6-example-features
pnpm run start
```

## Contributing

To become a contributor, please follow our [contributing guide](/CONTRIBUTING.md). If you are an active contributor, you can apply to be a outside collaborator.


Contributors

## License

The scripts and documentation in this project are released under the [MIT License](/LICENSE).