2016-08-17 293 views
0

我已將日誌轉換爲我的數據,並計劃將其作爲ggplot2中的條形圖進行繪製。數據如下所示:在ggplot2中更改X軸與Y軸交叉的位置

Log Transformed data

我想工作,如何改變其中X軸是在-4沿y軸定位......我可以在Excel中做到這一點,不過,我想喜歡在ggplot2中做到這一點。這些圖表如下所示:

X axis at -4 intercept

有誰知道如何做到這一點?

+1

哪裏是重複的例子?你的'ggplot'代碼在哪裏? [請參閱這裏瞭解如何在數據共享和製作良好的重現示例](http://stackoverflow.com/q/5963269/903061) – Gregor

+0

ggplot實際上不適應這種類型的軸定位。一種解決方案可能是將「geom_hline(yintercept = 0)」添加到您的圖中。 – jdobres

+0

這兩個圖表不相等。您已修改底部圖表中的數據。 – hrbrmstr

回答

0

您在示例中修改了圖表之間的數據。雖然geom_bar(),或者它新的表妹geom_col()要求y爲0(這是理所當然的,你真的不應該做你在做什麼反正),你可以用geom_segment()類似的事情:

library(ggplot2) # devtools::install_github("hadley/ggplot2") 

# your original data 
df <- data.frame(x=1:4, y=c(6, 4, -2, -3)) 
gg <- ggplot(df, aes(x, y)) 
gg <- gg + geom_col(width=0.5) 
gg <- gg + theme_bw() 
gg 

# your modified data 
df <- data.frame(x=1:4, y=c(10, 8, 2, 1)) 
gg <- ggplot(df, aes(x=x, xend=x, y=-4, yend=y-4)) 
gg <- gg + geom_segment(size=10) 
gg <- gg + theme_bw() 
gg