2012-02-18 1 views
0

私はこのスタイルをプロットしたいと思っています - hereの比率で縮尺されたグラフ。 Rのための準備ができているプロットはありますか?R akaスタイルドリフトプロットのプロポーショナルエリアプロット?

私は、行列に年間公称値があるとします。 matplot(..)では、すべての公称値を簡単にプロットできます。値を集計した合計で割った場合、私はスケーリングされませんでしたが、混乱してしまいました。その場合、調整する必要があります。レポートのような割り振り分析を直接行うパッケージのようなものがありますか?

が時刻X1である次のデータの領域プロットが必要です。X2はステップ2 - です。今では約60の壺があります。それに比例した領域プロットを作成するにはどうすればよいですか?

> head(b) 
     X0  X1  X2  X3  X4  X5  X6 
1 2803.30 2698.05 2428.24 2000.00 3917.54 4575.02 2656.00 
2 227.46 220.68 200.00 30.00 220.43 30.00 30.00 
3 855.33 824.54 700.00 30.00 242.52 1190.70 1906.01 
4 2777.37 2764.57 1265.66 3326.28 4094.00 7049.84 10726.76 
5 60.50 59.60  1.00 30.00 30.00 30.00 82.67 
6 14548.16 14548.16 14664.79 19855.44 24674.03 23414.45 14973.54 

> dput(head(b)) 

structure(list(X0 = c(2803.3, 227.46, 855.33, 2777.37, 60.5, 
14548.16), X1 = c(2698.05, 220.68, 824.54, 2764.57, 59.6, 14548.16 
), X2 = c(2428.24, 200, 700, 1265.66, 1, 14664.79), X3 = c(2000, 
30, 30, 3326.28, 30, 19855.44), X4 = c(3917.54, 220.43, 242.52, 
4094, 30, 24674.03), X5 = c(4575.02, 30, 1190.7, 7049.84, 30, 
23414.45), X6 = c(2656, 30, 1906.01, 10726.76, 82.67, 14973.54 
)), .Names = c("X0", "X1", "X2", "X3", "X4", "X5", "X6"), row.names = c(NA, 
6L), class = "data.frame") 

関連質問

  1. Making a stacked area plot using ggplot2
  2. Getting a stacked area plot in R
+2

なぜ金融チャートので派手:この場合は、パッケージVCDでZeileisによる条件密度プロットがぴったりかもしれかのように見えますか?ミニマル(Appleは例外ではないと思う)、Tufteの仕事は金融部門によって無視されたようだ。そのウェブページはマッチョグラフィックスでいっぱいです。ファイナンスにもっと女性がいたら.... – Spacedman

+0

それは面積プロットです。 – hadley

答えて

1

あなたが行列を持っていた場合は、最初の列にcumsumを適用し、に適用sumで結果を分割することができ列。最終結果はmatplotに返すことができます。私はsweepを使って変換全体を1ステップで行うことができると思っていますが、特にその機能は容易ではありません。

これは(私はもともとの列で、これを持っていたが、あなたのデータが異なって、私は予想以上に配置されていた)matplotソリューションのようになります。

matplot(t(apply(b, 1, function(x) cumsum(x)/sum(x))),type="l") 

あなたはRグラフィックスライブラリに行けば、あなたが頻繁に行うのプロットを見つけることができますあなたの特定の欲望。

http://addictedtor.free.fr/graphiques/RGraphGallery.php?graph=120

+0

'colSums(b [1:7、]/colSums(b [1:7、]))' ...なぜこれは '1 1 1 1 ...'を返さないのですか?この和(b [1:7、] [1] /22772.12)を刺激することは期待どおりになります。 colSumsで分けることに何か問題があります... – hhh

+0

私は 'cumsum'を' sum'と使用すると言っていました。さもなければ私はあなたが正しく働くために比率を得る方法を見ません。 –

関連する問題