使用scale_y_log10不会出现geom_text

时间:2015-01-09 11:47:43

标签: r text ggplot2 geom-text

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

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()

我尝试过改变文字大小和位置,但似乎无法获得它。

2 个答案:

答案 0 :(得分:2)

这对我有用:

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

答案 1 :(得分:0)

效果更好:

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