如果我有一个如下所示的数据框:
return
使用geom_tile的正确方法是什么,以便将“列”作为x轴点,“位置”作为y轴点,“颜色”作为图块的实际颜色,绘制“名称”列的每个级别?
看起来应该是这样的:
答案 0 :(得分: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())