亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在ggplot2生成的繪圖下方顯示文本

在ggplot2生成的繪圖下方顯示文本

紅顏莎娜 2019-10-30 12:57:35
我試圖在ggplot2中創建的繪圖下方顯示一些有關數據的信息。我想使用繪圖的X軸坐標來繪制N變量,但是Y坐標需要距屏幕底部10%。實際上,所需的Y坐標已作為y_pos變量存在于數據框中。我可以想到使用ggplot2的3種方法:1)在實際圖下方創建一個空圖,使用相同的比例,然后使用geom_text在空白圖上繪制數據。這種方法雖然有效,但非常復雜。2)geom_text用于繪制數據,但以某種方式將y坐標用作屏幕的百分比(10%)。這將迫使數字顯示在繪圖下方。我不知道正確的語法。3)使用grid.text顯示文本。我可以輕松地將其設置為距離屏幕底部10%的位置,但是我無法確定如何設置X坐標以匹配繪圖。我嘗試使用grconvert捕獲初始X位置,但無法使其正常工作。下面是帶有虛擬數據的基本圖:graphics.off()      # close graphics windows   library(car)library(ggplot2)  #load ggplotlibrary(gridExtra) #load Gridlibrary(RGraphics) # support of the "R graphics" book, on CRAN#create dummy datatest= data.frame(  Group = c("A", "B", "A","B", "A", "B"),   x = c(1 ,1,2,2,3,3 ),  y = c(33,25,27,36,43,25),  n=c(71,55,65,58,65,58),  y_pos=c(9,6,9,6,9,6)  )#create ggplotp1 <- qplot(x, y, data=test, colour=Group) +  ylab("Mean change from baseline") +   geom_line()+  scale_x_continuous("Weeks", breaks=seq(-1,3, by = 1) ) +  opts(         legend.position=c(.1,0.9))#display plotp1下面的修改后的gplot顯示了對象的數量,但是它們在圖中顯示。它們迫使Y比例尺擴展。我想在圖表下方顯示這些數字。    p1 <- qplot(x, y, data=test, colour=Group) +  ylab("Mean change from baseline") +   geom_line()+  scale_x_continuous("Weeks", breaks=seq(-1,3, by = 1) ) +  opts( plot.margin = unit(c(0,2,2,1), "lines"),        legend.position=c(.1,0.9))+  geom_text(data = test,aes(x=x,y=y_pos,label=n))p1顯示數字的另一種方法涉及在實際圖的下方創建一個虛擬圖這非常復雜,很難為不同的數據進行修改。理想情況下,我希望能夠將Y坐標作為屏幕的百分比傳遞。
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 1529 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號