【问题标题】:Drawing a plot to represent successive separation into categories (R, ggplot2) [closed]绘制一个图来表示连续的分类(R,ggplot2)[关闭]
【发布时间】: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")))

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

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

  1. 饼图,显示被拿走的饼图,以及剩余部分的错误细分/无错误
  2. 条形图,类似
  3. 带条形图的条形图显示了分离类别的“流程”,例如Minard's chart of Napoleon's march
  4. 类似,但条形图水平而不是垂直显示分数

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

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

【问题讨论】:

  • 查看包'vcd'。但这就是说,我认为这对 SO 来说不是一个好问题。
  • 我认为这是一个有趣的问题,但我同意这对于 StackOverflow 来说可能有点过于开放。 CrossValidated 有时也欢迎比编程相关的更具概念性的数据可视化问题。不过,为了确定,我可能会在聊天或其他东西中问那里。
  • 是的,一旦你知道你想要什么样的可视化,如果你对代码有困难,就把它带回来
  • +1 可爱的手绘图片。但是同意其他人的观点——太模糊了,因为没有机会帮助编写代码。

标签: r ggplot2 data-visualization


【解决方案1】:

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

我也通过完全消除获得了第 4 位:;)

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

您也可以尝试使用桑基图。 Sankey Diagrams in R? 可能会有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    相关资源
    最近更新 更多