利用深度学习实现手绘数据可视化的生成

个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 

前一段时间,我开发了Sketchify, 该工具可以把任何以SVG为渲染技术的可视化转化为手绘风格。(参考手绘风格的数据可视化实现 Sketchify

那么问题来了,很多的chart是以Canvas为渲染技术的,那要怎么办?

我拍脑袋一想,为什么不使用深度学习技术来做呢?

原理很简单:

  • 首先用相同的数据分别生成原始的和手绘风格的数据可视化图数据。
  • 然后利用深度神经网络,使用该数据训练一个模式,输入是数据图,输出的手绘风格的图。这样就可以训练一个生成手绘风格数据可视化的神经网络了。
  • 然后对于任何新的数据图,输入该网络就可以输出一个手绘风格的图。

这听起来就像如何把大象放到冰箱里一样的简单直接。

废话少说,开始干。

准备数据

数据准备要生成一定数量的原始图和手绘图,利用Sketchify就可以完成功能,但是具体如何做到?参考如下架构:

  • VizServer是一个web服务,用nodejs开发,代码在这里https://github.com/gangtao/handyModel/tree/master/vizService
    VizServer使用restify提供RestAPI接口,利用squirrelly.js的模版引擎生成一个包含可视化的Html页面。模版如下:
    <!doctype html>
    <html>
      <head>
        <title>{
        {sketchify}}</title>
        <meta charset="UTF-8">
    
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/rough.js/3.1.0/rough.js"></script>
        <script src="https://gw.alipayobjects.com/os/lib/antv/g2/3.4.10/dist/g2.min.js"></script>
        <script src="https://gw.alipayobjects.com/os/antv/pkg/_antv.data-set-0.10.1/dist/data-set.min.js"></script>
        <script src="https://cdn.jsdelivr.net/gh/gangtao/sketchify/dist/sketchify.min.js"></script>
        
      </head>
      <body>
          <div id="chart" style="height: 400px; width: 600px"></div>
      </body>
      <script>
        $(function() {
          var data = {
        {dataset| safe}};
          var chart = new G2.Chart({
              container: 'chart',
              forceFit: true,
              height: 400,
              animate: false,
              renderer: 'svg'
          });
          chart.source(data);
          chart.scale('sales', 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值