2015-07-23 3 views
1

Если у меня есть кадр данных, который выглядит следующим образом:Пользовательских цветов с geom_tile

Name Track Position Color 
1  A  0  1 #009ACD 
2  B  1  15 #50568B 
3  C  2  55 #8C7125 
4  A  0  44 #009ACD 
5  B  3  98 #50568B 
6  D  0  99 #77DF98 

Что бы правильный способ использовать geom_tile таким образом, чтобы каждый уровень окнеИМЯстолбец построен с трек в качестве й точка оси, позиция как точка оси y и цвет как фактический цвет плитки?

Это должно выглядеть примерно так:

enter image description here

ответ

1

Нам нужно установить col и fill аргумент в Color переменную, а затем использовать scale_color_identity и scale_fill_identity:

library(ggplot2) 

df1 <- read.table(text = "Name Track Position Color 
A 0 1 #009ACD 
B 1 15 #50568B 
C 0 55 #8C7125 
A 0 44 #009ACD 
B -1 98 #50568B 
D 0 99 #77DF98",header=TRUE,comment.char = "") 

ggplot(df1, aes(Track, Position, col = Color, fill = Color)) + 
    geom_tile() + 
    scale_color_identity() + 
    scale_fill_identity() + 
    #prettify 
    theme(panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(), 
     axis.ticks.y = element_blank(), 
     axis.text.y = element_blank(), 
     axis.title = element_blank()) 

enter image description here

Смежные вопросы