当它在for循环中被抽象时,显然类似的代码会产生不同的结果。
这是两种选择共同的标题代码:
library(ggplot2)
library(gridExtra)
# factor common plot format elements
o2b <- colorRampPalette(c("brown", "orange"))(4)
textsize=8
pt <- theme(panel.grid.major=element_blank(), panel.grid.minor=element_blank(),
panel.background=element_blank(), panel.border=element_blank(),
plot.title=element_blank(), plot.margin = unit(c(5.5,12,5.5,5.5), "pt"),
legend.background=element_blank(), legend.key=element_blank(), legend.position=c(1,1),
legend.justification=c(1,1), legend.text=element_text(size=textsize), legend.title=element_text(size=textsize),
axis.line=element_line(colour="black"), axis.text=element_text(size=textsize, colour="black"),
axis.title=element_text(size=textsize))
1)这是没有for循环的代码:
# fill list of plots of 4 scatterplot rank-size distributions
p <- list()
# each plot differs by setting x values for all scatterplots to the value of x in one of the scatterplots, by turn
p[[1]] <-ggplot(temp1, aes(x=rep(rank[naics_level==2], 4), y=rhh, colour=factor(naics_level))) + pt +
geom_point(shape=1, size=1) + scale_color_manual(values=o2b) +
guides(colour = guide_legend(title="Niveau de NAICS", title.position = "left", reverse=T)) +
labs(x="Rang des MSA", y="Diversité sectorielle basée sur l'emploi en 2015")
p[[2]] <-ggplot(temp1, aes(x=rep(rank[naics_level==3], 4), y=rhh, colour=factor(naics_level))) + pt +
geom_point(shape=1, size=1) + scale_color_manual(values=o2b) +
guides(colour = guide_legend(title="Niveau de NAICS", title.position = "left", reverse=T)) +
labs(x="Rang des MSA", y="Diversité sectorielle basée sur l'emploi en 2015")
p[[3]] <-ggplot(temp1, aes(x=rep(rank[naics_level==4], 4), y=rhh, colour=factor(naics_level))) + pt +
geom_point(shape=1, size=1) + scale_color_manual(values=o2b) +
guides(colour = guide_legend(title="Niveau de NAICS", title.position = "left", reverse=T)) +
labs(x="Rang des MSA", y="Diversité sectorielle basée sur l'emploi en 2015")
p[[4]] <-ggplot(temp1, aes(x=rep(rank[naics_level==5], 4), y=rhh, colour=factor(naics_level))) + pt +
geom_point(shape=1, size=1) + scale_color_manual(values=o2b) +
guides(colour = guide_legend(title="Niveau de NAICS", title.position = "left", reverse=T)) +
labs(x="Rang des MSA", y="Diversité sectorielle basée sur l'emploi en 2015")
library(gridExtra)
grid.arrange(grobs=p, nrow=2)
导致:
2)这与for循环中的代码相同:
p <- list()
for (n in 1:4) {
p[[n]] <- ggplot(temp1, aes(x=rep(rank[naics_level==n+1], 4), y=rhh, colour=factor(naics_level))) + pt +
geom_point(shape=1, size=1) + scale_color_manual(values=o2b) +
guides(colour = guide_legend(title="Niveau de NAICS", title.position = "left", reverse=T)) +
labs(x="Rang des MSA", y="Diversité sectorielle basée sur l'emploi en 2015")
}
grid.arrange(grobs=p, nrow=2)
导致:
这一次,所有图都是第一种方法获得的第四幅图的副本。我哪里错了?