簡體   English   中英

ggplot2將手動欄添加到現有圖

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

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