我正在尝试使用ggplot2在热图上添加新标签。 我成功地使用
删除了y轴标签theme(axis.title.y=element_blank(),axis.text.y=element_blank(),axis.line=element_blank(),
axis.ticks.y=element_blank(),axis.title.x=element_blank())
我尝试输入axis命令在热图上添加新标签。
axis(4,at=c(2,3,7,9,10), labels=c(a,b,c,d,e))
但是,它显示错误消息。
Error in axis(2, labels = c(1:22, "X", "Y"), at = c(1:24)) :
plot.new has not been called yet
如何更换旧标签并在y轴的特定位置制作新标签? 我希望在y轴上显示分类信息。
这是我的原始代码
data <- data.frame(x=1:10, y=rnorm(10))
p <- ggplot(data, aes(x,y))
p + geom_point(aes(size=y)) + theme(axis.title.y=element_blank(),
axis.text.y=element_blank(),axis.line=element_blank(),
axis.ticks.y=element_blank(),axis.title.x=element_blank())
axis(4,at=1:10, labels=letters[1:10])
我想做的是类似于下图。
答案 0 :(得分:1)
使用scale_x_continuous
中的ggplot2
。 axis
函数旨在与基本图形的plot
函数一起使用。做你想做的ggplot方式如下:
数据&lt; - data.frame(x = 1:10,y = rnorm(10))
#Make y axis breaks
ybrks <- seq(from=min(data$y), to=max(data$y), length.out=10)
#Make y axis labels
ylabs <- letters[1:10]
p <- ggplot(data, aes(x,y)) + geom_point(aes(size=y)) +
theme(axis.title.y=element_blank(),
axis.title.x=element_blank()) +
scale_y_continuous(breaks=ybrks, labels=ylabs)
p
请务必核对?scale_y_continous