我有一个不错的图表(下面是图表#1),但是我想把x轴刻度标签改为“Group 1”,“Group 2”,等等,而不是“1”,“2”等。我试过通过指定新标签(图表#2)或将x.df中的分组变量从数字更改为字符字符串/因子(图表#3和#4)来实现这一点。然而,标签要么消失了(图表#2),要么图表变得奇怪(图表#3和#4)。有什么建议吗?
library(ggplot2)
grp<-c(1,1,1,1,1,1,2,2,2,3,3,3,3,3,3,4,4,4,4,4)
rate<-c(6,7,8,9,6,7,8,9,6,7,8,9,6,7,8,9,6,7,8,9)
x.df<-data.frame(cbind(grp,rate))
x.df$rate<-as.factor(x.df$rate)
table(x.df$grp,x.df$rate)
# Plot #1 : Correct
ggplot(data = x.df, aes(x = grp, y = ..prop.., fill = rate))+
geom_bar(stat = 'count', position = 'dodge')+
xlab('Group')+
ylab('%')
# Plot #2 : Correct but NO x-axis tick labels
ggplot(data = x.df, aes(x = grp, y = ..prop.., fill = rate))+
geom_bar(stat = 'count', position = 'dodge')+
xlab('Group')+
ylab('%')+
scale_x_discrete(breaks=1:4,
labels=c("Group 1","Group 2","Group 3","Group 4"))
x.df$grp<-paste("Group",as.character(x.df$grp))
# Plot #3 : Incorrect graph but correct x-axis tick labels OK
ggplot(data = x.df, aes(x = grp, y = ..prop.., fill = rate))+
geom_bar(stat = 'count', position = 'dodge')+
xlab('Group')+
ylab('%')
x.df$grp<-as.factor(x.df$grp)
#Plot #4 : as Plot #3
ggplot(data = x.df, aes(x = grp, y = ..prop.., fill = rate))+
geom_bar(stat = 'count', position = 'dodge')+
xlab('Group')+
ylab('%')