2
在我试图绘制的数据中,每个样本属于几个组中的一个,它们将绘制在它们自己的网格上。我正在绘制每个样本的堆积条形图,这些样本将按照越来越多的序列进行排序,这是每个样本的id属性。ggplot2堆叠的条形图,格式和网格
目前,小区(有一些随机数据)看起来是这样的: (因为我没有要求的10代表图片,我在这里将它链接)
有几件事情我需要完成。我不知道从哪里开始。
- 我希望酒吧不要放在其相应的nseqs值,而是按照升序nseqs顺序相邻放置。
- 我不希望每个网格具有相同的比例。一切都需要贴身贴合。
我试图设置尺寸和大小为facet_grid free_x,但这会导致一个未使用的参数错误。我认为这与我无法正确加载秤库的事实有关(它一直说不可用)。与绘图交易
代码:
ggfdata <- melt(fdata, id.var=c('group','nseqs','sample'))
p <- ggplot(ggfdata, aes(x=nseqs, y=value, fill = variable)) +
geom_bar(stat='identity') +
facet_grid(~group) +
scale_y_continuous() +
opts(title=paste('Taxonomic Distribution - grouped by',colnames(meta.frame)[i]))
这个工作很完美!我正在运行R的旧版本。将nseqs列更改为一个因子正是我所需要的。 现在情节看起来好多了。 链接:http://i.imgur.com/PilFunl.png 谢谢! – Nik
但仍然有问题。当存在具有相同nseqs的样本时,它们会合并并堆叠在一起。有没有办法避免这种情况? – Nik
@Nik想到的两件事情是1.切换回'facet_grid'并使用'facet_grid(sample〜group)',如果你通常有多个样本(确保'sample'是一个因素! )或2.使用(ggfdata,paste0(nseqs,“。”,“sample”))'创建一个新列ggfdata $ nseqs.sample < - 并使用该列而不是'nseqs'。 – Gregor