所有分类
  • 所有分类
  • 后端开发
3D动态Chart绘制秘诀大揭秘!轻松搞定数据可视化问题

3D动态Chart绘制秘诀大揭秘!轻松搞定数据可视化问题

canvas的3d动态chart图表的示例,内容挺不错的,现在分享给大家,也给大家做个参考。就起到了决定性的作用,我用这个属性来存储变量,而且可以任意更改变量的值,这样就能实现动态绑定的效果了。

HTML5 Canvas与3D动态Chart图表

你好现在,需要处理的工业控制和电信网络管理图表真不少,咱们要学点儿画专业图的技巧。比如,Echart这样的工具就很好使,但有时候也可能不太适合。别担心,这儿给你透露一个自绘3D动态图表的秘诀,保准能帮你搞定数据可视化问题!

3D动态Chart绘制秘诀大揭秘!轻松搞定数据可视化问题

HT for Web 3D的应用

突然想搞个图标玩玩?无意中发现一个网站模板太酷炫了,于是试着用HT for Web 3D来勾画一下。其实用HT做这个超简单,先创建个HT模子,再丢给3D设备调整视角就行。最后把生成的3D玩意儿嵌入网页元素,大功告成!

dm = new ht.DataModel();
g3d = new ht.graph3d.Graph3dView(dm);
g3d.setEye(0, 185, 300);
g3d.addToDOM();
g3d.getView().style.background = '#000';

创建Chart图表条

想让你的图表变得炫酷有趣?快来试试下面这个妙招!先画好五条漂亮的曲线图,别急着结束。接下来,我们需要在其中的一条线上画一个小点,外面用透明点盖住它,底部再加上一些百分比数字。瞬间,3D效果就出来!这个小巧的透明点用谷歌Web前端库的ht.Node就能轻松搞定。然后,稍微调整下外观会更美观。最后别忘了为每个节点添加上“shape3d:cylinderModel”样式,这样你的3D模型就高大上了!

var node = new ht.Node();
node.s({
    'shape3d': cylinderModel,
    'shape3d.color': color,
    '3d.movable': false
});
node.a({
    'myHeight': s3[1],
});
node.p3([p3[0], s3[1]/2, p3[2]]);
node.s3(s3);
dm.add(node);

外部透明节点与3D文字

cylinderModel = ht.Default.createCylinderModel(1000, 0, 1000, false, false, true, true);

让外面的“壳”和里面的节点一模一样?很简单,只要把”shape3d.transparent”设成真,再调调”shape3d.opacity”亮度就行了。想看看立体文字吗?先准备个JSON格式的字库文件,再用ht. Default. loadFontFace一弄,加载进去就能用!

动态变化与动画效果

你想让图里的数字动起来吗?用个小动画就搞定!关键是要确定3D文字里的数字保持实时更新,那就厉害了。作者巧妙利用“myHeight”这个自定义属性为数据找到了新家,让整张图活泼生动起来,用户体验瞬间提升!

var cNode = new ht.Node();
cNode.s({
    'shape3d': cylinderModel,
    'shape3d.transparent': true,
    'shape3d.opacity': 0.2,    
    'label.color': '#fff',
    '3d.movable': false
});
cNode.p3([p3[0], 50, p3[2]]);
cNode.s3(20, 100, 20);
dm.add(cNode);

结语与进一步探索

制作好看又实用的图表真的挺简单的呐!后面肯定还有好多好玩儿的事情等着你~有啥不懂的尽管提问,我们随时候着!别忘了去看看我们的官方使用手册HT for Web,里面肯定有你喜欢的那味儿!

ht.Default.loadFontFace('./wenquanyi.json', function(){
    //......
    var text = new ht.Node();
    text.s3([5, 5, 5]);
    text.p3(cNode.p3()[0]-5, -10, 0);
    dm.add(text);
    text.s({
        'shape3d' : 'text',
    'shape3d.text': node.a('myHeight')+'%',
    'shape3d.text.curveSegments': 1,
    '3d.movable': false
    });
});

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/04/13265.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?