7

224900個の観測値と10個の変数を含むデータセットがあります。これらは、元のデータ値へのさまざまなテイラー級数逆変換の結果です。これらの10個の変数のそれぞれの密度プロットをオーバーレイして、データ推定値に対するテイラー級数の逆変換のロバスト性のレベルを示したいと思います。10本の線だけでなく、色を適用して、各密度プロットがグレースケールの10%を占めるようにするとよいと思いました。プロットの1つに関連するデータがある場合、10%の灰色になり、2つのプロットは20%で2倍暗くなり、すべての密度プロットが重なるところまでは100%になります。

melt以前は、2249000行の長さのデータフレームを取得していました。3つの列があり、1つ目は個人ID、2つ目はグループ化変数(variable)、3つ目は1日のkJ摂取量(value)の値です。

次のコードを使用して密度プロットをオーバーレイしましたggplot2が、グループに異なる色を使用しています。このコードを変更してグレースケールを取得するにはどうすればよいですか?10グループすべてに同じ色と色濃度を持たせたいです。プロットの目的は、グレースケールを使用して密度プロットのオーバーラップの量を視覚的に示すことです。

ggplot(Energy, aes(x=value, fill=variable)) + geom_density(alpha = 0.5)

10ではなく5つのグループを使用して、支援したい人のために試してみるいくつかのテストデータ:

variable <- c(rep("A",100), rep("B",100), rep("C",100), rep("D",100), rep("E",100))
value <- c(rnorm(100,5000,200), rnorm(100,5050,210), rnorm(100,5100,215), 
           rnorm(100,5150,220), rnorm(100,5200,225))
MyData <- cbind.data.frame(value, variable)
ggplot(MyData, aes(x=value, fill=variable)) + geom_density(alpha = 0.5)

答えは修正scale_colour_greyや修正に関連しているかもしれないと思いますscale_manualが、私はこれを自分で解決するのに十分な理解がありません。

4

1 に答える 1

9

これは、group美学を使用fillし、密度を次のような明るい灰色の色合いにすることで実行gray10できgray20ます。

ggplot(MyData, aes(x=value, group=variable)) + geom_density(alpha = 0.5, fill="gray20")

それはあなたに与えるでしょう:

密度プロット

あなたの場合gray10、ここにプロットされている5つのグループではなく、10のグループがあるので、おそらく必要です。

于 2012-10-17T22:46:25.910 に答える