连续刻度箱线图的 ggplot 多因素分组
ggplot multi-factor-level grouping for boxplot with continuous scale
我正在尝试创建以下数据的箱线图
Temp<-rnorm(90,mean=100,sd=10)
Yr<-sample(c("1999","2000","2005","2009","2010"),size=90,replace=TRUE)
Month<-sample(c("June","July","August"),size=90,replace=TRUE)
Month
df<-data.frame(Temp,Month,Yr)
我想要的视觉效果和对应的代码如下:
ggplot(df,aes(x=interaction(Month,Yr),y=Temp,fill=Month))+
geom_boxplot()+
xlab("Year")+
ylab("Daily Maximum Temperature")
不过,您会注意到数据中缺少几年,我正试图让绘图反映出 x 尺度上的差距。另一个问题是轴上的文本和刻度线。我希望滴答只是观察年而不是 Month.Year 因为月份已经编码在填充中。我试过 scale_x_discrete,但尝试为连续轴提供离散值会吐出一个空白图形和一个错误。我已经满足了我对当天计算机配额的誓言,如果能在这方面得到一点帮助真的很棒。
这造成了巨大的差距,因为每年都有自己的差距,但您可以通过仅将特定年份作为水平参数传递给 factor() 调用来调整这一点。
df$Yr <- factor(df$Yr, levels=1999:2010)
ggplot(df,aes(x=Yr,y=Temp,fill=Month))+
geom_boxplot(position=position_dodge(1))+
ylab("Daily Maximum Temperature") +
scale_x_discrete("Year", drop=FALSE)
我正在尝试创建以下数据的箱线图
Temp<-rnorm(90,mean=100,sd=10)
Yr<-sample(c("1999","2000","2005","2009","2010"),size=90,replace=TRUE)
Month<-sample(c("June","July","August"),size=90,replace=TRUE)
Month
df<-data.frame(Temp,Month,Yr)
我想要的视觉效果和对应的代码如下:
ggplot(df,aes(x=interaction(Month,Yr),y=Temp,fill=Month))+
geom_boxplot()+
xlab("Year")+
ylab("Daily Maximum Temperature")
不过,您会注意到数据中缺少几年,我正试图让绘图反映出 x 尺度上的差距。另一个问题是轴上的文本和刻度线。我希望滴答只是观察年而不是 Month.Year 因为月份已经编码在填充中。我试过 scale_x_discrete,但尝试为连续轴提供离散值会吐出一个空白图形和一个错误。我已经满足了我对当天计算机配额的誓言,如果能在这方面得到一点帮助真的很棒。
这造成了巨大的差距,因为每年都有自己的差距,但您可以通过仅将特定年份作为水平参数传递给 factor() 调用来调整这一点。
df$Yr <- factor(df$Yr, levels=1999:2010)
ggplot(df,aes(x=Yr,y=Temp,fill=Month))+
geom_boxplot(position=position_dodge(1))+
ylab("Daily Maximum Temperature") +
scale_x_discrete("Year", drop=FALSE)