1

データのグラフを作成する次のコードがあります。

library(ggplot2)
library(reshape)

sdata <- read.csv("http://dl.dropbox.com/u/58164604/sdata.csv", stringsAsFactors = FALSE)
pdata<-melt(sdata, id.vars="Var")
p<-ggplot(pdata, aes(Var,value,col=variable))
p+geom_point(aes(shape = variable),alpha=0.7)

これにより、「Var」が x 軸で「value」が y 軸のグラフが作成されます。私がやりたいのは、ポイントの色付け方法を変更することです。変数名ではなく、「Var」値で示したいと思います。したがって、Var 値が 1 から 10 の間のすべてのポイントを 1 つの色に、11 から 20 を別の色に、21 から 30、31 から 35、36 から 41 のようにします。また、各 Var 値の最高値から最低値まで伸びるこれらのポイントの背後にあるリボン/領域がシェーディングされることも望んでいますが、このリボンはポイントと同じ色である必要があり、透明度が低くなります。レベル。

おまけの質問として、私の例から「平均」変数をgeom_pointではなくgeom_lineとして表示するのにも問題があります。私はこれで遊んでいます:

 p+geom_point()+geom_line(data=pdata[which(pdata$variable=="Mean")])

しかし、私はそれを機能させることができません。誰かがこれを手伝うことができれば、それは素晴らしいことです。ありがとう。

4

2 に答える 2

1

cutoptionsを使用してlabels=F、色付け用の新しい変数を追加します。

pdata <- transform(pdata,varc =cut(pdata$Var,10,labels=F))
p<-ggplot(subset(pdata,variable!='Mean'), aes(Var,value,col=varc))
p+geom_point(aes(shape = variable),alpha=0.7)+
 geom_line(data=subset(pdata,variable =='Mean'),size=2)

編集:リボン部分

リボンの部分はわかりませんが(上限と下限の値をもっと説明できれば)、ここでは単純に geom-polygon を使用できると思います

last_plot()+ geom_polygon(aes(fill=varc, group=variable),alpha=0.3,linetype=3) 

ここに画像の説明を入力

于 2013-01-17T19:36:36.620 に答える
0

最初の質問に関しては、このcut関数を使用して連続データをカテゴリに分類できます。例えば:

with(mtcars, cut(mpg, seq(min(mpg), max(mpg), length = 5))

これにより、列の連続値がmpg5つのクラスに分割されます。

于 2013-01-17T19:14:47.050 に答える