皆さん、
グラフの「塗りつぶし」の色を指定する方法がわかりません (下記)。
「fill」変数を指定すると、データのサブセットごとにレベルが異なります。たとえば、1 つのサブセットには 2 つのレベルがあり、他の 2 つのサブセットには 3 つのレベルがあります。変数を使用してグラフの色を「塗りつぶす」ようにプロットに指示すると、グラフ間で異なる色が表示されます。「塗りつぶし」変数レベルで使用する色を指定しようとしましたが、うまくいきませんでした。私は scale_colour_manual() の複数の再配置と、SO の周りで見つけた他のいくつかのものを使用してみましたが、それを理解することができませんでした。
私の色を指定しようとするとき、誰かが私が間違っているところを指摘してもらえますか. 以下は、私が使用しているコードと私の問題のイメージです。
# Code to post on Stack overflow to see where I am going wrong with scale_colour_manual()
data <- data.frame('id' = c('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c'),
'treatment' = c('1', '1', '1','1', '1', '1','1', '1', '1', '2', '2', '2','2', '2', '2','2', '2', '2', '3', '3', '3', '3', '3', '3', '3', '3', '3'),
'loci' = c('1', '1', '1', '2', '2', '2', '3', '3', '3', '1', '1', '1', '2', '2', '2', '3', '3', '3', '1', '1', '1', '2', '2', '2', '3', '3', '3'),
'assign' = c('0', '0', '0', '1', '2', '1', '1', '1', '1', '0', '0', '0', '1', '2', '1', '1', '1', '2', '0', '0', '0', '1', '2', '2', '1', '1', '1'))
a <- data[which(data$id == 'a'),]
b <- data[which(data$id == 'b'),]
c <- data[which(data$id == 'c'),]
aheat <- ggplot(a, aes(as.factor(loci), as.factor(treatment), fill = factor(assign))) +
geom_tile(colour = 'white') +
scale_x_discrete(expand = c(0,0)) +
scale_y_discrete(expand = c(0,0)) +
xlab("Number of Loci") +
ylab("Treatment") +
ggtitle("A Plot") +
theme(axis.ticks = element_blank(), axis.text.x = element_text(angle = 320, size = 6, vjust = 0.5), axis.text.y = element_text(size = 8)) +
scale_colour_manual(breaks = a$assign, values = c('0' = 'blue', '1' = 'green'))
aheat
bheat <- ggplot(b, aes(as.factor(loci), as.factor(treatment), fill = factor(assign))) +
geom_tile(colour = 'white') +
scale_x_discrete(expand = c(0,0)) +
scale_y_discrete(expand = c(0,0)) +
xlab("Number of Loci") +
ylab("Treatment") +
ggtitle("B Plot") +
theme(axis.ticks = element_blank(), axis.text.x = element_text(angle = 320, size = 6, vjust = 0.5), axis.text.y = element_text(size = 8)) +
scale_colour_manual(breaks = b$assign, values = c('0' = 'blue', '1' = 'green', '2' = 'red'))
bheat
cheat <- ggplot(c, aes(as.factor(loci), as.factor(treatment), fill = factor(assign))) +
geom_tile(colour = 'white') +
scale_x_discrete(expand = c(0,0)) +
scale_y_discrete(expand = c(0,0)) +
xlab("Number of Loci") +
ylab("Treatment") +
ggtitle("C Plot") +
theme(axis.ticks = element_blank(), axis.text.x = element_text(angle = 320, size = 6, vjust = 0.5), axis.text.y = element_text(size = 8)) +
scale_colour_manual(breaks = c$assign, values = c('0' = 'blue', '1' = 'green', '2' = 'red'))
cheat
助けてくれてありがとう!
よろしく、アダム