2016-07-13 6 views
1

複数のデータポイント範囲が異なるように強調表示された棒グラフを作成したいとします。ここでのr - ggplot2 - highlighting selected points and strange behaviorの質問は、データセットの範囲をサブセット化して強調表示するのではなく、データポイントの複数の範囲をサブセット化し、異なる色の棒グラフを生成したいという点を除いて、私がやりたいことに近いです。ggplotの複数のデータポイントのサブセット化とハイライト表示

私はどのように示差複数のサブセットを強調表示するために上記のコードを変更することができ、赤のハイライトに(上記その質問から適合)このコード30

a <- 1:50 
b <- rnorm(50) 
mydata <- data.frame(a=a,b=b) 
mydata[10:30,] 
ggplot(mydata,aes(x=a,y=b)) + geom_point(colour="blue") + geom_point(data=mydata[10:30,], aes(x=a, y=b), colour="red") 

から10からデータのサブセットを使用している、と言います、1:9(緑)、10:30(赤)、40:50(シアン)もう一つの問題は、私はコードがエラーを返したバープロットを生成するためにggplotにgeom_bargeom_pointを変更することで、そのコードを変更する場合は、その事前にError: stat_count() must not be used with a y aesthetic.

おかげです。

答えて

1

データの異なるサブセットに異なる色が必要な場合、これらのサブセットは異なるグループを表していると思います。 ggplotでこれを処理する通常の方法は、グループ変数を作成することです。 ggplotでは、あなたのグループに色の美しさを簡単に設定できます。

library(ggplot2) 
a <- 1:50 
b <- rnorm(50) 
mydata <- data.frame(a=a, b=b) 
mydata$group  <- "a" 
mydata$group[1:9] <- "b" 
mydata$group[10:30] <- "c" 
mydata$group[40:50] <- "d" 

ggplot(mydata,aes(x=a,y=b, col = group)) + 
    geom_point() + 
    scale_color_manual(values=c("blue", "green", "red", "cyan"), guide = FALSE) 

enter image description here
あなたがバープロットをしたい場合は、次のようにSTAT = "アイデンティティ" を設定する必要があります。@Alexは、使用することができ、それをmentionnedとして

ggplot(mydata,aes(x=a,y=b, col = group, fill = group)) + 
    geom_bar(stat = "identity") + 
    scale_color_manual(values=c("blue", "green", "red", "cyan"), guide = FALSE) + 
    scale_fill_manual(values=c("blue", "green", "red", "cyan"), guide = FALSE) 

enter image description here

+0

おかげでアレックス、それは働きます! – barongo

3

group変数を使用して正しい色を選択します。

使用geom_bar(stat = "identity")geom_barためfillcolorを変更: enter image description here

a <- 1:50 
b <- rnorm(50) 
mydata <- data.frame(a=a,b=b) 
mydata$group  <- "a" 
mydata$group[1:9] <- "green" 
mydata$group[10:30] <- "red" 
mydata$group[40:50] <- "cyan" 

ggplot(mydata,aes(x=a,y=b, fill = group)) + 
geom_bar(stat = "identity") + 
scale_fill_manual(values=c("a" = "black", "green" = "green", "red" = "red", "cyan" = "cyan"), guide = FALSE) 
関連する問題