2

次のデータは、私のプロジェクト、時間枠、およびそれらのフェーズを示しています。以下に示すRggplot()コードを使用して、このデータを視覚化したいと思います。ただし、以下に示すように、データから月を推測しているときにエラーが発生します。月の名前をx軸のラベルとして使用したいと思います。さらに、長方形のボックスのほかにプロジェクトの名前を印刷する必要があります。これで私を助けてください。ありがとうございました。

> temp
  projects     starts       ends order     Phase
      A 2013-02-15 2013-03-15     1  Research
      A 2013-03-16 2013-04-15     1 Prototype
      B 2013-04-07 2013-04-30     2  Research
     B 2013-05-01 2013-08-30     2 Prototype
      C 2013-05-01 2013-07-30     3  Research
      D 2013-05-01 2013-07-30     4  Research


> a = ggplot(temp, aes(xmin = starts, xmax = ends, ymin = order, ymax = order+0.5)) + geom_rect(aes(fill=Phase), color="black") + theme_bw()
> b = a + geom_text(aes(x= starts + (ends-starts)/2 ,y=order+0.25, label=projects)) 
> b
Error in unit(x, default.units) : 'x' and 'units' must have length > 0
In addition: Warning messages:
1: In Ops.factor(ends, starts) : - not meaningful for factors
2: In Ops.factor(starts, (ends - starts)/2) : + not meaningful for factors
3: Removed 6 rows containing missing values (geom_text). 

Rのバージョンもご覧ください。

> version
               _                            
platform       i686-pc-linux-gnu            
arch           i686                         
os             linux-gnu                    
system         i686, linux-gnu              
status                                      
major          2                            
minor          15.2                         
year           2012                         
month          10                           
day            26                           
svn rev        61015                        
language       R                            
version.string R version 2.15.2 (2012-10-26)
4

1 に答える 1

4

変換startsendsてみてくださいDate

 temp$starts <- as.Date(temp$starts)
 temp$ends   <- as.Date(temp$ends)

それでも問題が解決しない場合は、それを使用dput(temp)して質問に貼り付けることをお勧めします。


OPのデータをコピーして貼り付け、日付に変換してから、OPのコードを使用する 上記のggplot2コードを使用する

于 2013-02-15T21:33:13.620 に答える