geom_text 没有出现使用 scale_y_log10

geom_text does not appear using scale_y_log10

我可以使用 geom_text 将文本添加到 ggplot 中(例如使用汽车数据库):

ggplot(cars, aes(speed, dist), color='blue') + 
geom_point(size=0.8) + 
geom_text(y=25, x=5, aes(label=paste("sigma == 1"), size=1.5), 
    hjust=0, parse=TRUE, color='blue')

但是当我将 y 刻度更改为对数时,我无法让文本出现在图表上:

ggplot(cars, aes(speed, dist), color='blue') + 
geom_point(size=0.8) + 
geom_text(y=25, x=5, aes(label=paste("sigma == 1"), size=1.5), 
    hjust=0, parse=TRUE, color='blue') + 
scale_y_log10()

我试过改变文本大小和位置,但似乎无法实现。

这对我有用:

require(ggplot2)
g <- ggplot(cars, aes(speed, dist), color='blue')
g <- g + geom_point(size=0.8)
g <- g + geom_text(aes(y=25, x=5, label=paste("sigma == 1"), size=1.5), hjust=0, parse=TRUE, color='blue')
g <- g + scale_y_log10()
g

http://www.r-fiddle.org/#/fiddle?id=GVWg1dDO

这个效果更好:

ggplot(cars, aes(speed, dist), color='blue') + 
    geom_point(size=0.8) + 
    geom_text(y=2, x=5, aes(label=paste("sigma == 1"), size=1.5), 
        hjust=0, parse=TRUE, color='blue') + 
    scale_y_log10()

enter image description here

正常对数刻度:100 -> 2; 1000 -> 3; 0.1 -> -1; 0.01 -> -2