js image 获取rgb_ECharts 3d散点图 绘制rgb颜色空间

最近可能会用ECharts做图表, 看到3d点图这个功能想到之前用python做的东西, 绘制rgb颜色空间, 不过由于python的性能实在有点不敢恭维, 效果比较差, 于是想着用ECharts试试.

效果如下:
点击体验: rgb 颜色空间

436fbc5f93fb28fd37a879b80f890a06.png
rgb颜色空间可视化https://www.zhihu.com/video/1137820192334786560

效果比起python那种肉眼可见的延迟简直流畅的发指啊

话不多少直接上代码

由于官方网站给的例子相当复杂, 在这里我们对其进行简化处理

先画几个点: 点击体验: 三个点效果

<!DOCTYPE html>
<html style="height: 100%">
<head>
  <meta charset="utf-8">
</head>
<body style="height: 100%; margin: 0">
<div id="container" style="height: 100%"></div>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts-gl/echarts-gl.min.js"></script>
<script type="text/javascript">
  let dom = document.getElementById("container");
  let myChart = echarts.init(dom);
  let data = [
    [1, 2, 3, null, 'a'],
    [3, 1, 2, null, 'b'],
    [2, 1, 3, null, 'c'],
  ]
  let option = {
    grid3D: {},
    xAxis3D: {},
    yAxis3D: {},
    zAxis3D: {},
    series: [
      {
        type: 'scatter3D',
        data: data,
        color: data => {
          console.log(data)
          return data.data[0] > 1 ? "red" : 'blue'
        }
      }
    ]
  };

  myChart.setOption(option, true);
</script>
</body>
</html>

12b6a9caac97c363c6e31d9613d508d8.png

图片上的点在鼠标悬浮时会显示信息, 而且按照我们所给的函数计算出了每个点的颜色值

打出的log如下

cbe5d7baedd8ee6320b750575fa63d87.png

游戏~对于rgb颜色空间来说就是一个立方体, 直接就是三个循环一把梭, 功能相对简单, 看注释就能看明白吧

完整代码: github

需要换4.2.1版本, 4.8.0api不兼容会全部黑色

d7d0c049ca3a5b54cd7d50a05a5e359f.png

f2e029a23e7fb7e161b40887ae252315.png
<!DOCTYPE html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值