锁定老帖子 主题:Java报表技术设计讨论:双Y轴的是与非
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-11-05
双Y轴的图表经常被很多BI或者报表厂家当成一个高级的功能。进而引导用户感到如果有两组数值在一个图表上同时显示,用两个Y轴来控制数据的位置是一个最佳的方案。但是其实在可视化的领域,对双Y轴的使用一直有很大的争议。大部分的观点是双Y轴的使用往往弊大于利。我们在此来对这个问题做一个大致的分析,看看双Y轴是不是真正需要。
把两组数据同时在一个图表上显示,自然是因为需要对它们进行有效比较。但这样可能会遇到两种问题。第一,如果两组数据的单位不同,那用一个Y轴来代表这两个不同的概念无疑会让读者困惑。比如我们把盈利和折扣率放在一个图表上,一个是绝对值,另一个是百分比。用一个轴来代表在概念上就完全错误了。
就算两组数据使用的是同样单位,但如果它们的值的区间差别很大,用同一个轴达到的效果往往是一直数据把难以组数据压缩到不能分辨的地步。比如营业额和盈利,可能是10比1的关系。把它们放到一起,营业额会决定Y轴的区间,盈利就会被压缩成基本一条直线。
下面是一个图表显示了销售额和网站访客数量的数据。因为数据间大小的巨大区别,访客数据基本上没有能够显示出任何有用的信息。
双轴的解决方案是把第二组数据使用第二个Y轴。在下图里,左面的Y轴只对应销售额。访客量是通过右边新加的第二个Y轴来定位。
我们在上图里采取了一些改进的措施。为了便于读者克服上面提到的困难,两个轴的颜色被分别设成了和数据图形一样的颜色。这样在一定程度上降低了数据和Y轴对应的难度。
我们继续来看看还有没有其它的解决方案。如果你使用的软件支持,有一种选择是把两组数据分别画在自己的图表,但把这两个图表并列排放,同时把相同的坐标轴共用。这样数据之间互不影响,读者也可以很好的比较数据的趋势。这个方案比起双轴还有不局限于两组数据的好处。
下图是用StyleScope对同样数据做的并列图表。 如果我们进一步分析双轴图表的需求,我们可以得出以下结论:
双轴图不能比较不同组数据之间的绝对值。因为它们是用的不同单位和刻度,不具可比性。唯一能够比较的是数据变化的趋势。因为把两组数据同时放在一个图上,我们可以比较它们变化的速度。但事实是否如此呢?我们来回顾一下双轴图的效果。
Steve Few对这个问题有一个很好的建议。最好的方法来回答这个问题是不画数据的绝对值,而是画出数据变化的百分比。这样不仅直接地表达了数据的变化率,不需要用户再来估算。同时又避免了使用两个Y轴的需要。因为所有的数据都变成了百分比,我们可以用同一个轴画任意多个数据组。
可以说,双轴的图表在绝大部分情况下是不需要的。它在解决一个问题的同时,也带来了自己新的问题。如果我们更好地分析需求,往往可以找到更好的方案。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-11-06
分析的极是! 如果对待需求仅仅停留在表面,只顾着图表的好看与否,不关心表达的意思是否清晰、正确,那么我们最终做出来的东西或研究出来的技术也只是垃圾一堆,因为它不可能转化成生产力。 尤其是做数据分析方面的朋友,搞明白需求是根本,只要表达出来了真实的需求,形式可以有多种选择,不必拘泥于漂亮的图表或其它外在的东西。
|
|
返回顶楼 | |
浏览 2548 次