2017-02-25 84 views
-2

是否有一種簡單的方法可以用基R來做分類散點圖?帶有基R的分類散點圖

我想在X軸標籤爲低於3個標籤。謝謝!

SW-SE  North-SW North-SE 
0.0322791 0.0466558 0.05533 
0.0300673 0.0503937 0.0590444 
0.0302151 0.0562131 0.0612469 
0.0242698 0.068037 0.0756064 
0.0315696 0.0440456 0.0449465 
0.0273471 0.0485332 0.048216 
0.0249796 0.055911 0.0529762 
0.0219699 0.0663013 0.0651523 
0.0173046 0.0467941 0.049092 
0.0224143 0.0507807 0.0526732 
0.0245645 0.0554949 0.0567835 
0.020624 0.0691155 0.0705431 
0.0208465 0.0340491 0.0525786 
0.0160655 0.0382029 0.0561054 
0.0236193 0.0441057 0.0597504 
0.0280541 0.0561134 0.0741485 
0.0242048 0.0420126 
0.0243629 0.0459014 
0.0192736 0.0476303 
0.0268329 0.0620177 
+0

歡迎使用stackoverflow。不幸的是,你所問的不是很清楚。請考慮閱讀http://stackoverflow.com/questions/how-to-ask和http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – lbusett

+0

使兩列,一個用於類別,一個用於數量,以及製造和對象:pairwise = fst $ site_pair Fst = fst $ fst ##然後這個: p < - ggplot(fst,aes(factor ),FST)) p + geom_boxplot()+ geom_jitter()+ theme_bw()+ scale_y_continuous(場所= C(0,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08))+實驗室(X = 「橫斷面」,y =表達式(F [ST]))+主題(panel.grid.major = element_blank(),panel.grid.minor = element_blank(), panel.background = element_blank(),axis.line = element_line(color =「black」)) –

回答

0

我認爲你是在尋找像抖動散點圖那樣的東西。我個人只喜歡這些與他們所以這裏背後的箱線圖,它是:

df = read.table(text = 
    "SW-SE  North-SW North-SE 
    0.0322791 0.0466558 0.05533 
    0.0300673 0.0503937 0.0590444 
    0.0302151 0.0562131 0.0612469 
    0.0242698 0.068037 0.0756064 
    0.0315696 0.0440456 0.0449465 
    0.0273471 0.0485332 0.048216 
    0.0249796 0.055911 0.0529762 
    0.0219699 0.0663013 0.0651523 
    0.0173046 0.0467941 0.049092 
    0.0224143 0.0507807 0.0526732 
    0.0245645 0.0554949 0.0567835 
    0.020624 0.0691155 0.0705431 
    0.0208465 0.0340491 0.0525786 
    0.0160655 0.0382029 0.0561054 
    0.0236193 0.0441057 0.0597504 
    0.0280541 0.0561134 0.0741485 
    0.0242048 0.0420126 NA 
    0.0243629 0.0459014 NA 
    0.0192736 0.0476303 NA 
    0.0268329 0.0620177 NA", 
    header = TRUE 
) 

jitter = 0.1 
boxplot(df, at = c(1, 2, 3)) 
points(runif(20)*jitter - jitter/2 + 1, df$SW.SE) 
points(runif(20)*jitter - jitter/2 + 2, df$North.SW) 
points(runif(20)*jitter - jitter/2 + 3, df$North.SE) 

有效boxplot完成所有設置,可以控制與at參數,它也可以很容易地與後來的排隊抖動分散的位置points這就像plot,但它增加了現有的數字。

jittered boxplot

原因抖動重要的是,這樣如果您有多個(近)相同的y值它們被輕微抖動分離,可以更容易區分它們。

我更喜歡抖動背後的箱線圖是這樣我就可以更容易地看到分佈比精神上尋找中位數和四分位數的原因。

+0

如果我想添加三列,North,SW和SE,該怎麼辦?箱線圖(DF,在= C(1,2,3,4,5,6)) 點(runif(20)*抖動 - 抖動/ 2 + 1,DF $ SE) 點(runif(20)*抖動 - 抖動/ 2 + 2,DF $ SW) 點(runif(20)*抖動 - 抖動/ 2 + 3,DF $北) 點(runif(20)*抖動 - 抖動/ 2 + 4,DF $'北SW') 點(runif(20)*抖動 - 抖動/ 2 + 5,DF $'北SE') 點(runif(20)*抖動 - 抖動/ 2 + 6,DF $'SW- SE')給我這個:xy.coords(x,y)中的錯誤:'x'和'y'長度不同 –

+0

我不知道你的新'df'看起來像什麼,但應該提供'df $ SW '和其他人一樣長。我硬編碼'點(runif(20)...',但它應該是'points(runif(nrow(df))...'。你看到的錯誤看起來像點()'接收兩個參數不同的長度。 – vincentmajor