ggplot2中的抖动图,1个变量的颜色,另一个变量的阴影颜色?

时间:2010-06-24 00:00:58

标签: r ggplot2

很多小时狂躁的谷歌搜索和翻阅ggplot2文档让我没有接近,我希望有人可能会朝着正确的方向推动我。

我在data.frame中有几千个主题的细胞计数数据,具有以下布局:

  • 每行1个主题。
  • 每个单元格类型1列(总共5列,每个单元格保留该单元格类型的百分比值,总计为100%)。
  • 2个额外的列,一个用于表示受试者属于哪个组(实验或控制),1用于表示他们属于哪个实验(1,2,3,4等)

我想生成ggplot2抖动图,沿Y轴的百分比,沿X轴的单元类型类别(总共5个),并根据其组(实验或控制)进一步着色数据点。如果我可以使用Group颜色的阴影中的不同实验对数据点进行进一步着色(即实验编号从浅到深定义渐变 - 那么将是很好的 - 所有实验-1点都是亮的 - 红色或蓝色基于他们属于哪个集团),但我不知道这是否可能。

对于初学者:我的数据是否已经正确布局以尝试创建此情节?我问的原因是我重新调试yfeel就像我在试图用当前布局中的data.frame绘制任何东西来对抗ggplot2(但是原生的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")

2 个答案:

答案 0 :(得分:1)

首先,您需要使用melt包中的reshape功能重塑数据。

我确信有人会更优雅地在渐变上着色点,但您可以通过创建一个颜色与组和/或实验匹配的新列来手动完成。 然后将该颜色美学映射到该列。

答案 1 :(得分:0)

  

如果我可以继续下去会很棒   为不同的数据点着色   本集团的阴影实验   颜色(即实验编号   定义从浅到深的渐变    - 所有实验-1点都很轻 - 基于红色或蓝色   他们属于哪个集团),但我   不知道这是否可能。

目前不对,抱歉。