0

皆さん、

グラフの「塗りつぶし」の色を指定する方法がわかりません (下記)。

「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

ここに画像の説明を入力

助けてくれてありがとう!

よろしく、アダム

4

0 に答える 0