2

プロットしようとしているデータでは、各サンプルはいくつかのグループの 1 つに属し、独自のグリッドにプロットされます。各サンプルの id 属性であるシーケンスの数を増やして並べられる各サンプルの積み上げ棒グラフをプロットしています。

現在、プロット (いくつかのランダム データを含む) は次のようになっています: (画像に必要な 10 の担当者がいないため、ここにリンクしています) http://i.stack.imgur.com/A9hr2.png

達成しなければならないことがいくつかあります。そして、どこから始めればよいかわかりません。

  1. バーを対応する nseqs 値に配置するのではなく、nseqs の昇順で並べて配置したいと思います。
  2. 各グリッドの縮尺を同じにしたくありません。すべてがぴったりと収まる必要があります。

facet_grid の scales と size を 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]))
4

1 に答える 1

0

これを試して:

update.packages()
## I'm assuming your ggplot2 is out of date because you use opts()
## If the scales library is unavailable, you might need to update R

ggfdata <- melt(fdata, id.var=c('group','nseqs','sample'))
ggfdata$nseqs <- factor(ggfdata$nseqs)
## Making nseqs a factor will stop ggplot from treating it as a numeric,
## which sounds like what you want

p <- ggplot(ggfdata, aes(x=nseqs, y=value, fill = variable)) + 
    geom_bar(stat='identity') + 
    facet_wrap(~group, scales="free_x") + ## No need for facet_grid with only one variable
    labs(title = paste('Taxonomic Distribution - grouped by',colnames(meta.frame)[i]))
于 2013-07-30T22:55:53.880 に答える