html 使用Vega-lite和WebGL渲染100000点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html 使用Vega-lite和WebGL渲染100000点相关的知识,希望对你有一定的参考价值。
<!DOCTYPE html>
<meta charset="utf-8">
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://unpkg.com/vega/build/vega.min.js" charset="utf-8"></script>
<script src="https://unpkg.com/vega-webgl-renderer/build/vega-webgl-renderer.js" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vega-lite/2.0.0-beta.3/vega-lite.js"></script>
<div id="vis"></div>
<script>
var numPoints = 100000;
var pointWidth = 4;
var width = 800;
var height = 800;
// create initial set of points
var rng = d3.randomNormal(0, 0.15);
var dataPoints = d3.range(numPoints).map(i => ({
x: (rng() * width) + (width / 2),
y: (rng() * height) + (height / 2),
c: Math.random(),
}));
console.log(dataPoints.length);
var scatterJson = {
"width" : 500,
"height": 500,
"data": {
"values": dataPoints
},
"mark": "circle",
"encoding": {
"x": {"field": "x", "type": "Q", "axis": null},
"y": {"field": "y", "type": "Q", "axis": null},
"color": {"field": "c", "type": "Q", "legend": null},
},
"config": {
"background": "black",
}
}
var vgSpec = vl.compile(scatterJson).spec;
var view = new vega.View(vega.parse(vgSpec))
.initialize(document.querySelector('#vis'))
.renderer('webgl')
.run();
</script>
以上是关于html 使用Vega-lite和WebGL渲染100000点的主要内容,如果未能解决你的问题,请参考以下文章
使用 altair / vega-lite / vega-embed 控制画布大小
WebGL的颜色渲染-渲染一张DEM(数字高程模型)
新书推荐 |《Three.js开发指南:基于WebGL和HTML5在网页上渲染3D图形和动画(原书第3版)》
求助WebGL 中渲染器问题
WebGL编程指南pdf
Webgl/Threejs 学习及实践总结