可视化河流图基础要点

原创 2015年11月21日 16:47:13

可视化的总体目标:

  1. 易读性 Legibility
  2. 美观性 Aesthetics

堆图设计的四个重要组成部分:

  1. 整体轮廓
  2. 层的顺序
  3. 标签
  4. 颜色选择

轮廓设计:

      

     g0是堆图底部的坐标。gi是第i层顶部的坐标。fj是第j层的厚度。

     为了美观等各方面因素,g0不能直接x轴为基准。

     以下是更为科学的g0的计算公式(weighted_wiggle算法)

    

      该算法的目的是在让每个层尽量少地出现“扭动”的情况。

颜色设计:

     颜色方案的选择与数据密切相关。

     几点设计思路:

  1. 色相可以用来表示类别等信息。
  2. 色彩的选择应该贴近自然界的色彩,使得更加美观。
  3. 可以通过循环mapping的方式来保证层的区分。

标签设计:

  • 标签是为了承载更多光凭图无法表的信息而存在的
  • 对于热门的数据,即宽度足够的数据,可以直接加上一些基本的标签
  • 当鼠标放在某个层上时,要能够显示该层的信息。还可以加上点击跳转

层的排序:

 基本思路:

  • 我们将最开始就出现的数据放在图的中间,之后出现新的数据的时候,将这些层依次放在图的顶部和底部。
  • 为了避免某个放在顶部的数据宽度明显大于放在底部的数据(或者相反)而导致图的扭曲,需要有一种算法来判断放在顶部还是底部。
  • 具体算法如下:
    • 将所有数据按照出现顺序排序。
    • 设置一个初始列表,将之前的数据按照顺序加入该列表的头部或者尾部,判断的依据为:
      • 计算在该数据出现的时间节点上,前一半列表中项目值和的大小,以及列表中所有项目的值的和的一半。
      • 比较两者值的大小,如果前者大,则将新的数据放在列表的尾部。
      • 否则放在头部。

reference:Stacked Graphs - Geometry & Aesthetics by Lee Byron & Martin & Wattenberg
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

可视化基础

优秀的数据可视化五点建议 对内容背景有透彻的理解,了解谁是观众以及他们需要什么,之后再思考如何呈现数据 以何种可视化的呈现方式能够让观众更直观、轻松的理解,处理数据 去删除那些不会为图像增加信息价值的...

学习可视化基础库笔记

一.相关知识: AMD规范:异步模块定义(Asynchronous Module Definition),它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都...

可视化1 MFC程序设计基础

  • 2015-12-08 19:28
  • 1.95MB
  • 下载

java学习应用:可视化窗口模拟基础聊天窗口(模仿QQ)

最近在由于学校有个机器人大赛,所以举办方进行了几节java的教学,接下来算是我对最近一些学习的总结,记录一下,有待提高! 一、java可视化窗口JFrame的简单运用,先看看一些简单的效果(真的很基...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)