可视化河流图基础要点

原创 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

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

最近在由于学校有个机器人大赛,所以举办方进行了几节java的教学,接下来算是我对最近一些学习的总结,记录一下,有待提高! 一、java可视化窗口JFrame的简单运用,先看看一些简单的效果(真的很基...
  • TheHide
  • TheHide
  • 2015年10月31日 22:49
  • 3120

实验一 可视化程序设计基础.doc

  • 2013年04月03日 00:09
  • 684KB
  • 下载

可视化1 MFC程序设计基础

  • 2015年12月08日 19:28
  • 1.95MB
  • 下载

《OurwayBI基础入门系列--学会数据快速可视化》开课啦 !

可视化(Visualization)是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,再进行交互处理的理论、方法和技术。想要熟练掌握一个可视化工具,了解其框架介绍,学习其使用方...

数据可视化基础

  • 2017年06月20日 13:43
  • 7.23MB
  • 下载

Python高级可视化库seaborn回归分析(基础整理)

探索变量间的关系两个变量:lmplot,绘制回归模型(1.1)两个维度数据都是连续的:散点图 + 线性回归 + 95%置信区间 (1.2)一个维度数据是连续的,一个维度数据是离散的,连续轴抖动x_j...
  • cymy001
  • cymy001
  • 2017年11月02日 01:53
  • 78

VB可视化编程基础

  • 2014年12月14日 21:52
  • 614KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:可视化河流图基础要点
举报原因:
原因补充:

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