【发布时间】:2020-05-11 06:44:01
【问题描述】:
我正在处理以下网球数据:
library(ggplot2)
library(ggthemes)
library(grid)
library(gridExtra)
library(gtable)
Year<-c(1999:2020)
Player <- rep("Federer",22)
Rank<- c("Q1","3R","3R","4R","4R","W","SF","W","W","SF","F","W","SF","SF","SF","SF","3R",
"SF","W","W","4R","SF")
Fre<-c("1R","4R","QF","1R","1R","3R","SF","F","F","F","W","QF","F","SF","QF","4R","QF",
"A","A","A","SF","NH")
Wim<-c("1R","1R","QF","1R","W","W","W","W","W","F","W","QF","QF","W","2R","F","F","SF",
"W","QF","F","NH")
US<-c("Q2","3R","4R","4R","4R","W","W","W","W","W","F","SF","SF","QF","4R","SF","F",
"A","QF","4R","QF","NH")
data <- data.frame(Year, Player, Rank, Fre, Wim,US)
data$Rank <- factor(data$Rank, levels = c("3R","4R","Q1","SF","F","W"))
data$Wim <- factor(data$Wim, levels = c("NH","1R","QF","SF","F","W"))
data$Fre <- factor(data$Fre, levels = c("NH","A","1R","3R","4R","Q1","QF","SF","F","W"))
data$US <- factor(data$US, levels = c("NH","A","3R","4R","Q1","Q2","QF","SF","F","W"))
我想像使用 Rank 一样可视化分类变量 Wim、Fre 和 US,但使用 geom_tile 函数在同一个图中。
只有 Rank 变量的图是这样的:
我用于上一个情节的命令是:
ggplot(data,aes(x=factor(Year),y=Player,fill=Rank)) +
geom_tile(aes(fill=Rank),color="black", width=0.9,height=0.4) +
scale_fill_manual(values=c("cornflowerblue","cyan2","aquamarine1","green",
"cyan4","yellow"))+
theme(axis.text.y = element_text(color="black", size=8, face="bold"),
panel.background = element_rect(fill="white"))+
xlab("Years")+ylab("Tournament")+coord_flip()+ theme_bw()
我想要做的是将另外三个图表放在旁边的同一个图中,其余三个变量和级别的相同颜色加上一些未出现在 Rank 变量中的级别的更多颜色。
我尝试在我的代码中再添加三行,如下所示,但它不起作用。
ggplot(data,aes(x=factor(Year),y=Player,fill=Rank)) +
geom_tile(aes(fill=Rank),color="black", width=0.9,height=0.4) +
geom_tile(aes(fill=Fre),color="black", width=0.9,height=0.4) +
geom_tile(aes(fill=Wim),color="black", width=0.9,height=0.4) +
geom_tile(aes(fill=US),color="black", width=0.9,height=0.4) +
scale_fill_manual(values=c("cornflowerblue","cyan2","aquamarine1",
"green","cyan4","yellow"))+
theme(axis.text.y = element_text(color="black", size=8,
face="bold"),
panel.background = element_rect(fill="white"))+
xlab("Years")+ylab("Tournament")+coord_flip()+ theme_bw()
【问题讨论】: