2017-04-10 186 views
0

這裏是我的數據GGPLOT2 y軸極限改變情節

https://www.dropbox.com/s/mveo3csln8mafx8/test.csv?dl=0

我使用ggplot繪製fitmean.ncx

ggplot() + 
geom_line(data=test,aes(y = (fit-mean.nc)/mean.nc*100, x=x)) + 
geom_ribbon(data=test,aes(x= x, ymin= (se.lw - mean.nc)/mean.nc *100, 
         ymax= (se.up - mean.nc)/mean.nc*100),alpha=0.2) 

enter image description here

百分比我wanto到增加y軸的範圍,所以我使用添加了一個額外的參數

ggplot() + 
    geom_line(data=test,aes(y = (fit-mean.nc)/mean.nc*100, x=x)) + 
    geom_ribbon(data=test,aes(x= x, ymin= (se.lw - mean.nc)/mean.nc *100, 
        ymax= (se.up - mean.nc)/mean.nc*100),alpha=0.2) + 
    ylim(-70,70) 

enter image description here

正如你所看到的,我行超出了實際數據。我不知道爲什麼會發生這種情況,因爲ylim應該 只改變我的y軸,並對我的實際圖形沒有任何影響。任何人都可以告訴我我在這裏做錯了什麼。

+0

?你在我看來減少了你的範圍。爲什麼它超出了你的實際數據?由於你的y範圍有限,色帶被切斷。 – Axeman

+0

謝謝。我試圖增加我的範圍,現在它工作。我想這個問題對社區沒有用,所以我會刪除它。 – user53020

回答

2

ylimxlim確實確實是數據的子集。 你所尋找的可能是內部coord_cartesian

ggplot() + 
geom_line(data=test, aes(y = (fit-mean.nc)/mean.nc*100, x = x)) + 
geom_ribbon(data=test, aes(x = x, ymin= (se.lw - mean.nc)/mean.nc * 100, 
         ymax = (se.up - mean.nc)/mean.nc * 100), alpha = 0.2) + 
coord_cartesian(ylim = c(-70, 70))