[英]Error bars are rendered incorrectly when ymax exceeds Y axis scale
我想通過使用scale_y_continuous
limits
來“裁剪”我的Y軸:
df1 <- data.frame(xx=c('a','b','c'),
yy=c(7, 10, 8),
se=c(2, 4, 2))
p <- ggplot(data=df1, mapping = aes(x=xx, y=yy)) +
geom_bar(data = df1, position=position_dodge(), stat="identity") +
geom_errorbar(aes(ymin=yy-se, ymax=yy+se), width=0.1, position=position_dodge())
p # left plot
p + scale_y_continuous(limits=c(0,11)) # middle plot
# Warning message:
# Removed 4 rows containing missing values (geom_path).
在這種情況下,一個誤差線超出了Y軸的上限,我希望僅對其進行裁剪(如右側的圖),但實際上誤差線的垂直線根本沒有渲染(請參見中間)。 除了手動繪制誤差線以外,還有什么方法可以克服此問題?
我相信
library("scales")
p + scale_y_continuous(limits=c(0,11),oob=squish)
會做(未經測試); “ oob”代表“越界”
更標准的答案是使用
coord_cartesian(ylim=c(0,11))
但這也會改變刻度間隔等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.