Sadece ggplot olsun, R için yeniyim, bu yüzden aşağıdaki örnekle ilgili herhangi bir sorun için şimdiden özür dilerim.Kombine ggplot'taki lejant konumu
Mevcut sorulardan örnekler kullanarak, iki ayrı ggplots'u birleştirmek için kodu bir araya getirmeye çalıştım. Son arsanın efsanesini, grafiğin üzerinde bulunacak şekilde nasıl değiştirebileceğimi merak ediyorum. Bireysel ggplots için legend.postion'u "top" olarak değiştirmeyi denedim, ancak işe yaramıyor.
'
library(ggplot2)
library(gtable)
library(reshape2)
library(grid)
library(scales)
df.test <- data.frame(
x_cat = factor(c(1, 2, 3, 4)),
count = seq(1:4),
line1 = seq(from = 1, to = 4, length.out = 4),
line2 = seq(from = 0, to = 3, length.out = 4)
)
p1 <- ggplot(data = df.test , aes(x=x_cat, y=count)) +
geom_bar(stat="identity") +
xlab("X Label") +
ylab("Y Label 1") +
theme(panel.background = element_rect(colour = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position = "bottom")
g1 <- ggplotGrob(p1)
df.test2 <- melt(df.test[-2])
p2 <- ggplot(data = df.test2 , aes(x=x_cat, y=value, colour=variable)) +
geom_line(aes(group=variable)) +
ylab("Y Label 2") +
theme(panel.background = element_rect(fill = NA, colour = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position = "bottom")
g2 <- ggplotGrob(p2)
pp <- c(subset(g1$layout, name == "panel", se = t:r))
g <- gtable_add_grob(g1, g2$grobs[[which(g2$layout$name == "panel")]], pp$t, pp$l, pp$b, pp$l)
pp <- c(subset(g2$layout, name == "guide-box", se = t:r))
g <- gtable_add_grob(g, g2$grobs[[which(g2$layout$name == "guide-box")]], t=pp$t, l=pp$l, b=pp$b, r=pp$r)
grid.draw(g)
Grafikleri birleştirmek önemsizdir. Bazı örnekler için buraya bir göz atın: https://www.stat.auckland.ac.nz/~paul/RGraphics/chapter3.html –
Bu yaklaşımı başarıyla kullandım: http://www.cookbook-r.com/Graphs/Multiple_graphs_on_one_page_ (ggplot2)/ –
Bu siteyi de faydalı bulabilirsiniz: http://r-statistics.co/ggplot2-cheatsheet.html#Change%20legend%20position – NajlaBioinfo