diff --git a/README.md b/README.md
index 8b0de11fc..32379f36a 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,31 @@
## Graphin
-Graphin 采用 lerna 包管理,分为以下 4 个包
+## 总览
-- graphin
-- graphin-components
-- graphin-studio
-- graphin-site
+Graphin 采用 lerna 包管理机制,packages 中包含以下 4 个 package
-### Get Started
+```bash
+/packages
+ graphin
+ graphin-components
+ graphin-studio
+ graphin-site
+```
+
+他们依次对应的包名与解释如下
+
+| 包名 | 说明 |
+| ------------------------ | ------------------------------------------------------ |
+| @antv/graphin | Graphin 中的图分析内核,基于 G6 封装 的 React 组件 |
+| @antv/graphin-components | Graphin 中的图分析组件 |
+| @antv/graphin-site | Graphin 文档官网 |
+| graphin-studio | Graphin 演示 DEMO:基于 Graphin 实现的通用关系分析平台 |
+
+关于 Graphin 与 G6 的定位问题:Graphin 专注在关系可视分析领域,它是一个关系分析工具。上层服务关系网络,知识图谱,金融反欺诈等业务。基于 G6 的图可视化能力,结合 React 框架的优势,为用户提供工程方案,产品能力,简单易用的开发体验
+
+![graphin and g6](https://gw.alipayobjects.com/mdn/rms_00edcb/afts/img/A*zAbfSp28qFoAAAAAAAAAAABkARQnAQ)
+
+### 快速开始
- 设置 npmClient
diff --git a/packages/graphin-site/docs/manual/advanced-guides/register.zh.md b/packages/graphin-site/docs/manual/advanced-guides/register.zh.md
index e18921ff1..7566d281e 100644
--- a/packages/graphin-site/docs/manual/advanced-guides/register.zh.md
+++ b/packages/graphin-site/docs/manual/advanced-guides/register.zh.md
@@ -3,7 +3,7 @@ title: Register 注册接口
order: 1
---
-Graphin 提供了声明式的 NodeShape 拓展方式。除此之外,Graphin 也支持直接传入 G6 的配置。主要支持自定义交互(behavior),自定义边,自定义边。这让用户对 G6 的交互和边有了拓展能力。
+Graphin 提供了声明式的 NodeShape 拓展方式。除此之外,Graphin 也支持直接传入 G6 的配置。主要支持自定义交互(behavior),自定义边(edge)。这让用户对 G6 的交互和边有了拓展能力。
register 是通过 props 传入组件的:
@@ -28,7 +28,7 @@ register?: {
};
```
-```
+```ts
interface Register {
/** 节点名称 */
name: string;
@@ -37,7 +37,7 @@ interface Register {
}
```
-```
+```ts
interface BehaviorRegister extends Register {
options: any;
mode: string;
@@ -48,7 +48,7 @@ interface BehaviorRegister extends Register {
注册返回的 Register 类型中,register 函数就是真正进行注册的地方:
-```
+```ts
register: {
nodeShape: (G6) => [{
name: "custom",
@@ -63,7 +63,7 @@ register: {
}
}],
behavior: (G6) => [{
- mode: "default",
+ mode: "default", // 详见 G6 的 mode 文档
options: {}
name: "custom",
register: () => {
@@ -73,11 +73,8 @@ register: {
}
```
-
**G6 相关文档**
-+ [自定义节点](https://www.yuque.com/antv/g6/self-node)
-+ [自定义边](https://www.yuque.com/antv/g6/self-edge)
-+ [自定义行为](https://www.yuque.com/antv/g6/self-behavior)
-
-
+- [自定义节点](https://www.yuque.com/antv/g6/self-node)
+- [自定义边](https://www.yuque.com/antv/g6/self-edge)
+- [自定义行为](https://www.yuque.com/antv/g6/self-behavior)
diff --git a/packages/graphin/README.md b/packages/graphin/README.md
index d1e20c2d1..3f1a5f13d 100644
--- a/packages/graphin/README.md
+++ b/packages/graphin/README.md
@@ -1,179 +1,40 @@
-## About 简介
+## @antv/graphin
-Graphin 意为 Graph Insight 图的分析洞察,象形 Graphene 石墨烯,蕴藏未来的潜力。
+`@antv/graphin` 是图分析工具的内核,它是一个基于 g6 封装的 React 组件。
-Graphin 是一个基于G6封装的React组件库,专注在图分析领域。
+## 安装
-- 底层 使用G6作为图的渲染,交互,布局引擎。
-- 外层 使用React进行组件化开发,提高开发者效率。
-- 上层 沉淀聚合 业界优秀图分析产品的功能特性。
+```bash
-从上述可以看出,Graphin的G6底层让我们有图可视化的能力,外层的React封装,让我们提高开发效率,上层的产品功能沉淀,让我们的分析更加专业出彩
+npm install @antv/graphin --save
+```
+## 用法
-## Feature 功能
+```tsx
+import React from 'react';
+import ReactDOM from 'react-dom';
+import Graphin, { Utils } from '@antv/graphin';
+import './styles.css';
-### 01. Data driven 数据驱动
+const App = () => {
+ const data = Utils.mock(10).graphin();
+ return (
+
+
+
+ );
+};
-#### 01.增量数据添加
-
-在图分析的过程中,我们需要增量添加节点,节点添加后的位置就是一个值得讨论的问题,Graphin采用前置布局的方案,将新增节点加入前置布局里,以达到添加后节点的稳定与美观。
-
-![Oct-09-2019 20-20-07.gif](https://gw.alipayobjects.com/mdn/rms_00edcb/afts/img/A*t9cNQbcmZpcAAAAAAAAAAABkARQnAQ)
-
-#### 02.全量数据渲染
-
-在图分析过程中,我们有时需要全量渲染数据,例如需要将保存的图再次渲染出来。这种情况下,我们数据的变化也会同步被Graphin感知到
-
-![全量添加](https://gw.alipayobjects.com/mdn/rms_00edcb/afts/img/A*iGCgQaHq3BgAAAAAAAAAAABkARQnAQ)
-
-### 02. Automatic layouts 自动布局
-
-在图分析过程中,针对不同的分析场景,我们需要不同的布局方案:
-#### 01.concentric 同心圆布局
-该布局的特点是:将节点按照度数排序,节点度数大的一群点会排列在最中心,度数小的节点会分布在最外层。整体呈现同心圆排布。
-适用场景:当我们找到一群点中的关键节点,它所联系的节点最多,那么利用圆形布局,便可以在中心处轻松找到
-
-#### 02.grid 网格布局
-该布局的特点是:将节点依次整齐排列,呈现网格状
-适用场景:节点的位置按照用户自定义后的排序展开,清晰明了,一般用于其他布局的前置分析。
-
-
-#### 03.force 力导布局
-该布局的特点是:节点是平等的,完全按照自然受力进行分布,节点间模拟电荷斥力保持不相交,边通过弹簧拉力保持不相离,最终在多次动态迭代,达到一个受力平衡
-适用场景:想解决点边相交问题的时候,使用力导非常合适。一般作为其他布局的后置布局使用
-
-#### 04.radial 迳向布局
-
-该布局的特点是:节点像雷达一样散开,是静态布局里解决交叉问题的主要布局算法
-
-
-#### 05.dagre 有向层次布局
-
-该布局的特点是:按照边的方向与节点的层次,呈现树形排列
-
-适用场景:我们需要知道一群数据里的层次结构,上下游关系,那么dagre有向层次布局便是非常好的办法。
-
-![layout](https://gw.alipayobjects.com/mdn/rms_00edcb/afts/img/A*mkVrTpJb-GAAAAAAAAAAAABkARQnAQ)
-
-### 03. Analysis Components 分析组件
-
-分析过程是一个动态交互的过程,对于图分析也不例外。因此我们需要一些分析组件帮助我们辅助分析,这里Graphin内置了两款组件:Toobar通用工具栏 和 ContextMenu 右键菜单 ,未来计划新增 MiniMap 缩略图 与 ProptertiesFilter 属性筛选器,从而达到让用户高效分析的目的
-
-#### 01.Toolbar 通用工具栏
-
-Toolbar内置了4大功能
-
-- todo/redo 撤销重做功能
-
-我们提供了撤销重做的功能,能够让整个分析过程变得可靠,因为用户不必再担心因为误操作而毁坏了之前的分析过程。对于工具型产品,这是基础功能,也是特色功能
-
-- zoomIn/out 缩小放大功能
-
-在分析过程中,当节点数量的变化,布局的变化,引起一些节点可能不在当前视窗内,这个时候我们就需要缩放功能帮助我们调整视窗的范围,配合画布的拖拽,能让我们不丢失全局(zoomOut),也不损失细节(zoomIn)
-
-- fullscreen 全屏功能
-
-触发后,整个画布占满浏览器窗口,当你的画布页在业务中占比很小的时候,这将非常有用。
-
-
-- foucs 节点聚焦功能
-
-输入节点ID,将自动对焦到该节点,将和Search功能配套起来,支持模糊搜索,快速定位,这将大大提高你的分析效率
-
-
-- Snapshot 快照下载
-
-当你希望保存当前的画布给别人分享,下载快照将会是一个非常有用的功能。
-
-
-![toolbar](https://gw.alipayobjects.com/mdn/rms_00edcb/afts/img/A*2I2ITbEL7x4AAAAAAAAAAABkARQnAQ)
-
-#### 02.ContextMenu 右键菜单
-
-在画布上,我们在节点上右键菜单,将会出现更多的操作选项,如果说Toolbar是针对整个画布的操作,那么ContextMenu则是针对单独的节点做操作,对于单个节点,我们通用的分析操作有如下:
-
-- 复制
-
-复制节点ID,以便于你的后续操作
-
-- 反选
-
-反选节点,这种排除法,是选择其他节点的一种快捷方式
-
-- 删除
-
-删除该节点,删除后,剩余的节点将重新布局,渲染,这在我们做案件排查的时候,删除已经确定的关键节点,重新布局分析能够减少我们的分析干扰。
-
-- 新增画布分析
-
-当我们在前一次分析中筛选出的关键节点,可以通过右键菜单,新建画布分析的方式,在一个新的画布中做二次分析,减少无用信息的干扰
-
-- 业务相关
-
-业务特有的一些针对节点的操作,比如给该节点打标,进行关系扩散,或者发起数据请求什么的
-
-
-
-#### 03.MiniMap 缩略图
-
-整个图可视化中的关键问题是“size”,当节点数量很多的时候,用户视窗内的展示节点数量有限,这就需要我们适用MiniMap 缩略图去定位当前我们处于画布的什么位置
-
-其次,我们也可以通过MiniMap快速定位,导航到我们需要的节点位置
-
-#### 04.PropertiesFilter 属性筛选器
-
-属性筛选器 是针对属性进行筛选的一个组件。这里就引发两个主要问题,什么是属性Properties?为什么要筛选它?
-
-图是一种非常经典的数据模型,Node-Edge 这样的单元不断组合就形成了图。其中Node和Edge的右下脚应该还有一个字段,那便是Properties,用于存储Node或者Edge的其他信息,这些信息往往也是我们案件分析中的关键一步,是真正有价值的数据载体。
-
-以 Node 为 自然人实体 举例,一个Properties中可能包含自然人的姓名,性别,年龄,居住城市等等。在一堆的数据里,如果我们能够根据属性去筛选节点,那将极大提高分析效率。属性筛选器就是为这样的目标而设计的。
-
-第二个问题,为什么要在前端完成属性筛选?这个就涉及到图计算引擎的问题。因为关系数据是一种既简单又复杂的数据,简单是因为我们自然中产生的数据大多都是关系数据,复杂在于它的量非常庞大,数据的加工,处理,检索,都是非常有挑战性的。因此后端给到我们的图数据,都是已经对万亿网络节点进行裁剪过的,此时前端再根据属性去反向查找,那机会是灾难性的,也没有太大必要,因为当前图画布里已经包含了这些属性信息。属性筛选器也是为了解决这样的问题而出现。
-
-这块的数据结构有着严格的约定,这块我们之后补充
-
-#### 05.Legend 图例
-
-对于所有的可视化产品,图例几乎是不可缺少的组件,原因是它可以通过颜色映射,直观反应当前图的状态,也可以通过和图例交互,完成与图的交互。
-Graphin中提供的图例,能够帮助开发者快速进行颜色映射,也能交互完成节点高亮
-
-#### 06.SheetBar 画布页签
-
-Graphin提供的SheetBar旨在提供一种多画布管理机制,通过页签可以对画布完成 新增,删除,重命名等操作。多个画布间状态相互独立,互补干扰,在我们进行二次分析的时候,非常有用。
-
-
-
-
-### 04. Nodes Expand 关系扩散
-
-风控领域:风险发生的地方往往是风险聚集度最高的地方,因此由一个点扩散去看其他点,是一种分析策略。
-
-![diffuse](https://gw.alipayobjects.com/mdn/rms_00edcb/afts/img/A*9xwFRonleusAAAAAAAAAAABkARQnAQ)
-
-### 05. Find Connections 关系发现
-
-数学领域存在Six Degrees of Separation 的猜想,实体间直连,是一度关系,也可通过算法,发现可能存在的二度关联关系。
-
-
-### 06. Custom styling 自定义样式
-
-#### 01. Marker 自定义图标
-
-#### 02. Node 自定义节点
-
-#### 03. Edge 自定义边
-
-
-### 07. Advanced Analysis 高级分析
-
-#### 01.Geographical Analysis 地理位置分析
-
-#### 02.Time-based Analysis 时序分析
-
-#### 03.Group Navigation Analysis 团伙导航
+const rootElement = document.getElementById('root');
+ReactDOM.render(, rootElement);
+```
+## API
+参考官网:[API 文档](https://antvis.github.io/graphin/zh/docs/api/graphin)
+## 快速开始
+参考官网[快速开始](https://antvis.github.io/graphin/zh/docs/manual/getting-started)
diff --git a/packages/graphin/package.json b/packages/graphin/package.json
index 3f0fc8c5a..5e56524cd 100644
--- a/packages/graphin/package.json
+++ b/packages/graphin/package.json
@@ -6,7 +6,7 @@
"types": "./dist/index.d",
"scripts": {
"start": "father build --watch",
- "build:new": "father build",
+ "build": "father build",
"docz": "docz dev",
"test": "jest",
"prettier": "prettier --write ./src/**/**/**/*.js"
@@ -38,9 +38,6 @@
},
"author": "",
"license": "ISC",
- "publishConfig": {
- "registry": "https://registry.npm.alibaba-inc.com"
- },
"dependencies": {
"svg2marker": "^0.1.3",
"@antv/g6": "^3.1.5",