自定义轴标签

我有一个简单的geom_point图,其中xvariables是序数,取5个值(编码为1:5)。

在图中,我想用5个相应的文本标签replace它。 有没有可能在ggplot中做到这一点?

你应该可以用scale_x_discrete来做到这scale_x_discrete

 library(ggplot2) df <- data.frame(x = 1:5, y = sample(1:10, 5, TRUE)) qplot(factor(x),y, data = df) + scale_x_discrete(breaks = 1:5, labels=c("foo","bar","baz","phi","fum")) + xlab(NULL) 

scale_x_discrete应该这样做:

 x <- sample(1:5, 20, T) y <- rnorm(20) + x df <- data.frame(x = ordered(x), y = y) ggplot(df,aes(x,y)) + geom_point() + scale_x_discrete(breaks = 1:5, labels = letters[1:5]) 

这里是一个可重复的例子,我认为封装你的Q(?):

 require(ggplot2) dat <- data.frame(X = sample(1:5, 100, replace = TRUE), Y = rnorm(100)) 

目前还不清楚你有什么数据,但如果你的意思是这样的话:

 (p1 <- ggplot(dat, aes(x = X, y = Y)) + geom_point()) 

那么我想你想要一个带状图,这可以通过一个因素在ggplot中实现

 dat2 <- within(dat, X <- factor(X, labels = letters[1:5])) (p2 <- ggplot(dat2, aes(x = X, y = Y)) + geom_point()) 

如果这不是你的意思,你可以编辑你的Q来提供一个例子吗?