【发布时间】:2013-06-06 12:47:50
【问题描述】:
这是一个关于数据可视化表示的最佳实践以及如何在 R/ggplot2 中绘制图的问题。
我正在尝试找到一种方法来以图形方式表示这里讲述的故事:
“我们有 2000 个测试用例,其中 500 个有错误。经过调查,我们发现有 400 个大测试,1600 个小测试;大测试只有 25 个有错误,所以我们把它们放在一边,留下 1600 个小测试,其中有 475 个有错误,然后我们发现小测试中有 400 个是顺时针,1200 个是逆时针;小顺时针测试只有 20 个有错误,所以我们把它们放在一边,留下 1200 个小逆时针测试,其中 455 有错误。”
换句话说,我正在使用类别来分隔我的测试用例,并且我想表示每个类别中的错误比例如何随着我的进度而变化。
这是一些带有数据的 R:
tests <- data.frame(n.all=c(2000,400,1600,400,1200),n.err=c(500,25,475,20,455),sep.1=as.factor(c("all","Big","Small","Small","Small")),sep.2=as.factor(c("all","all","all","Clockwise","Counter-Clockwise")))
对于这么少量的数据,一个简单的数字表可能是最好的选择;让我们假设故事继续下去,使用越来越多的分离类别,因此简单地列出数字并不是最佳选择。
什么是表示这些数据的好方法?我能想到几种可能:
- 饼图,显示被拿走的饼图,以及剩余部分的错误细分/无错误
- 条形图,类似
- 带条形图的条形图显示了分离类别的“流程”,例如Minard's chart of Napoleon's march
- 类似,但条形图水平而不是垂直显示分数
所有四种方法都显示测试用例的绝对数量在减少,并且在分离的类别中的错误比例以及剩余的错误。我认为我最喜欢#4,但我有一个开放的心态。
这种数据应该如何表示,可以用R/ggplot2来表示吗?
【问题讨论】:
-
查看包'vcd'。但这就是说,我认为这对 SO 来说不是一个好问题。
-
我认为这是一个有趣的问题,但我同意这对于 StackOverflow 来说可能有点过于开放。 CrossValidated 有时也欢迎比编程相关的更具概念性的数据可视化问题。不过,为了确定,我可能会在聊天或其他东西中问那里。
-
是的,一旦你知道你想要什么样的可视化,如果你对代码有困难,就把它带回来
-
+1 可爱的手绘图片。但是同意其他人的观点——太模糊了,因为没有机会帮助编写代码。
标签: r ggplot2 data-visualization