2012-07-20 176 views
2

我使用GGPLOT2來繪製出geom_ribbon的禮貌上限和下限一個很好的線圖 - 見下:自定義y軸標籤在GGPLOT2與數轉換座標

ggplot(data = inflow, aes(x = tt, y = inflow.mean)) + geom_line(size = 1) + 
geom_ribbon(eb, alpha = 0.5) + coord_trans(y = "log") 

可能有人請指教我怎麼能讓y軸標籤看起來更漂亮?

我想表明:0, 1, 10, 100

注:在搜索互聯網,它會出現,對於geom_ribbon,coord_trans必須使用具有對數刻度。

+1

您不提供您的問題的工作示例,也不是說明了缺乏工作示例的圖片。但無論如何:'coord_trans(y =「log10」)'如何解決?或'scale_y_log10()'而不是coord_trans?還要注意:「轉換尺度和轉換座標系的不同之處在於尺度轉換髮生在統計之前,並在之後進行座標轉換。」 (來自coord_trans文檔)。 – ROLO 2012-07-20 10:19:01

+0

你有看看[這個答案](http://stackoverflow.com/a/9223257/893243?)。你也可以用'log(inflow.mean)'包裝'inflow.mean'。如果這不能解決您的問題,您將不得不提供有關您的數據的更多信息。 – 2012-07-20 10:25:40

+0

謝謝大家。我從那以後找到了一個有效的解決方案。 Jase_ - 我按照你的建議封裝了我的變量,並使用我自己的包裝的y軸標籤:lab < - log(c(0.01,1.01,5.01,10.01,20.01,50.01)) names < - c(0,1,5, (data = inflow,aes(x = tt,y = inflow.mean))+ geom_line(size = 1)+ geom_ribbon(eb,alpha = 0.5)+ scale_y_continuous(breaks = lab,標籤=姓名) – mjburns 2012-07-20 11:29:36

回答

1

Jase_ - 我包裹着我的變量如你所說,並用我自己的包裹y軸的標籤:

lab <- log(c(0.01, 1.01, 5.01, 10.01, 20.01, 50.01)) 
names <- c(0,1,5,10,20,50) 
ggplot(data = inflow, aes(x = tt, y = inflow.mean)) + 
    geom_line(size = 1) + geom_ribbon(eb, alpha = 0.5) + 
    scale_y_continuous(breaks = lab, labels = names)