6

这是一个关于数据可视化表示的最佳实践以及如何在 R/ggplot2 中绘制图的问题。

我正在尝试找到一种以图形方式表示此处讲述的故事的方法:

“我们有 2000 个测试用例,其中 500 个有错误。经过调查,我们发现 400 个测试是 Big,1600 个是 Small;只有 25 个 Big 测试有错误,所以我们将它们放在一边,留下 1600 个 Small 测试,其中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")))

有了这么少量的数据,一个简单的数字表可能是最好的选择;让我们假设故事继续下去,使用越来越多的分离类别,因此简单地列出数字并不是最佳选择。

什么是表示这些数据的好方法?我能想到几种可能:

四种可能的图:饼图、条形图、带路径的条形图、带路径的水平条形图

  1. 饼图,显示被拿走的饼片,以及剩余部分的错误分解/没有错误
  2. 条形图,类似
  3. 带有丝带的条形图显示了分离类别的“流程”,如米纳德的拿破仑进军图表
  4. 类似,但条形图水平而不是垂直显示分数

所有四种方法都显示测试用例的绝对数量减少,以及分离类别中的错误比例以及剩余的错误。我想我最喜欢#4,但我有一个开放的心态。

这种数据应该如何表示,可以用R/ggplot2来表示吗?

4

1 回答 1

0

记住绘制图形时应该对齐的 3 件事;你要告诉你的信息,数据告诉你的信息和图表告诉你的信息。在我看来,您的选项 4 是始终如一地传达信息的最佳选项。

我也通过完全消除达到了第 4 位:;)

列不适合,因为您将垂直表示与水平流相结合,比较饼图也不容易(即使在饼图中,也很难比较不同的部分),因此它们也不是一种选择。确实留给您选项 4 :)

你也可以试试桑基图。R中的桑基图?可能会有所帮助

于 2013-06-11T13:46:39.717 回答