我試圖在ggplot2中創(chuàng)建的繪圖下方顯示一些有關(guān)數(shù)據(jù)的信息。我想使用繪圖的X軸坐標(biāo)來繪制N變量,但是Y坐標(biāo)需要距屏幕底部10%。實(shí)際上,所需的Y坐標(biāo)已作為y_pos變量存在于數(shù)據(jù)框中。我可以想到使用ggplot2的3種方法:1)在實(shí)際圖下方創(chuàng)建一個(gè)空?qǐng)D,使用相同的比例,然后使用geom_text在空白圖上繪制數(shù)據(jù)。這種方法雖然有效,但非常復(fù)雜。2)geom_text用于繪制數(shù)據(jù),但以某種方式將y坐標(biāo)用作屏幕的百分比(10%)。這將迫使數(shù)字顯示在繪圖下方。我不知道正確的語法。3)使用grid.text顯示文本。我可以輕松地將其設(shè)置為距離屏幕底部10%的位置,但是我無法確定如何設(shè)置X坐標(biāo)以匹配繪圖。我嘗試使用grconvert捕獲初始X位置,但無法使其正常工作。下面是帶有虛擬數(shù)據(jù)的基本圖: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顯示了對(duì)象的數(shù)量,但是它們?cè)趫D中顯示。它們迫使Y比例尺擴(kuò)展。我想在圖表下方顯示這些數(shù)字。 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顯示數(shù)字的另一種方法涉及在實(shí)際圖的下方創(chuàng)建一個(gè)虛擬圖這非常復(fù)雜,很難為不同的數(shù)據(jù)進(jìn)行修改。理想情況下,我希望能夠?qū)坐標(biāo)作為屏幕的百分比傳遞。
添加回答
舉報(bào)
0/150
提交
取消