坐标转换
阅读时间约 3 分钟
在图可视化中,理解不同的坐标系及其转换关系至关重要。G6 中涉及多种坐标系,它们各自用于不同的场景:
在这个示例中,移动鼠标可以看到鼠标所在位置在各个坐标系下的值:
当画布没有发生平移和缩放时,Viewport 坐标系与 Canvas 坐标系重合。随着用户的交互(如拖拽画布、缩放),两个坐标系会出现偏移。
G6 提供了一系列 API 用于在不同坐标系之间进行转换,下面将详细介绍这些 API。
将浏览器坐标(客户端坐标)转换为画布坐标。
getCanvasByClient(point: Point): Point;
参数
参数 | 描述 | 类型 | 默认值 | 必选 |
---|---|---|---|---|
point | 浏览器坐标点 | [number, number] | [number, number, number] | - | ✓ |
返回值
将视口坐标转换为画布坐标。
getCanvasByViewport(point: Point): Point;
参数
参数 | 描述 | 类型 | 默认值 | 必选 |
---|---|---|---|---|
point | 视口坐标点 | [number, number] | [number, number, number] | - | ✓ |
返回值
将画布坐标转换为浏览器客户端坐标。
getClientByCanvas(point: Point): Point;
参数
参数 | 描述 | 类型 | 默认值 | 必选 |
---|---|---|---|---|
point | 画布坐标点 | [number, number] | [number, number, number] | - | ✓ |
返回值
将画布坐标转换为视口坐标。
getViewportByCanvas(point: Point): Point;
参数
参数 | 描述 | 类型 | 默认值 | 必选 |
---|---|---|---|---|
point | 画布坐标点 | [number, number] | [number, number, number] | - | ✓ |
返回值