[英]R Plot - Multiple Variables, Numeric and Categorical, Layered
仍在學習R,並且一直在努力進行繪圖。 以下是我的數據的一部分,我將嘗試解釋繪圖的類型:
> head(bees.net.counts)
Month Block Treatment Flower Bee_Richness Bee_Abundance
1 May 1 UB POSI 1 1
2 May 2 DS ERST 4 38
3 May 2 UB RUBU 2 2
4 May 3 DS ERST 3 4
5 May 3 DS TROH 1 10
6 May 3 GS ERST 1 1
我想繪制一個圖,其中Flower在x軸上(有54種不同),Bee_Richness或Bee_Abundance在y軸上,塊的不同顏色符號(n = 4)以及每個陰影中的陰影量治療符號(n = 3)(即,方框1治療UB是未填充的紅色圓圈,方框1治療DS是帶有半陰影紅色的圓圈,方框1治療GS是完全陰影的紅色)。
我的問題是,繪制每條線而不是將每個點都放在特定的花spp上方(有多行具有CHFA,但這些行代表不同的塊和處理)。
我也按月嘗試過,我將四個月分開制作了不同的圖形(以限制x軸的長度)。 五月有10個記錄,有4種不同的花。 我仍然不知道這樣做的方法。
謝謝您的幫助!!
編輯:這是我希望得到的= 情節的想法
這使用@db解決方案的思想,但改進了軸標簽。
plot(x = as.numeric(as.factor(df$Flower)), df$Bee_Richness,
pch = as.numeric(as.factor(df$Block)),
col = as.numeric(as.factor(df$Treatment)),
xaxt="n", xlab="Flower", ylab="Richness")
axis(1, at=1:length(levels(df$Flower)),
labels=levels(df$Flower))
一些補充說明
根據您的要求,角色基於方塊。 顏色基於處理。 讓我們看一下顏色/處理。 訣竅在於,當您將“治療”作為一個因子時,每個值在內部都表示為整數,因此您可以在該因子上使用as.numeric,並將DS轉換為1,將GS轉換為2,將UB轉換為3。
col = as.numeric(as.factor(df$Treatment))
賦予DS顏色1,依此類推。 R使用數字1-8作為一些易於訪問的顏色。 由於您只需要3個,因此可以正常工作。 同樣的,
pch = as.numeric(as.factor(df$Block))
為小型測試數據中的三個Block值選擇字符1到3。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.