Comments (4)
感觉这样玩很酷啊,你现在的思路是讲 pixi 的 canvas 传给 G2,这样可能会带来一些问题,就是 pixi 和 G2 都会对同一个画布进行操作(擦除和重绘)
建议的做法:
在 Pixi 中增加一层 dom,在这个 dom 中去单独绘制 G2 的画布,整体效果就是两个 canvas 叠加在一起,视觉上是在同一个画布。
这个做法在可视化中其实挺多的,比如在 G2、G6、L7 中做的一些标注、插件等,使用 html 有天然的灵活性,所以做法都是在 canvas 上盖一层 dom。
from g2.
感觉这样玩很酷啊,你现在的思路是讲 pixi 的 canvas 传给 G2,这样可能会带来一些问题,就是 pixi 和 G2 都会对同一个画布进行操作(擦除和重绘)
建议的做法:
在 Pixi 中增加一层 dom,在这个 dom 中去单独绘制 G2 的画布,整体效果就是两个 canvas 叠加在一起,视觉上是在同一个画布。
这个做法在可视化中其实挺多的,比如在 G2、G6、L7 中做的一些标注、插件等,使用 html 有天然的灵活性,所以做法都是在 canvas 上盖一层 dom。
你说的pixi中增加DOM是指哪个API,chart图表的交互细节会丢失吧。我这里是想把pixi作为父级元素,chart图表作为子元素
from g2.
伪代码参考。其中新建的 div ,使用 absolute 布局,保持 上右下左边距都为 0。
class Pie extends PIXI.Container {
constructor(app: PIXI.Application) {
super();
this.container = this.createChartContainerDOM()
}
createChartContainerDOM() {
const div = document.createElement('div');
this.app.container.appendChild(div);
return div;
}
from g2.
目前是无法和 PIXI 共享一个 Canvas 上下文绘制的,原因是他俩都有各自独立的绘制流程,共享一个反而会互相干扰。
还是和上面的做法一样,分成两个 HTMLCanvasElement 会比较好。
from g2.
Related Issues (20)
- chart.facetRect()分面不支持仪表盘
- 设置x轴刻度数无效
- 官方示例水波图NaN% HOT 1
- 答疑labelAutoHide使用 HOT 10
- 开启缩略轴,数据标签被裁切 HOT 1
- 开启缩略轴(slider)后,数据标签(label)不响应缩略轴变化
- 在shadow dom里,并且在多层容器下,tooltip位置出现偏离 HOT 4
- X轴是否支持二级,目前看示例都只有一级 HOT 1
- Tooltip 鼠标聚焦的时候 然后离开的时候会出现卡顿现象 HOT 4
- 缩略图不正常 HOT 2
- 雷达图图例切换显隐渲染异常 HOT 2
- 聚合热力图在拖动图例范围的时候,x、y轴的缩略轴会出现undefined
- legend单独设置tooltip
- 【需求】v5 版本支持螺旋坐标系及图表
- 双轴图在特殊数据下右轴显示效果不对 HOT 4
- v5折线图是否可以标记线中的某一段
- 【🙋提问】添加tooltip的shared: true后,tootilp部分item的name自动变为series的值
- antv/G2 V5 滚动slider,导致legend样式错乱 HOT 1
- v5版本可以通过API的方式使用么
- 散点图size设置很大的时候会超过坐标轴,此时外面的无法触发hover
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from g2.