簡體   English   中英

當ymax超過Y軸比例時,錯誤條顯示不正確

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM