如何使用 ggplot2 在特定位置的热图上添加新的 y 轴标签

How to add new y axis label on heatmap at specific location using ggplot2

我正在尝试使用 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])

我要做的和下图差不多

使用 ggplot2 中的 scale_x_continuousaxis 函数旨在与基本图形的 plot 函数一起使用。 ggplot 做你想做的事情的方式如下:

数据 <- 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