2010-06-24 106 views
2

許多小時的狂躁搜索和通過ggplot2文檔翻閱讓我沒有更接近,我希望有人能夠推動我朝着正確的方向前進。ggplot2中的抖動圖,1個變量的顏色,另一個變量的陰影顏色?

我有幾千個科目中有以下佈局的data.frame細胞計數數據:每行

  • 1主題。
  • 每個單元格類型有1列(總共5個,每個單元格包含該單元格類型的百分比值,總計爲100%)。
  • 2額外的列,一個以指示什麼組(實驗或對照)的受試者屬於,1,以指示它們屬於(1,2,3,4等)是什麼實驗

我喜歡生成ggplot2抖動圖,沿Y軸的百分比,沿X軸的細胞類型類別(共5個),並根據其組(實驗組或對照組)對數據點進一步着色。如果我可以進一步對來自不同實驗的數據點進行顏色組化(例如,實驗號碼定義從淺色到深色的梯度 - 所有實驗1點都將很輕 - 紅色或藍色基於他們屬於哪個小組),但我不知道這是否可能。

對於初學者來說:我的數據是否已經正確鋪設,試圖創造這個陰謀?我要求的原因是我重新嘗試像我在與ggplot2競爭,試圖在data.frame的當前佈局中繪製任何東西(但是本機boxplot()似乎只需很少的修改就可以正常工作......)

任何幫助或推動正確的方向將不勝感激。


編輯:

這是dput(head(dat, 10))輸出。

structure(list(Neutrophils = c(38, 70.7, 62.1, 90.5, 65.8, 39.2, 
89.4, 91.3, 55.4, 14.5), Lymphocytes = c(47.5, 17.1, 20.3, 2, 
25, 37.1, 6.3, 1.6, 31.3, 61.5), Monocytes = c(12.4, 11.8, 14.6, 
4.8, 7.3, 14.1, 3.7, 4.6, 8.4, 21.9), Eosinophils = c(1.4, 0.1, 
2.5, 2.4, 1.4, 9.2, 0.1, 2.5, 4.6, 1.3), Basophils = c(0.8, 0.3, 
0.5, 0.3, 0.5, 0.4, 0.5, 0, 0.3, 0.8), Group = c(1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L)), .Names = c("Neutrophils", "Lymphocytes", 
"Monocytes", "Eosinophils", "Basophils", "Group"), row.names = c("B145", 
"B196", "B212", "B246", "B250", "B286", "B343", "B355", "B369", 
"B386"), class = "data.frame") 
+0

獲得幫助的好方法是提供示例數據。如果你的數據被命名爲dat,你可以發佈dput的結果(head(dat,20)) – 2010-06-24 01:28:28

回答

1

您首先需要使用melt功能在reshape包重塑你的數據。

我確定有人會用更優雅的方式爲漸變上的點着色,但您可以通過創建具有與組和/或實驗相匹配的顏色的新列來手動執行此操作。 然後將該顏色唯美圖映射到該列。

+0

哇,我真的很驚訝我得到了多麼接近。非常感謝。現在幾個小時,我幾乎完成了我一直試圖做的(不成功) - 即將數據框架重新組織爲一種格式,qplot會很滿意。 仍然需要弄清楚着色,但我現在認爲應該更容易,看到「融合」的佈局。 – cashoes 2010-06-24 00:59:41

+0

我想,着色也是可能的。 首先創建一組映射到您的實驗的顏色(例如,您有3個實驗)。 顏色= cbind(顏色= C( 「紅色」, 「藍色」, 「黃色」),實驗= 1:3) 然後合併該數據集 NEW_DATA =合併(數據,顏色,由=「實驗「) 您可以通過組合實驗來使前一步更加複雜。 現在在ggplot中,只需指定colors = color作爲審美的一部分。 例如:ggplot(數據,aes(x = cell,y = value,colors = colors)) – Maiasaura 2010-06-24 02:34:29

0

這將是巨大的,如果我能進一步 顏色從不同 實驗數據點在集團 顏色的深淺(即實驗編號排序 從光定義漸變到暗 - 所有實驗-1點會很輕 - 根據他們所屬的 ,紅色或藍色),但我不知道這是甚至可能的。

不是現在,很抱歉。

+0

啊,我遇到了最後一個障礙 - 我想我可以爲每個實驗創建1個繪圖並覆蓋它們,在連續劇情中使用兩組顏色的淺至深的陰影來達到類似的效果? – cashoes 2010-06-24 01:41:16

+0

爲什麼不使用形狀?或者您可以使用縮放顏色手冊創建自己的配色方案。 – hadley 2010-06-24 13:11:41

+2

如何使用alpha透明度?只需要適當縮放實驗編號(除以最大值應該沒問題) – James 2010-06-24 14:18:26