2016-04-27 19 views
0

拉布勒特定點通過使用該代碼時使用GGPLOT2

t1 <- ggplot(mtcars, aes(x=as.factor(cyl),y=mpg)) 
t2 <- geom_boxplot(outlier.shape=NA) 
t3 <- geom_jitter(width=0.3, size=1.5, aes(color = disp)) 
t4 <- scale_colour_gradient(low="blue",high="red") 
t5 <- geom_text(aes(label=ifelse(mpg > 30,as.character(mpg),''))) 

t1 + t2 + t3 + t4 + t5 

我得到結合抖動點的箱線圖。然而,我也可以標出興趣點,標籤不是在特定點旁邊,而是在箱形圖的垂直中間。

Here is the figure

任何想法,我怎麼能放在旁邊的文字對應的點?

非常感謝你們!

順便說一下:你可以推薦我ggplot2初學者的課程或教程?

+0

本主題必須給你一些提示:http://stackoverflow.com/questions/6551147/adding-text-to-ggplot-geom-jitter-points-that-match-a -condition – bVa

+0

我有一個問題,你選擇的情節。考慮到x軸是唯一唯一值爲4,6和8的因子,應該如何讀取點的水平抖動?只是好奇!1 –

回答

0

事先抖動?

library(ggplot2) 
set.seed(1) 
t1 <- ggplot(transform(mtcars, xjit=jitter(as.numeric(as.factor(cyl)))), aes(x=as.factor(cyl),y=mpg)) 
t2 <- geom_boxplot(outlier.shape=NA) 
t3 <- geom_point(size=1.5, aes(x=xjit, color = disp)) 
t4 <- scale_colour_gradient(low="blue",high="red") 
t5 <- geom_text(aes(x=xjit, label=ifelse(mpg > 30,as.character(mpg),'')), vjust = 1) 

t1 + t2 + t3 + t4 + t5 

enter image description here

+0

謝謝你lukeA。由於我仍然認爲自己是R的初學者,所以我不得不問你所做的代碼的一些變化。您能否告訴我爲什麼您在t1行中使用了變換,以及對其餘代碼進行實際操作的變換是什麼?我也不明白xjit是什麼,以及t3 line color = disp中有什麼(什麼是disp)?對不起所有的問題... –

+0

當然。我使用'transform'來即時創建一個新的專欄'xjit',即僅用於繪圖,而不在R環境中的某處存儲另一個變量。 'xjit'是_jit_'tered _x_-value。 'color = disp'來自你的例子 - 它將'disp'列映射到顏色美學。 – lukeA