3

単純な散布図を作成しggplot2、z 変数を色で視覚化します。

 require(ggplot2)

 data = data.frame(x=runif(1000), y=runif(1000), vis=rf(1000, df1=1, df2=3))
 qplot(x=x, y=y, data=data, color=vis)

ただし、分布が大きく歪んでいるため、これはもちろんあまり有益ではありません。

 hist(data$vis)

問題は、私の意見では、サンプルに含まれていないデータのビンを作成する等間隔のブレークです。

ここに私の質問があります。この問題を克服し、より多くのデータが利用可能な場所でより多くのブレークを作成する効率的な方法はありますか? 言い換えれば、非線形ブレークまたは非等距離ブレーキを探しています。

4

1 に答える 1

3

編集:おそらくあなたが望むものにもっと似たもの:

breaks <- quantile(data$vis)
qplot(x=x, y=y, data = data, color = vis) + 
     scale_colour_gradientn(breaks = as.vector(breaks), colours = 
     c("grey", "blue", "red"), values = as.vector(breaks), 
     oob = identity, rescaler = function(x,...) x, labels = names(breaks))

ここに画像の説明を入力

古い答え:この場合、休憩は本当に必要なものではありません

qplot(x=x, y=y, data=data, color=vis) + scale_colour_gradient(breaks = 1:10 * 10)

ここに画像の説明を入力

持っているデータ量を考えると

quantile(data$vis, seq(0, 1, 0.1))
          0%          10%          20%          30%          40% 
9.294095e-07 1.883887e-02 8.059213e-02 1.646752e-01 3.580304e-01 
         50%          60%          70%          80%          90% 
6.055612e-01 9.463869e-01 1.638687e+00 2.686160e+00 5.308239e+00 
        100% 
1.693077e+02 

おそらく次のようなもの

qplot(x=x, y=y, data=data, color=vis) + scale_colour_gradient(limits = c(0,5))

ここに画像の説明を入力

ここでポイント> 5は灰色です。あなたが最初に望んでいたかもしれないより複雑な解決策は、これでしょう。

于 2012-08-26T17:40:54.357 に答える