箱形图和绘图点并排在R ggspot2中

时间:2018-06-11 21:02:44

标签: r ggplot2

所以我有一个数据集(下面的输出),我的目标是将boxplot和绘图并排。 (见下图)

systemctl status firewalld   
systemctl disable firewalld   
systemctl stop firewalld   
systemctl status firewalld

例如,使用此数据集,c3将有一个True的箱形图,但在其右侧,绘制点为False。

Diagram of eventual output

输出输出:

library(tidyverse)
DataSet <- read.csv("filelocation")
ggplot(data = DataSet, 
   aes(x = id,
       y = result)) + 
geom_boxplot(aes(color = live)) +
facet_wrap( ~ resource, scales = "free_y")

我还希望能够用分界线分组,如图所示。我已经阅读了一些R资源,但没有看到任何暗示它可以完成。

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,您希望使用方框图来显示TRUE值,并指向显示(少数)FALSE值,并且您想要将它们分开根据{{​​1}}

我将使用您当前在问题中显示的数据,@ Richard Telford已经清理过了。

使用facet_wrap()

我们将使用resource将您的数据拆分为subset()的值。使用方框图绘制live行,并使用点绘制TRUE行。我分别为每个组使用了绿色和红色,但您可能想要更改它。

FALSE

using facet_wrap

没有facet_wrap()

根据您设置网格的ggplot() + geom_boxplot(data = subset(cleanData, live == 't'), aes(x = id, y = result, group = resource), color = 'green') + geom_point(data = subset(cleanData, live == 'f'), aes(x = id, y = result), color = 'red', size = 3) + facet_wrap( ~ resource, scales = 'fixed') + scale_x_continuous(breaks = c(101:109), minor_breaks = NULL) 的方式,您可能会得到大量的空白空间(就像我们在上图中所做的那样)。下面的代码不使用scales,而是使用带有垂直线的单个绘图,该垂直线大致划分facet_wrap()变量的ab值。

resource

same plot

希望这能让你准确地计算出你想要的东西。