gpt4 book ai didi

r - 在ggplot2中为每个facet_wrap网格放置一个图例

转载 作者:行者123 更新时间:2023-12-03 10:33:44 24 4
gpt4 key购买 nike

我有这个数据框:

        Date Server FileSystem PercentUsed
1 12/1/2011 A / 60
2 1/2/2012 A /var 50
3 2/1/2012 A tmp 90
4 2/10/2012 A /db 86
5 2/13/2012 A /app 90
6 12/1/2011 B C: 67
7 1/2/2012 B D: 67
8 2/1/2012 B F: 34
9 2/10/2012 B /restore 89
10 2/13/2012 B G: 56
11 12/1/2011 C / 90
12 1/2/2012 C /tmp 78
13 2/1/2012 C /data 67
14 2/10/2012 C /Storage 34
15 2/13/2012 C /database 12

dput(x)
structure(list(Date = structure(c(2L, 1L, 3L, 4L, 5L, 2L, 1L,
3L, 4L, 5L, 2L, 1L, 3L, 4L, 5L), .Label = c("1/2/2012", "12/1/2011",
"2/1/2012", "2/10/2012", "2/13/2012"), class = "factor"), Server = structure(c(1L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L), .Label = c("A",
"B", "C"), class = "factor"), FileSystem = structure(c(1L, 9L,
14L, 5L, 2L, 10L, 11L, 12L, 6L, 13L, 1L, 8L, 3L, 7L, 4L), .Label = c("/",
"/app", "/data", "/database", "/db", "/restore", "/Storage",
"/tmp", "/var", "C:", "D:", "F:", "G:", "tmp"), class = "factor"),
PercentUsed = c(60L, 50L, 90L, 86L, 90L, 67L, 67L, 34L, 89L,
56L, 90L, 78L, 67L, 34L, 12L)), .Names = c("Date", "Server",
"FileSystem", "PercentUsed"), class = "data.frame", row.names = c(NA,
-15L))

我想在每个 facet_wrap网格(它自己的 FileSystem)旁边放置一个图例:

当我这样做时,它将图例放在所有 FileSystem的图的一侧。是否可以将属于每个服务器的 FileSystem放在每个网格旁边?
ggplot(x, aes(Date, PercentUsed, group=1, colour=FileSystem)) + 
geom_jitter(size=0.5) + geom_smooth(method="loess", se=T) +
facet_wrap(~Server, ncol=1)

最佳答案

嗯,@ joran击败了我(我的gridExtra已过时,但花了我10分钟才意识到)。这是一个类似的解决方案,但是该解决方案通常按Server中的级别来区分猫。

library(gridExtra)
out <- by(data = x, INDICES = x$Server, FUN = function(m) {
m <- droplevels(m)
m <- ggplot(m, aes(Date, PercentUsed, group=1, colour = FileSystem)) +
geom_jitter(size=2) + geom_smooth(method="loess", se=T)
})
do.call(grid.arrange, out)

# If you want to supply the parameters to grid.arrange
do.call(grid.arrange, c(out, ncol=3))

关于r - 在ggplot2中为每个facet_wrap网格放置一个图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com