[英]ggplot2 add manual bar to existing plot
我正在嘗試向現有區域(功能區)圖添加單個手動欄。 理想情況下,我只想為條形圖指定x(位置)和y(值)。
ExampleData <- data.frame(myID=c(1,2,3,4,5,6,7,8,9,10),PU=c(10,20,30,40,50,60,70,80,90,100))
MyPlot <- ggplot(ExampleData,aes(x=myID))
MyPlot <- MyPlot + geom_ribbon(aes(ymin=0, ymax=PU), fill="lightgray", color="darkgray", size=1)
MyPlot <- MyPlot + geom_col(aes(x=4,y=40), color="red", linetype="solid", size=1)
MyPlot
它幾乎可以正常工作,但是由於某種原因40的值變成了400,理想情況下,我應該能夠指定條的寬度(應該是下面看到的一半)。
感謝您的任何幫助!
也許更像這樣?
ExampleData <- data.frame(myID=c(1,2,3,4,5,6,7,8,9,10),
PU=c(10,20,30,40,50,60,70,80,90,100))
bar <- data.frame(xmin = 4,xmax= 4.5,ymin = 0,ymax = 40)
ggplot() +
geom_ribbon(data = ExampleData,
aes(x = myID,ymin=0, ymax=PU),
fill="lightgray",
color="darkgray", size=1) +
geom_rect(data = bar,
aes(xmin = xmin,xmax = xmax,ymin = ymin,ymax = ymax),
color = "red")
您提到的40 vs 400問題是在頂級ggplot()
級別指定數據幀,然后嘗試添加旨在“設置”而不是“映射”所有美觀的圖層時發生的。 發生這種情況的最常見情況是,當人們添加文本標簽時,您最終會在每個文本標簽上繪制很多副本。
在這種情況下,ggplot嘗試在ExampleData
的上下文中解釋您給geom_col
的x和y值,因此最終將這些單個值重復10次並堆疊結果條形圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.